Broは、接続指向の統計を測定するための適切なツールです。アプリケーション通信のトレースを記録するか、リアルタイムで分析できます。
bro -r <trace>
bro -i <interface>
conn.log
その後、同じディレクトリにある接続ログ ( ) を参照して、アプリケーションによって送受信されたバイト数を確認します。具体的には、TCP ペイロード サイズに関心があります。これは、列およびconn.log
を介して公開されます。次に例を示します。orig_bytes
resp_bytes
bro-cut id.orig_h id.resp_h conn_state orig_bytes resp_bytes < conn.log | head
次の出力が得られます。
192.168.1.102 192.168.1.1 SF 301 300
192.168.1.103 192.168.1.255 S0 350 0
192.168.1.102 192.168.1.255 S0 350 0
192.168.1.103 192.168.1.255 S0 560 0
192.168.1.102 192.168.1.255 S0 348 0
192.168.1.104 192.168.1.255 S0 350 0
192.168.1.104 192.168.1.255 S0 549 0
192.168.1.103 192.168.1.1 SF 303 300
192.168.1.102 192.168.1.255 S0 - -
192.168.1.104 192.168.1.1 SF 311 300
各行は単一の接続を表し、トランスポート層ポートは省略されています。最後の 2 列は、発信者 (最初の列) と応答者 (2 番目の列) によって送信されたバイト数を表します。列conn_state
は接続ステータスを表します。可能なすべてのフィールド値については、ドキュメントを参照してください。いくつかの重要な値は次のとおりです。
- S0 : 接続試行が見られましたが、応答がありません。
- S1 : 接続が確立されましたが、終了されていません。
- SF : 正常な確立と終了。これは状態 S1 と同じ記号であることに注意してください。S1 の場合はサマリーにバイト カウントがないのに対し、SF の場合はバイト カウントがあるため、この 2 つを区別できます。
- REJ : 接続試行が拒否されました。