[mac][iPhone]Mac上でWiresharkを起動して、iPhoneのパケットキャプチャを行う

iPhoneのパケットキャプチャをして解析してみたくなったので、Wiresharkを使って、実験してみました。
導入部分になりますが、共有っと。

準備するもの

Wiresharkのインストール

  • wireshark.orgからdmgファイルをダウンロードします。
  • dmgファイルを開き、アプリケーションをApplicationディレクトリにドラッグドロップして追加します
  • ここからはterminalで作業したほうが早いので、とりあえずdmgの中身のUtilitiesを適当なディレクトリにコピーしておきます。
    • とりあえず、~/src/WiresharkUtilitiesにコピーしました。
  • Command Lineの中身のファイルを$PATHで読み込まれているディレクトリに移動します。
echo $PATH
    • /opt/local/binとかあるので、とりあえずそこに目がけて!
sudo cp /Command\ Line/* /opt/local/bin/
    • パスワードを入力してOK(となぜかmvでなくcpでやるのは、気にしない)
  • ChmodBPFディレクトリを/Library/StartupItems/に移動させます。
    • 先にpermissionの設定を行います。
% chmod 755 ChmodBPF
% chmod 755 ChmodBPF/ChmodBPF
% chmod 644 ChmodBPF/README.macosx
% chmod 644 ChmodBPF/StartupParameters.plist
    • したならば、あとはStartupItems(シンボリックリンクがあらかじめUtilitiesのなかにいるので、)にいれるだけ
% cp -r ChmodBPF StartupItems/
  • 再起動しましょう

Macのアクセスポイント

  • システム環境設定から、共有を開きます。
  • インターネット共有をえらび、「内蔵Ethernet」を「AirPort」へ共有するようにチェックをいれます。
    • そのままその下の、 「AirPortオプション」に入り、共有するためのネットワークを作成します。
      • 名前は適当に。チャネルは自動でOK
      • パスワードをかけておきます
  • インターネット共有のチェックを入れるのをお忘れなく
  • iPhoneから、接続できるかどうか、上部のアイコンが「3G」からwifiの扇型のアイコンに変わったかどうかチェケ!

Wireshark

  • terminalから、起動します。
% wireshark
  • InterfaceListに何も表示されていなければ、sudoで実行する必要があります。
% sudo wireshark
  • InterfaceListをクリックして、目的のネットワークデバイスを探します。
    • 自分は「en1」がそれでした。人によって違うと思う
  • 目的のネットワークデバイスの「Options」を選択
    • 下の画像のようになっているとOKな感じ

f:id:sugilog:20110208223803p:image

  • Startさせると、大量にPacketCaptureがはじまるので、fiilterをしぼっときましょ。
    • 自分はhttpで絞りました。
  • Wiresharkの使い方、見方は各自ぐぐってください
    • 結構いろいろ知ってないとわからないらしく、案の定、自分もほとんど理解できていませんでした