2010-05-26 83 views

回答

9

這真的很簡單。只需從pcap獲得的以太網幀,並從它們中提取IP數據包,重新組裝所有碎片。然後,根據序列號從IP數據包重新排列TCP段,注意丟棄任何重複的數據。然後,將該流處理爲HTTP流。當然,HTTP不會進入數據包;它是一個應用層協議,但是我相信,一旦你完成了所有這些其他工作,這將是顯而易見的。在你做所有這些事情時,請注意IP頭和TCP段的校驗和,以確保你的數據是正確的。另外,如果pcap發生錯過任何數據包,請確保您正確處理此問題。

爲了幫助你前進的Linux TCP stack,因爲它在內核中出現應提供簡明參考這一進程。

+1

謝謝!我明白了:) – Ishi 2010-05-27 12:27:53

5

而不是重新組裝流youself,您可以使用tcptrace重新組裝PCAP文件。我相信-e會做到這一點。

一旦你有一體的應用層數據,可以應用簡單的HTTP報頭解析.... Perhps從文庫例如http://github.com/ry/http-parser

+0

謝謝喬......如果我自己做不到,我會嘗試這些工具。再次感謝 ! – Ishi 2010-05-27 12:29:37

2

從pcap文件重新構建http內容的最佳工具是justniffer。它使用Linux內核的prtion進行IP分片和TCP分組重新處理。