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がキャプチャできていることが確認できる。