目次


Tshark を使ってみる

Tshark使用例1(普通にキャプチャ、キャプチャしたデータをコマンドプロンプトに表示)

Tsharkを使って4番のインタフェースのパケットをキャプチャするには、-i 4を指定します。このようにすることで、コマンドプロンプト上にキャプチャデータが表示されます。
以下の例では、192.168.11.1に関するarpリクエストとリプライがキャプチャできました。
C:\Program Files\Wireshark>tshark -i 4
Capturing on ORINOCO PC Card (Microsoft's Packet Scheduler)
1199370775.557633 00:02:2d:65:4e:5d -> ff:ff:ff:ff:ff:ff ARP Who has 192.168.11.1?  Tell 192.168.11.2
1199370775.559342 00:07:40:aa:5b:54 -> 00:02:2d:65:4e:5d ARP 192.168.11.1 is at 00:07:40:aa:5b:54
(Ctrl+Cでキャプチャを停止できます。)

キャプチャインタフェース番号の調べ方

ところで、-i 4で指定した4というインタフェースの番号は、どのように調べればいいのでしょうか。。。
以下のように -D で調べることができます。
C:\Program Files\Wireshark>tshark -D
1. \Device\NPF_GenericDialupAdapter (Adapter for generic dialup and VPN capture)
2. \Device\NPF_{6BA966AC-2889-44F1-9162-B4CE57FFDE6F} (VMware Virtual Ethernet Adapter)
3. \Device\NPF_{8C55A32F-392C-40D4-A3ED-3BF84158C0CB} (VMware Virtual Ethernet Adapter)
4. \Device\NPF_{CE53EEB8-2CA7-41F7-8AE6-F9A2F12DFC26} (ORINOCO PC Card (Microsoft's Packet Scheduler) )
5. \Device\NPF_{DD071C3E-0216-42C0-833F-F57EE11F57BE} (Intel 8255x-based Integrated Fast Ethernet (Microsoft's Packet Scheduler) )

Tshark使用例2(キャプチャしたデータをpcap形式で保存)

キャプチャしたデータをコマンドプロンプトではなく、ファイルにpcap形式で保存することも可能です。
以下の例では、-w tshark1.pcapでキャプチャしたデータはtshark1.pcapに保存されます。実際にキャプチャされたデータ数が、一番下に表示されます。以下の例では、このとき14パケットがキャプチャされていることがわかります。
C:\Program Files\Wireshark>tshark -i 4 -w tshark1.pcap
Capturing on ORINOCO PC Card (Microsoft's Packet Scheduler)
14
(Ctrl+Cでキャプチャを停止できます。)

Tshark使用例3(保存したデータをTsharkで参照)

保存したファイルをTsharkで開くことも可能です。
開きたいファイルを-r tshark1.pcapのように指定します。
C:\Program Files\Wireshark>tshark -r tshark1.pcap
  1   0.000000 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
  2   0.002041 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply
  3   1.000839 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
  4   1.002712 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply
  5   2.002034 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
  6   2.003898 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply
  7   3.003227 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
  8   3.005079 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply
  9   4.004419 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
 10   4.006289 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply
 11   5.000804 00:07:40:aa:5b:54 -> 00:02:2d:65:4e:5d ARP Who has 192.168.11.2?  Tell 192.168.11.1
 12   5.000840 00:02:2d:65:4e:5d -> 00:07:40:aa:5b:54 ARP 192.168.11.2 is at 00:02:2d:65:4e:5d
 13   5.005591 192.168.11.2 -> 192.168.11.1 ICMP Echo (ping) request
 14   5.007366 192.168.11.1 -> 192.168.11.2 ICMP Echo (ping) reply

Tshark使用例4(詳細を表示)

'-Vプション'でパケットの詳細が表示されます。
以下の例では、保存したファイルを読み込む際に-Vを付けていますが、実際に流れているデータを-i 4のようにライブキャプチャする際にも-Vは使用可能です。
CygwinかLinuxでgrepでフィルタしながら見ると便利なことがあるかもしれませんね。
C:\Program Files\Wireshark>tshark -V -r tshark1.pcap | more
Frame 1 (74 bytes on wire, 74 bytes captured)
    Arrival Time: Jan  3, 2008 23:39:38.232860000
    [Time delta from previous captured frame: 0.000000000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.000000000 seconds]
    Frame Number: 1
    Frame Length: 74 bytes
    Capture Length: 74 bytes
    [Frame is marked: False]
    [Protocols in frame: eth:ip:icmp:data]
Ethernet II, Src: 00:02:2d:65:4e:5d (00:02:2d:65:4e:5d), Dst: 00:07:40:aa:5b:54 (00:07:40:aa:5b:54)
    Destination: 00:07:40:aa:5b:54 (00:07:40:aa:5b:54)
        Address: 00:07:40:aa:5b:54 (00:07:40:aa:5b:54)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: 00:02:2d:65:4e:5d (00:02:2d:65:4e:5d)
        Address: 00:02:2d:65:4e:5d (00:02:2d:65:4e:5d)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IP (0x0800)
 (以下省略)

Tshark+grepの使い方


最終更新:2008年01月06日 21:13