2017-07-28 109 views
0

我在玩Libpcap試圖發送ping命令,但每當我發送請求時,他們從不迴應,沒有給出錯誤,並且它看起來與通過ping實用程序發送的常規ping相同。Libpcap ICMP數據包從來沒有迴應

左邊的數據包通過我的應用通過終端和右側的ping發送。據我可以告訴數據字段是可選的,所以我不包含它,並且標識符/序列號可以是隨機的,因此它們是隨機的。

我在這裏錯過了一些明顯的東西嗎?

enter image description here

回答

1

我注意到你還沒有驗證您的IP報頭校驗和。你確定它確實是正確的嗎?如果不是,下一個路由器會默默地丟棄與你所看到的一致的數據包。如果你打開它,Wireshark應該能夠驗證你的IP頭校驗和。

+0

我在ICMP + IP數據包ip.ip_sum = ip_checksum(&ip,sizeof(ip));'上的代碼中調用校驗和函數,但似乎自動設置爲驗證禁用。即使使用普通ping工具,它似乎也被設置爲禁用 – Crizly

+0

再次:打開驗證/在wireshark /中查看校驗和是否正確。 – Hal

+0

呵呵,我誤解了,我想你發現了這個問題,現在出現了錯誤 – Crizly