Frage Zu viele falsche Prüfsummenfehler in TCPDUMP


Ich finde zu viele falsche Prüfsummenfehler von a TCPDUMP getan auf einem GNU Linux 64bit Server. Es gibt fast 50% falsche Chekcsums im Export?

cksum 0xe61f (falsch (-> 0x8c37)

Wie können wir diese Daten interpretieren? Beeinflusst es die Leistung?


22
2017-07-08 22:21


Ursprung


Benutzen tcpdump --dont-verify-checksums um diese zu ignorieren. - Willem


Antworten:


Sie sehen die "falschen" Prüfsummen aufgrund einer Funktion namens TCP-Prüfsummen-Offloading. Die Checksum-Felder für ausgehende TCP-Pakete werden vom Betriebssystem nicht vorberechnet, sondern stattdessen auf 0 gesetzt und für die Berechnung durch den NIC-Prozessor belassen. Das Wireshark FAQ hat eine detailliertere Erklärung.


25
2017-07-08 22:40



Ich sah das, aber es war spezifisch zu "Wenn die Pakete, die falsche TCP-Prüfsummen haben, alle von der Maschine gesendet werden, auf der Wireshark läuft" und es war nicht klar, wie zu viele legitime Prüfsummen fehlschlagen würde die Netzwerkleistung beeinträchtigen. - Vishal
Sie sollten nur falsche Prüfsummen für Pakete sehen, die von Ihrem Computer gesendet wurden. Dies ist nicht spezifisch für Wireshark, da jede Paketerfassungssoftware, die auf dieser Ebene arbeitet, ähnliche Ergebnisse liefert. Wenn Sie sehen, dass die Prüfsumme bei empfangenen Paketen fehlschlägt, liegt möglicherweise ein Problem vor - diese Pakete werden vom TCP-Stack verworfen und lösen eine Neuübertragung sowie Stausteuerungsalgorithmen aus - was sich direkt auf den Datendurchsatz auswirkt. - the-wabbit
Die Prüfsummenfehler betrafen nur die gesendeten Pakete. Vielen Dank! - Vishal
Bei eingehenden eingehenden SMB-Paketen, die erneut zusammengestellt werden müssen, werden falsche Prüfsummen angezeigt. tcpdump druckt ein erstes Paket mit "falscher Prüfsumme" zusammen mit dem Kommentar "WARNUNG: Paket wird in späteren TCP-Segmenten fortgesetzt". Dann gibt es ein paar mehr mit "falscher Prüfsumme", gefolgt von einem Kommentar "SMB-über-TCP-Paket: (Rohdaten oder Fortsetzung?)". Ich nehme an, die Checksumme im ersten Paket des Satzes wird korrekt sein, wenn alle nachfolgenden Pakete (die tatsächlich keine Prüfsumme an der Stelle haben, wo tcpdump ist der Prüfsummenwert) wurden in ihre ganze ≤ 64KiB ganze wieder zusammengesetzt. - David Tonhofer