tshark の標準ヘッダー出力を解析したいと考えています。デフォルトでは機能しないため、ほとんど同じことを行うカスタム フィールド パーサーを使用しています。私が見逃しているのは、プロトコルの名前の解決です。私のコマンドは次のとおりです。
sudo tshark -b 256 -P -T fields -e frame.time_epoch -e ip.src -e ip.dst -e ip.proto -e ip.len -e col.Info -E separator=';' -b filesize:65535 -b files:10 -w tshark_tmp
これはほとんど機能します。私が得たものは次のとおりです(この例では2つのpingをキャプチャしています):
1378869929.862628000;192.168.78.252;192.168.78.53;1;84;Echo (ping) request id=0x0abe, seq=65/16640, ttl=64
1378869929.863188000;192.168.78.53;192.168.78.252;1;84;Echo (ping) reply id=0x0abe, seq=65/16640, ttl=64 (request in 1)
同じ 2 つの ping は、カスタム フィールドがない通常の tshark では次のようになります。
0.000000 192.168.78.252 -> 192.168.78.53 ICMP 98 Echo (ping) request id=0x0abe, seq=13/3328, ttl=64
0.000707 192.168.78.53 -> 192.168.78.252 ICMP 98 Echo (ping) reply id=0x0abe, seq=13/3328, ttl=64 (request in 1)
私が解決する必要がある主な違いは、私が84
プロトコルを取得するのに対し、tshark は を出力することICMP 98
です。独自のルックアップ テーブルを実装することもできますが、多数のプロトコルがあり、tshark はそれらをデコードする方法を既に知っています。解析でそれを取得する方法を理解する必要があるだけです。