昨天在電腦上抓取的報文,想進行回話,可是發現所有被設備丟棄了,沒有debug信息,查看了抓包文件,原來是IP頭和TCP、UDP頭的檢驗和所有爲0,也就是TOE(TCP/IP Offload Engine)致使的。網絡
傳統的TCP/IP處理網絡數據傳輸過程當中,要佔用大量的主機CPU資源,爲了減輕CPU的壓力,一種叫TOE(TCP/IP offload engine,TCP/IP卸載引擎)的技術應運而生。TOE技術對TCP/IP協議棧進行擴展,使部分TCP/IP協議從CPU轉移到TOE硬件,減輕CPU的負擔。
TOE引擎須要作的一件事情就是將IP頭、TCP頭、UDP頭的checksun計算由網卡來計算,CPU不須要計算IP頭、TCP頭、UDP頭的檢驗和的工做由網卡來進行。這樣能夠減輕CPU的負擔,以下圖所示,可是這樣會帶來一個問題,就是在user application抓的發送出去的報文的檢驗和是不對的,若是直接對報文進行回放,會被設備丟棄,致使報文回放失敗。
點擊網卡屬性、找到高級一項。把app
把這三項所有關閉,就能夠關閉網卡的硬件檢驗和功能。工具
另外作了一個從新計算檢驗和的工具:debug
一、把要修改checksum的pcap/cap文件放入此文件夾下面。
二、雙擊doit.cmd,就會生成新的文件。3d