iPod touchのパケットをキャプチャする
無線LANアクセスポイント内蔵ブロードバンドルータ(以降、ルータと呼称)に接続しているWindows PCから、同じルータに接続しているiPod touch(やHT-03A, Nintendo DSなどのwifi機器)のパケット解析を行ってみた。利用したソフトウェアは以下の2つ。
- Wireshark 1.2.1
- Cain & Abel 4.9.31
今回の環境は右図の通り、 通信を行う機器(以降、iPod)、通信をモニタする機器(以降、PC)とも、家庭で接続する一般的な形式であるが、この接続携帯でのパケットキャプチャ方法が解説されているサイトは少ないように思えた。
この接続形態では、iPodとPCはルータ(スイッチ)を介しており、iPodのパケットはPCに到達しない。ルータがパケットをどのポートに送ればよいか知っているためだ。
したがって、PCでiPodのパケットを受信するためには、ルータを騙してiPodのパケットを送ってもらう必要がある。
ここで、ARPスプーフィングという手法を用い、PCがiPodになりすませられるように、前述のCain&Abelを用いる。
設定方法は以下の通り。
- 画面上部のSnifferボタンを押しsnifferを開始する。
- 画面上部のSnifferタブへ移動する。
- 画面で右クリック>Scan Mac Addressを選択し、ホスト一覧を得る。
- 画面下部のARPタブへ移動する。
- 画面上部の+アイコンをクリックすると設定ダイアログ”New ARP Position Routing”が開く。
- 設定ダイアログで、iPodとPCのアドレスをそれぞれ選択し、OKボタンで閉じる。
- 画面上部のARPボタンを押すと、ARPスプーフィング開始。
この状態で、PC上のWiresharkをプロミスキャスモードでキャプチャ開始すると、iPodのパケットも取得できる。
iPodのパケットのみ取得したければIPアドレスでフィルタ(キャプチャフィルタ, 表示フィルタ)すれば良いだろう。
補足として、この状態ではiPodからのSSL通信が失敗してしまう。この問題については、Cain&AbelのメニューConfigureから起動できるダイアログのFilters and porsタブで、HTTPSのチェックを外すことで対応できた。
また、当然ではあるが、この方法ではiPodのSSL通信を解析することはできない。これについては、冒頭の図の中で、ルータとインターネット網の間にLinuxマシンなどで構成するプロキシサーバを経由させ、iPodに代わって自分(プロキシサーバ)が相手とSSL通信を行うことでキャプチャできると考えるが、環境が無いため試せていない。
参考:
- 実践 パケット解析 ―Wiresharkを使ったトラブルシューティング
今回参考にしたのはこの書籍だが、残念ながらあまり良い本とは言えない。興味があるのならば冒頭リンクの書籍をお勧めする。
« gcc-sjljでビルドしたバイナリのデバッグ | トップページ | ココログでリキッドレイアウト »
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: iPod touchのパケットをキャプチャする:
» iPhone/iPod touchアプリ [雪羽の発火後忘失]
マスタリングTCP/IP 入門編 第4版 竹下 隆史 村山 公保 荒井 透 苅田 幸雄 「高木浩光@自宅の日記」のエントリ「やはり退化していた日本のWeb開発者「ニコニコ動画×iPhone OS」の場合」を参考にして、iPhone/iPod touch版ニコニコ動画のパケットを見てみた。 準備 実行に用いたハード/ソフトは以下の通り。なお、接続環境は前回エントリと同様。 前出エントリで記載したWi... [続きを読む]
コメント