Broは、接続指向の分析に適したツールです。フローごとのパケット数を確認するには、トレースに対して Bro を実行し、ログから値を抽出します。
bro -r trace.pcap
bro-cut id.orig_h id.orig_p id.resp_h id.resp_p orig_pkts resp_pkts < conn.log \
| awk '$5+$6 > 100 {print $1,$2,$3,$4,$5,$6}' \
| sort -rn -k 5 \
| head
これにより、次の出力が得られます。
192.168.1.105 49325 137.226.34.227 80 73568 146244
192.168.1.105 49547 198.189.255.74 80 16764 57098
192.168.1.105 49531 198.189.255.74 80 5186 14843
192.168.1.105 49255 198.189.255.73 80 4749 32164
192.168.1.104 1422 69.147.86.184 80 2657 2656
192.168.1.105 49251 198.189.255.74 80 2254 13854
192.168.1.1 626 224.0.0.1 626 2175 0
192.168.1.105 49513 198.189.255.82 80 2010 3852
192.168.1.103 2026 151.207.243.129 80 1953 2570
192.168.1.105 49330 143.166.11.10 64334 1514 3101
このツールbro-cut
は Bro に付属しており、ログから特定の名前付き列を抽出する便利な方法を提供します。このタスクでは、以下が必要です。
id.orig_h
: 接続元(送信元)のIP
id.orig_p
: 接続元 (送信元) のトランスポート層ポート
id.resp_h
: 接続先(宛先)のIP
id.resp_p
: 接続レスポンダーのトランスポート層ポート (送信元)
orig_pkts
: 発信元が送信したパケット数
resp_pkts
: レスポンダーが送信したパケット数
awk
フィルター式に注意してください。
awk '$5+$6 > 100 {print ...}'
合計パケット数が 100 を超える接続に出力を制限します。
固定サイズのパケットを使用している場合を除き、パケット サイズ (IP または TCP ペイロード) などの他のメトリックも調査することをお勧めします。これらは、orig_bytes
およびresp_bytes
列を介して接続ログに簡単に記録されます。