Antworten:
Sie sehen die "falschen" Prüfsummen aufgrund einer Funktion namens TCP-Prüfsummenverschiebung. Die Prüfsummenfelder für ausgehende TCP-Pakete werden vom Betriebssystem nicht vorberechnet, sondern auf 0 gesetzt und vom NIC-Prozessor zur Berechnung belassen. Die Wireshark-FAQ enthält eine detailliertere Erklärung.
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 nur noch wenige mit "falscher Prüfsumme", gefolgt von einem Kommentar "SMB-over-TCP-Paket: (Rohdaten oder Fortsetzung?)". Ich nehme an, dass die Prüfsumme im ersten Paket des Satzes korrekt ist, wenn alle nachfolgenden korrekt sind Pakete (die tatsächlich keine Prüfsumme an der Stelle haben, an der tcpdump
der Prüfsummenwert
tcpdump --dont-verify-checksums
, um diese zu ignorieren.