驗證ping回顯時,似乎公用程序/庫通常只檢查數據包的校驗和,並不真正確認發送的有效內容與返回的有效內容是否匹配。例如,Wireshark的ICMP解析器只檢查錯誤的校驗和,這也是Ruby的net-ruby所檢查的。如何檢查ICMP Ping/Echo中的返回數據包內容?
我正在調試低級網絡驅動程序問題,我需要確認數據在收到時未被破壞,所以我想使用低級請求(如ICMP Echo)來測試我的驅動程序。但是,我現有的Ping工具不足,因爲我擔心雖然校驗和可能與echo響應中包含的數據相匹配,但echo響應中的數據與echo請求中的數據不匹配。因此,即使它們都有有效的校驗和(校驗碼中沒有錯誤),數據接收部分也會出現錯誤,這樣我的驅動程序就不會收到主機認爲它正在發送的內容。
我該如何檢查迴音有效載荷以確認它與我發出的相同?如果我可以使用獨立的「偏執ping」實用程序,那也可以 - 我只需要能夠改變ping的長度和頻率,因爲我只在網絡氾濫時纔看到問題。
我更喜歡Ruby庫/ Snippet的形式,但任何語言或獨立應用程序都是可以接受的,只要我可以在Windows上運行它即可。
謝謝!