2012-08-05 138 views
2

我有一個使用jnetpcap庫分析.pcap文件的Java應用程序。我需要刪除所有重複的,重新發送和亂序的數據包。有什麼辦法可以使用jnetpcap庫來做到這一點?至少要刪除重複的數據包。使用jnetpcap刪除重複數據包

+0

Wireshark有一個'跟隨連接'選項,這似乎是一個比這更好的追求路徑。 – EJP 2012-08-06 02:55:55

回答

0

您可以使用序列號並檢查它是否重複。如果現在序列號小於或等於最後一個有效序列號,則可以刪除它。您可以使用seq()函數獲得序列號。

Tcp tcp = new Tcp(); 
tcp.seq(); 
0

注意:jnetpcap庫當前不支持TCP重組,這是執行所請求的複雜功能所必需的。但是做一些或全部的匹配可能會相對容易。

匹配的請求到響應和刪除重複

的請求將匹配的響應的目的地端口的源端口。 請求的確認將匹配響應的seq。 這應該有助於將一個請求與一個響應進行匹配。

現在,隨着重傳(又名。重複)...

的重傳請求都會有相同的信息,其對應。相同的src,dst,ack和seq編號。

我知道更多關於pcap文件和數據包,如果你聯繫我。