localhostのパケットキャプチャ

WireSharkなどでパケットキャプチャを取る際に、通常だとローカルホスト(127.0.0.1)などのパケットキャプチャを取ることができない。そんな時にはrawcapをインストールすればローカルホストのパケットキャプチャも取得できて便利だ。

WireSharkではローカルホスト(loopback interface)のインタフェースを選択できない為に取得できないので、代わりにこのrawcapで取得する。取得したキャプチャファイルはWireSharkで開いてそのまま解析に利用できる。

http://www.netresec.com/?page=RawCap

ダウンロードは右上のロゴの下のリンクからもできる。ダウンロードしたファイルを実行すると下記のような画面が表示される。
実行する際はコマンドプロンプトから実行するが、その際は「管理者として実行」するのを忘れずに。(コマンドプロンプトを実行する際にアイコンを右クリックして「管理者として実行」)

rawcap.exe –help

で実行するとオプションが表示される。

C:\Users\hoge\Downloads>RawCap.exe --help
NETRESEC RawCap version 0.1.5.0
http://www.netresec.com

Usage: RawCap.exe [OPTIONS] <interface_nr> <target_pcap_file>

OPTIONS:
 -f             Flush data to file after each packet (no buffer)
 -c <count>     Stop sniffing after receiving <count> packets
 -s <sec>       Stop sniffing after <sec> seconds

何も指定せずにrawcap.exeで実行するとインタフェースの選択画面になる。

Interfaces:
 0.     169.254.75.209  イーサネット    Ethernet
 1.     169.254.202.221 ローカル エリア接続* 2  Wireless80211
 2.     169.254.2.8     ローカル エリア接続* 4  Wireless80211
 3.     192.168.202.1   VMware Network Adapter VMnet1   Ethernet
 4.     192.168.115.1   VMware Network Adapter VMnet8   Ethernet
 5.     172.23.0.222    Wi-Fi   Wireless80211
 6.     169.254.52.230  Bluetooth ネットワーク接続      Ethernet
 7.     127.0.0.1       Loopback Pseudo-Interface 1     Loopback
Select interface to sniff [default '0']:

ここで7番のloopback Interfaceを選択すれば127.0.0.1宛の通信のキャプチャが取得できる。この時出力するファイル名を聞かれるので適当に指定しよう。

コマンドプロンプトで試しにpingを127.0.0.1に対して打ってみる。

C:\Users\hoge>ping 127.0.0.1

127.0.0.1 に ping を送信しています 32 バイトのデータ:
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128

127.0.0.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

するとrawcapの画面で以下のようにdumpfile.pcapにパケットキャプチャのファイルが作成されたことがわかる。終了するときはCtrl+Cでrawcap.exeを終了しよう。

Output path or filename [default 'dumpfile.pcap']:
Sniffing IP : 127.0.0.1
File        : dumpfile.pcap
Packets     : 26

出力されたファイルをWireSharkで開くと127.0.0.1宛のicmpがキャプチャできていることが確認できる。