Falsche TCP-Checksummen
Wenn ich den Netzwerkverkehr mitschneide, zeigt mir Wireshark massenhaft Pakete mit falschen Checksummen an. Was ist da kaputt und was kann ich tun?
- Björn Hansen
Wenn ich den Netzwerkverkehr mitschneide, zeigt mir Wireshark massenhaft Pakete mit falschen Checksummen an. Was ist da kaputt und was kann ich tun?
Wenn es um Pakete geht, die von Ihrem Rechner stammen, ist auf der Leitung eventuell alles in Ordnung: Aktuelle Netzwerkkarten können die Checksummen selbst berechnen und erhalten daher vom Betriebssystem Pakete mit ungültigen Checksummen. Das Verfahren nennt sich meist „TCP Offload“ und soll die CPU entlasten. Da Wireshark aber die Pakete abgreifen muss, bevor die Karte sie verarbeitet hat, sieht das Programm noch die falschen Checksummen.
Wenn Sie wirklich wissen wollen, was auf der Ethernet-Leitung passiert, können Sie das TCP-Offloading versuchsweise abschalten. Das geht unter Windows über den Reiter „Erweitert“ in den Eigenschaften der Netzwerkkarte im Gerätemanager. Wie die Option heißt, kann der Hersteller des Treibers leider frei bestimmen, „Offload“ oder „Checksum“ kommt aber eigentlich immer im Namen der Option vor.
Alternativ können Sie auch den Netzwerkverkehr mit einem Rechner mitschneiden, der nicht an der Kommunikation teilnimmt. Auf die eingehenden beobachteten Pakete sollte das TCP Offloading dort keinen Einfluss haben.
Sie können auch einfach den Farbfilter in Wireshark deaktivieren, der die Pakete mit falschen Checksummen hervorhebt, und eine der anderen Methoden nur nutzen, wenn Sie wirklich ein Checksummenproblem suchen.
Einige Ethernet-Chip-Hersteller haben zwar TCP Offload schon in ihren Linux-Kernel-Treibern implementiert. Doch die Kernel-Verwalter haben diese Änderungen abgelehnt (siehe www.linux-foundation.org/en/Net: TOE). Wenn Ihr Linux-System also TCP Offload nutzt, handelt es sich um eine proprietäre Erweiterung und Sie müssen beim Chip-Hersteller nachsehen, wie man es gegebenenfalls deaktiviert. (je) (ha)