2010-06-03 78 views
0

我知道,如果我們在函數libnet_build_tcp中寫入0,tcp校驗和會自動計算,那麼爲什麼我們需要libnet_do_checksum?爲什麼我們需要libnet_do_checksum? HTTP校驗不起作用

我有一個錯誤,當我試圖建立一個新的數據包。一個regulat TCP數據包(SYN,ACK)可以正常工作,但是一個HTTP數據包不起作用,因爲tcp校驗和錯誤。 我必須使用libnet_do_checksum嗎?

回答

0

例如,當您要手動計算校驗和時,您可以使用libnet_do_checksum(),以便在發送之前檢查它。

你確定攜帶HTTP數據的數據包有校驗和錯誤嗎?可能發生操作系統正在使用校驗和卸載。 Wireshark會在原始機器上報告錯誤的校驗和,但網卡會在發送數據包之前計算它。