iPhoneアプリの通信先IPアドレスを調べる方法メモ

iPhoneの通信先IPアドレスが知りたくて、いろいろインストールしてパケットキャプチャできる環境を整えたので紹介します。ところどころつまづいたところは、フォローしてあります。

きっかけと目的

今回はiLoveMusicというアプリの通信先を調べるために導入しました→無料音楽アプリiLoveMusicの調査結果

準備

まず、次の3つをインストールします。

  • Xcodeをインストール(Xcode 5.1.1)
  • XQuartzをインストール(XQuartz-2.7.5.dmg)
  • WireSharkをインストール(Wireshark 1.10.7 Intel 64.dmg)

インストール先は「Mac」です。Windowsではありません。今回利用したMacは、OS X 10.8.5です。

Xcodeをインストール

App Storeで、Xcodeをインストールします(無料)。

Xcode(5.1.1)は、サイズが2.18GBもありファイル数も多そうで、「インストール中」となってからしばらく待つ必要があります。インストールが終わると「インストール済み」になります。

そして、一度起動して、インストール作業の続きを行い、使える状態にしてください

XQuartzをインストール

XQuartzのダウンロードページから「XQuartz-x.x.x.dmg」をダウンロードして、インストーラーを使ってインストールします。

WireSharkを動かすために必要になります。

インストール手順の最後に

You will need to log out and log back in to make XQuartz your default X11 server.

と表示されたら「OK」をクリックして再起動してしまいましょう。

WireSharkをインストール

続いて、WireSharkをダウンロードして、インストールします。

こちらも簡単です。

iPhone端末のUDIDをコピーする

続いて、iPhone(今回はiPhone 5s)をUSBケーブル(ライトニングケーブル)でMacとつないで、iTunesを起動します

iTunesで接続したiPhoneの画面を開いて、「シリアル番号」と表示されているところをクリックします。

すると、シリアル番号が表示されていた部分が「識別子(UDID)」に変わります。

続いて、そこを右クリックすると「識別子(UDID)をコピー」と表示されるので、UDIDをコピーします

UDIDは、40ケタの16進数(0123456789abcdef)です。シリアル番号とは別なので注意。

RVIを作成する

次に、RVI(Remote Virtual Interface)を作成します。

「アプリケーション>ユーティリティ」にある、「ターミナル」というアプリを起動して、次のコマンドを入力して実行(Returnキー)します。

$ rvictl -S UDID

実際には、UDIDのところに、先ほどコピーしておいたUDIDをペーストしてください(右クリックからできます)。

実行して成功すると、「Starting device UDID [SUCCEEDED]」と表示されます

※「-bash: rvictl: command not found」と表示されたら、XCodeのインストールが完了していません。

パケットキャプチャする

あとは、Wiresharkを使うだけ、です。

Wiresharkを起動する

Launchpadなどから、WireSharkを起動します。

最初に、「Choose Application:Where is X11?」が表示されるので、「Browse...>アプリケーション>ユーティリティ>XQuartz.app」を選択して、「Choose」をクリックしてください。

もし上手く起動できなかったら、もう一度起動しなおしてみてください。少し起動に時間がかかります。

キャプチャ開始

そうしたら、WireSharkの最初の画面で「Capture>Start」にある「rvi0」を選択して「Start」をクリックしてください。

これで、iPhoneの通信のキャプチャが始まり、通信先IPアドレスや通信内容が表示されます。

参考