【Tshark】の使い方(pcapファイル出力、オプション、フィルタ設定)

スポンサーリンク
スポンサーリンク

Wiresharkの負荷が大きいときはTsharkを使うべし

Wiresharkでパケットキャプチャをするとき、大量にデータが入ってくるとPCが重くなりますよね。それもそのはず。パケットをメモリ上に溜め込んでいるのですから

トラブルシューティングをする際に、再現する時刻がバラバラの事象の場合、Tsharkがお勧めです。メモリ上ではなくディスクにファイルとして書き込んでいくようになりますので、メモリ消費が無いのです。

Tshark はWindows版の tcpdump と考えればよいでしょう。Wiresharkをインストールすれば使えるようになります。

Tsharkの使い方

まずはインタフェースのIDを確認するため、以下コマンドを打ちます。

c:\>"c:\Program Files\Wireshark\tshark.exe" -D
出力結果の例:
1. \Device\NPF_{ECD2CEFE-5C05-4AB5-8180-23900F2A01E7} ABCDEFG

一番左の番号がインタフェースID。複数出てきた場合はどのインタフェースをキャプチャしたいかを確認し、そのインタフェースIDを覚える。

そして次のコマンドを打ちます。

c:\>"c:\Program Files\Wireshark\tshark.exe" -i [インタフェースID] -w nwwatch.pcap -b filesize:10000

スポンサーリンク

オプションについて

-w は出力するファイル名の指定です。実行ディレクトリ(今回はc:\)にnwwatch.pcapというファイルが生成されます。もしくはフルパスを書けばその場所に保存されます。

-b filesize: これは言わずもがな、ファイルサイズ指定です。10000KB = 10MB に達したら新たなファイルを作ります。

フィルタ

先ほどの例では使っていませんが、フィルタを使えば、狙った通信だけをキャプチャすることができます。

例えば192.168.1.1に関するtcp:80のパケットだけを見たい場合(192.168.1.1が送信元IPもしくは宛先IPであり、かつtcp:80が送信元ポートもしくは宛先ポートである通信)

-f 'host 192.168.1.1 and port 80 and tcp'

もう1つの例として、宛先が172.16.0.0/16の範囲で、かつDNSおよびhttpを除外する例

-f 'net 172.16.0.0 mask 255.255.0.0 and not (port 53 or port 80'

TCPの16000~16100までの範囲を見たい場合

-f 'tcp portrange 16000-16100'

Wiresharkの勉強については、以下の書籍がお薦めです。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク