2013-05-29 235 views
1

我有一個通過TLS保護的JAX-RS網絡服務。因此,加密非常重要,我決定使用RawCap檢查網絡流量並使用WireShark對其進行分析。這樣做,我絆了以下消息:IP標頭校驗和:0x0000

Header checksum: 0x0000 [incorrect, should be 0xac15 (may be caused by "IP checksum offload"?)] 
  1. 什麼是此消息的原因是什麼?
  2. 有沒有進一步的後果?

我敢肯定,它不是我的RESTEasy客戶端的問題,因爲通過FireFox檢索資源會導致相同的消息。

回答

3

這不是來自您的應用程序 - 它是由TCP/IP堆棧造成的。許多實現不會(或不總是)填充頭校驗和,並將其保留爲0x0000。

正如Wireshark指出的,其中一個原因是,OS和NIC驅動程序的某些組合使操作系統認爲,校驗和將由NIC填充(硬件加速),但實際上它不會。

只要您的傳輸路徑可靠,這不是一個真正的問題。 AFAIK它不是一個安全風險。

+0

@Eugene您是否說帶有校驗和0x0000的IP數據包可交付/可接受? – djf

+2

當然他們會!有些操作系統可以設置爲拒絕它們,但這是一個非常奇特的設置。 0x0000是完全合法的,意思是「不計算校驗和」 –

+0

@Eugene哇。不知道 – djf

1

這是一個傳出數據包嗎?

如錯誤消息所示,啓用IP校驗和卸載。這意味着計算機的TCP/IP堆棧不計算校驗和。 NIC硬件在發送數據包之前會進行計算。

這不是一個真正的錯誤。你可以放心地忽略它。

+0

是的,從客戶端發送到服務器。但兩者都在本地主機上運行。 –

0

在這種情況下,校驗和字段被忽略,沒有任何後果。然而,校驗和字段通常旨在驗證數據包的完整性。不正確的校驗和通常表示錯誤(可能是EMI)或完整性丟失,並可能表明存在妥協。