はじめに
みんなスプラってますか?スプラ2のAPIだったり面白い記事ないかなと色々と探していたらこんな記事を見つけました。
【スプラトゥーン2】イカリング2の戦績データをPCブラウザで無理矢理閲覧する
(今回記事を書くにあたって、やり方や方法など色々と参考にさせていただきました。ありがとうございます。)
といってもmitmproxyなにそれ状態の初心者だったので上記の記事を参考に、勉強がてらPCブラウザで開くまでの手順を記載していきたいと思います。
やること、流れはこんな感じ
[1.pip
をインストール](# 1.pipをインストール)
[2.mitmproxy
をインストール](# 2.mitmproxyをインストール)
[3.端末の設定(iOS)](# 3.端末の設定(iOS))
[4.証明書をインストール](# 4.証明書をインストール)
[5.セッションを書き換えて、PCブラウザ上でイカリング2を見る](# 5.セッションを書き換えて、PCブラウザ上でイカリング2を見る)
mitproxyとはクライアントとサーバー間の通信内容を表示できたりするプロキシツールだそうで、端末の通信内容からセッションのキーを取得したあと、PCブラウザ上のセッションを書き換えてイカリング2を見れるようにする。と、流れはこんな感じです。1からやってみましょう。
1.pipをインストール
$sudo easy_install pip
2.mitmproxyをインストール
$pip install mitmproxy
もしsixのエラーが出てしまった場合は下記コマンドを試してみて下さい
既にsixがインストールされてることが原因なようです
$pip install mitmproxy --upgrade --ignore-installed six
3.端末の設定(iOS)
- PCのIPを調べる
- PCとiPhoneを同じネットワークに接続
- iPhoneの「設定」 → 「Wi-Fi」 →「いま接続しているネットワークの設定を開く(iボタン)
- HTTPプロキシの設定を下記のように設定
メニュー | 設定方法 |
---|---|
サーバー | 先ほど調べたIP |
ポート | 8080 |
認証 | OFF |
4.証明書をインストール
- mitmproxyを起動
$ mitmproxy -p 8080
- iOS端末から http://mitm.it にアクセス
- 🍎マークを押して証明書をインストール
5.セッションを書き換えて、PCブラウザ上でイカリング2を見る
- NintendoSwitchOnlineのsplatoon2メニューを開く
- mitmproxy上に
GET https://app.splatoon2.nintendo.net/...
というリクエストが表示されるので選択して詳細を表示 - 詳細の中に、
Cookie: iksm_session=....
というキーがあるのでこの値を控える - EditThisCookieをインストール
- https://app.splatoon2.nintendo.net/home にアクセス
- インストールしたEditThisCookieを開き、iksm_sessionに先ほど控えた値に書き換えればブラウザで開くことができます
NintendoSwitchOnlineが起動しない場合(iOS)
コメントにてNintendoSwitchOnlineが起動しない場合があることを教えていただきました
https://github.com/frozenpandaman/splatnet2statink/issues/39
解決方法としては、設定 > 一般 > 情報 > 証明書信頼設定を開き、mitmproxyの設定をONにしてください
おわりに
久々に知らないことを色々と覚えて楽しかったです。他にも色々と捗りそうです。
疑問点やあやしい点があればFBいただけると幸いです。すてきなイカライフを(ノ 'ω')ノ
参考文献
- [【スプラトゥーン2】イカリング2の戦績データをPCブラウザで無理矢理閲覧する]
(http://s2terminal.hatenablog.com/entry/2017/07/23/203831) - iOS実機のSSL通信をプロキシによって傍受したり改ざんする方法
- pip installでエラー