スマホのパケットをキャプチャする

  • 17
    Like
  • 0
    Comment
More than 1 year has passed since last update.

目的

スマホのサイトやアプリを開発しているとスマホの通信内容を見たい時があるので、
ツールをセットアップしてみました。

環境

  • PC (OS:Windows Vista)
  • スマホ (OS:Android 4.4.2)
  • ルーター (市販の無線LANタイプ)

※下記のようにスマホとルーターの間にPCを割り込ませて、パケットをキャプチャします。

env.jpg

wireshark設定

  • PCにwiresharkをインストール。
    (OS、CPUアーキテクチャ(32bit or 64bit)にあったものを選択)
    wiresharkダウンロード

  • インストール後、起動したら普段使っているNICを選択し(①)
    [Start]ボタンをクリック。(②)
    wireshark_start.jpg

  • 下記のエラーが表示されました。
    The capture session could not be initiated (failed to set hardware filter to promiscuous mode).

  • [Capture Options]をクリック(③)し、"Capture"欄でNICを選択した上で
    "Use promiscuos mode on all interfaces"のチェックボックスを外します。

  • これでキャプチャが開始されました。
    (NICがプロミスキャスモード非対応の場合、このようにオプションを外す必要あり)

Cain&Abel設定

  • このままだとPC宛てのパケットしかキャプチャできないので、Cain&Abel (以下Cain)を
    使ってARPキャッシュポイゾニングを行います。
    (一旦、wiresharkの赤いボタンでキャプチャを停止)

  • 下記サイトの左にある青色の"DOWNLOAD FROM SOFTPEDIA"ボタンからダウンロード。
    Cainダウンロード

  • インストール後、Chainを起動したら[Sniffer]ボタンをクリックし(A-1)、[Sniffer]タブに切り
    替えます。(A-2)
    cain_start.jpg

  • スマホをWi-Fiに切り替えルーターに接続。

  • [Add to List]ボタンをクリックし(A-3)、[MAC Address Scanner]ダイアログが開いたら
    [All Tests]にチェックを入れて[OK]をクリック。
    mac_address_scanner.jpg

  • [ARP]タブに切り替え(B-1)、上のペインをクリック後(B-2)、[+]ボタンをクリック。(B-3)
    arp_tab.jpg

  • 左ペインでスマホのIPを選択し(C-1)、それ以外の端末が右ペインに表示されるので、ルーター
    のIPを選択(C-2)。[OK]ボタンをクリック。
    arp_setting_1.jpg

  • 上記で作成した設定を選択して(D-1)、[Start/Stop ARP]ボタンをクリック。(D-2)
    これでスマホとルーターの間にPCが入った状態になります。
    arp_setting2.jpg

  • PCでwiresharkを起動し、"Filter"にターゲットとなるWebサイトのIPを入力して[Apply]ボタンを
    クリックして待ち受けます。
    ip.addr==210.168.89.44 and http

  • スマホからターゲットサイトにアクセスすると、PCのwiresharkでパケットがキャプチャできます。
    capture.jpg

参考にしたページ