IP header checksum: 0x0000

Ho un JAX-RS web service che è fissato tramite TLS. Di conseguenza, la crittografia è molto importante, ho deciso di controllare il traffico di rete con RawCap e analizza con WireShark. Facendo questo, ho inciampato su il seguente messaggio:

Header checksum: 0x0000 [incorrect, should be 0xac15 (may be caused by "IP checksum offload"?)]
  1. Qual è il motivo di questo messaggio?
  2. Ci sono ulteriori conseguenze?

Sono abbastanza sicuro che non è un problema con il mio RESTEasy client, poiché il recupero di un ressource tramite FireFox causa lo stesso messaggio.

OriginaleL’autore My-Name-Is | 2013-05-29

3 Replies
  1. 4

    Questo non deriva dall’applicazione – è causato dallo stack TCP/IP. Molte implementazioni non (o non sempre) compilare l’intestazione del checksum, lasciando un 0x0000.

    Come Wireshark indicato, una ragione per questo è che alcune combinazioni di sistema operativo e driver NIC rendere l’OS pensare, che il checksum deve essere compilato dal NIC (accelerazione hardware), ma in realtà non sarà.

    Questo non è un vero problema, fintanto che il vostro percorso di trasmissione è affidabile. Per quanto ne so non è un rischio per la sicurezza.

    Stai dicendo pacchetti IP con checksum 0x0000 sono deliverable/accettabile?
    Certo che lo faranno! Alcuni Sistemi operativi può essere impostato per rifiutare loro, ma questo è piuttosto un ambiente esotico. 0x0000 è completamente legale e significa “Senza checksum calcolato”
    wow. non sapevo che
    Io trovo corretto! Ho appena guardato, e il “0x0000 == non calcolato” è SOLO valiud per UDP e non TCP. Ci scusiamo per questo.
    Thx per il doppio controllo.

    OriginaleL’autore Eugen Rieck

  2. 1

    Era questo un pacchetto in uscita?

    Come suggerisce il messaggio di errore, il checksum IP offload è abilitato. Questo significa che il computer stack TCP/IP non calcola il checksum. Invece la scheda di rete hardware per il calcolo prima di inviare il pacchetto.

    Questo non è un vero errore. Si può tranquillamente ignorare.

    Sì, inviate dal client al server. Ma entrambi sono in esecuzione su localhost.

    OriginaleL’autore djf

  3. 0

    in questo caso, il checksum campo è stato ignorato senza conseguenze. Tuttavia, il checksum campo, in generale, inteso a verificare l’integrità di un pacchetto. Un checksum errato generalmente indica gli errori (possibilmente EMI) o perdita di integrità e può indicare un compromesso.

    OriginaleL’autore user3482192

Lascia un commento