2016-04-21 14 views
2

Wireshark對話列表打開時(統計信息 - >對話列表)Wireshark顯示的是「信息包A-> B」列和「信息包B-> A」列。當我在流量的一邊(物理上)嗅探時,我可以看到大約一半的MAC地址只在「A-> B」上有流量,而在「B-> A」上沒有流量,另一半是另一種方式這很有道理,因爲我在談話的一邊嗅了一下。Wireshark對話列表邊

問題是:wireshark如何決定調用「side A」的地址和調用「side B」的地址?從我上面描述的內容中很容易看出,它不依賴於哪一方發送了更多的數據包/發送了第一個數據包,我發現很難相信它是隨機決定的。

任何幫助將不勝感激。

回答

0

看着the code that fills this list (ui/gtk/conversations_table.c:1726)

gtk_list_store_insert_with_values(store, &iter, G_MAXINT, 
     CONV_COLUMN_SRC_ADDR, src_addr, 
     CONV_COLUMN_SRC_PORT, src_port, 
     CONV_COLUMN_DST_ADDR, dst_addr, 
     CONV_COLUMN_DST_PORT, dst_port, 
     CONV_COLUMN_PACKETS, conv_item->tx_frames+conv_item->rx_frames, 
     CONV_COLUMN_BYTES, conv_item->tx_bytes+conv_item->rx_bytes, 
     CONV_COLUMN_PKT_AB, conv_item->tx_frames, 
     CONV_COLUMN_BYTES_AB, conv_item->tx_bytes, 
     CONV_COLUMN_PKT_BA, conv_item->rx_frames, 
     CONV_COLUMN_BYTES_BA, conv_item->rx_bytes, 
     CONV_COLUMN_START, start_time, 
     CONV_COLUMN_DURATION, duration, 
     CONV_COLUMN_BPS_AB, tx_ptr, 
     CONV_COLUMN_BPS_BA, rx_ptr, 
     CONV_INDEX_COLUMN, idx, 
     -1); 

...我們可以看到,在內部,他們不使用「地址」和「地址B」 - 它的「源」和包的「目的地」地址。您還可以看到「A→B」列將顯示TX(即發送,輸出)計數,而「B→A」列顯示RX(即接收,輸入)計數。

+0

那麼wireshark如何確定地址是「地址A」而列「包A-> B」的值是0? – Atlantis

+0

我對此沒有答案;一旦我睡了一覺,我就得深入代碼。現實檢查:您是否在「數據包A→B」列中看到Wireshark顯示0? –

+0

是的,我做到了。我會發布截圖,但捕獲文件在我工作的LAN中。 – Atlantis