Wireshark が重いときは Tshark を使うべし
Wireshark でパケットキャプチャをするとき、大量にデータが入ってくると PC が重くなりますよね。それもそのはず。パケットをメモリ上に溜め込んでいるのですから。
トラブルシューティングをする際に、再現する時刻がバラバラの事象の場合、Tshark がお勧めです。メモリ上ではなくディスクにファイルとして書き込んでいくようになりますので、メモリ消費が無いのです。
Tshark は Windows 版の tcpdump と考えればよいでしょう。Wireshark をインストールすれば使えるようになります。
Tshark のインタフェース確認と文字化け対策
まずはインタフェースの ID を確認するため、以下コマンドを打ちます。
そのままでは文字化けするため、chcp で文字コードを Shift-JIS から UTF-8 に変更します。
c:\> chcp 65001 c:\> cd "c:\Program Files\Wireshark" c:\Program Files\Wireshark> tshark.exe -D
1. \Device\NPF_{ECD2CEFE-5C05-4AB5-8180-23900F2A01E7} ABCDEFG
一番左の番号がインタフェース ID。複数出てきた場合はどのインタフェースをキャプチャしたいかを確認し、そのインタフェース ID を覚える。
Tshark の実行とオプション
そして次のコマンドを打ちます。
c:\Program Files\Wireshark> tshark.exe -i [インタフェースID] -w nwwatch.pcap -b filesize:10000
オプションについて
-w は出力するファイル名の指定です。実行ディレクトリ(今回はc:\)に nwwatch.pcap というファイルが生成されます。もしくはフルパスを書けばその場所に保存されます。
-b filesize: これは言わずもがな、ファイルサイズ指定です。10000KB = 10MB に達したら新たなファイルを作ります。
また、-b duration: を使えば、秒単位でのローテーションが可能です。
c:\Program Files\Wireshark>tshark -i [インタフェースID] -w nwwatch.pcap -b duration:3600
複数インタフェース指定
複数のインタフェースでキャプチャしたい場合は単純に -i オプションを 2 回使います。
1 と 3 のインタフェースでキャプチャしたい場合は以下のようにします。
c:\Program Files\Wireshark>tshark -i 1 -i 3 -w nwwatch.pcap
キャプチャフィルタ
先ほどの例では使っていませんが、キャプチャフィルタを使えば、狙った通信だけをキャプチャすることができます。キャプチャフィルタは Wireshark の閲覧時のフィルタとはフォーマットが異なり、tcpdump (正確には libpcap) と同じです。
例えば 192.168.1.1 に関する tcp:80 のパケットだけを見たい場合(192.168.1.1 が送信元 IP もしくは宛先 IP であり、かつ tcp:80 が送信元ポートもしくは宛先ポートである通信)
-f "host 192.168.1.1 and tcp port 80"
もう 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"
リードフィルタ
取り込んだファイルは GUI の wireshark で閲覧可能ですが、CLI の tshark (-r オプション) でも閲覧可能です。-Y オプションでフィルタを指定しますが、フォーマットはキャプチャフィルタと異なり、Wireshark のものになります。
c:\Program Files\Wireshark>tshark.exe -r nwwatch.pcap -Y "ip.addr==192.168.1.1"
【厳選 3 冊】パケットキャプチャを学ぶための本
パケットキャプチャ関連でお奨めの本を 3 冊紹介します。どれも私のサイトからの購入率が高いものです。
現場での利用方法や具体的なトラブルシュート方法など、現場で活用できる技が豊富に記載されています。サンプルのキャプチャファイルを実際に見ながら学べるので初心者にも分かり易く学べます。
無線を見える化し、セキュリティやトラブルシュートを行うためのノウハウが豊富に記載されています。無線LANのエンジニアなら必携です。
あなたが成長の日々を歩めますように。
コメント