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
代表連接狀態。有關所有可能的字段值,請參閱documentation。一些重要的參數是:
- S0:看到連接嘗試,沒有回答。
- S1:已建立連接,未終止。
- SF:正常建立和終止。請注意,這與符號S1的符號相同。你可以將兩者區分開來,因爲對於S1來說,彙總中不會有任何字節數,而對於SF則會有。
- REJ:連接嘗試被拒絕。
我會詳細介紹一下文檔,但是快照中的最後兩列代表在該行列出的主機之間分別發送和recd的淨字節數? – AnkurVj 2012-04-08 21:31:42
正確。每個流程表示一個連接/流程。 (我澄清了答案。) – mavam 2012-04-08 21:52:01
你能告訴我,一旦我開始bro使用bro -i eth0,我該如何停止捕獲數據包。我目前使用Ctrl + C來停止進程並希望所有統計信息都已寫入文件。 – AnkurVj 2012-04-13 08:40:27