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
每行代表一个连接,省略了传输层端口。最后两列代表发起者(第一列)和响应者(第二列)发送的字节。该列conn_state
表示连接状态。请参阅文档以了解所有可能的字段值。一些重要的值是:
- S0:看到连接尝试,没有回复。
- S1:连接已建立,未终止。
- SF:正常建立和终止。请注意,这与状态 S1 的符号相同。您可以将两者区分开来,因为对于 S1,摘要中不会有任何字节数,而对于 SF,会有。
- REJ:连接尝试被拒绝。