2011年12月19日月曜日

Tshark の Capture Filter と Read Filter のマニュアル

Tshark のフィルタは、"CAPTURE FILTER" と "READ FILTER" の二段構えになっており、それぞれが異なる文法にしたがう。

以下は、各文法を詳しく知りたいときに何を参照すればいいか、という話。


man tshark

とりあえず man tshark をする(CentOS-6.0 にて)。

CAPTURE FILTER SYNTAX
See the manual page of pcap-filter(4) or, if that doesn't exits, tcpdump(8).
READ FILTER SYNTAX
For a complte table or protocol and protocol fields that are filterable in TShark see the wireshark-filter(4) manual page.

…ということで、"pcap-filter(4)" と "wireshark-filter(4)" を参照すればいい。ちなみに CentOS-6.0 の場合 "pcap-filter(4)" は存在しなかった。代わりに "pcap-filter(7)"がみつかった。


例:SYNフラグがセットされているTCPパケットを抽出するフィルタ

キャプチャフィルタ('-f'オプション)の場合
# tshark -i eth0 -f 'tcp[tcpflags] & tcp-syn != 0'
リードフィルタ('-R'オプション)の場合
# tshark -i eth0 -R 'tcp.flags.syn == 1'

キャプチャフィルタのほうは、配列やビット演算風のローレベルな記述になっている。そして、Tshark 以外に tcpdump にも流用できる。


0 件のコメント:

コメントを投稿