Eine falsche Prüfsumme in einem VPN-Mitschnitt ist keine Dateikorruption
Ein Mitschnitt kann ein Paket sehen, bevor der Adapter es fertigstellt. Trennen Sie das Urteil des Analysators von der erhaltenen Datei und weisen Sie die Integrität per Hash nach.
Der Analysator markiert ein Paket als eines mit falscher Prüfsumme, und eine heruntergeladene Datei sieht falsch aus, also werden beide Beobachtungen zu einer einzigen Geschichte über Korruption im VPN verschmolzen. Es sind verschiedene Messungen an verschiedenen Punkten. Die eine beschreibt, was der Mitschnittmechanismus sah, bevor der Netzwerkadapter seine Arbeit beendet hatte; die andere beschreibt die Bytes, die die Anwendung gespeichert hat. Festzustellen, welche von beiden sich tatsächlich verändert hat, ist die gesamte Diagnose.
Wo der Mitschnitt relativ zum Adapter sitzt
Ein Paketmitschnitt ist eine Momentaufnahme an einem Punkt eines Pfades, der mehrere Umwandlungen enthält. Zwischen dem Host-Stack und dem Draht liegen Segmentierung, Prüfsummenberechnung und beim Empfang das Zusammenfassen. Ein Mitschnittpunkt zeigt den Zustand in diesem Augenblick, der selten mit dem endgültigen Frame auf dem Draht identisch ist. Ihn zu lesen, als wäre er der Draht, ist genau der Weg, auf dem ein Platzhalterfeld zur Anschuldigung wird.
Die nützliche Frage zu jedem verdächtigen Feld ist daher nicht, ob es falsch aussieht, sondern wo es beobachtet wurde. Schreiben Sie die Mitschnittschnittstelle, die Analysatorversion und die Paketebene neben den Befund; ohne diese drei lässt sich ein Prüfsummenetikett überhaupt nicht deuten.
Was Sende-Offload mit einer Aufzeichnung macht
Bei aktiviertem Sende-Prüfsummen-Offload berechnet der Adapter die Prüfsumme und füllt das Feld erst, nachdem der Host das Paket eingereiht hat. Ein Mitschnitt auf Hostseite zeichnet daher einen Platzhalter auf, und der Analysator meldet eine Prüfsumme, die der Draht nie trug. Segmentierungs-Offload erzeugt ein ähnliches Artefakt, weil der Host dem Adapter einen großen Puffer übergeben kann, der später zu mehreren Frames wird.
Die Offload-Referenz von Wireshark beschreibt beide Effekte und merkt an, dass das Erkennen von Teilprüfsummen von der Analysatorversion und dem Pakettyp abhängt. Deshalb können ein älteres Mitschnittwerkzeug und ein neueres über dieselbe Aufzeichnung uneins sein, während beide sie korrekt lesen.
Kapselung fügt ein zweites Objekt hinzu
Ein VPN fügt ein zweites Paket ins Bild ein. Die Tunnelschnittstelle zeigt das innere Paket, das die Anwendung wirklich gesendet hat, während die physische Schnittstelle die äußere gekapselte Verbindung zeigt, die es trägt. Eine Prüfsumme oder Länge aus dem inneren Paket gehört nicht zum äußeren Frame, und beide zu vergleichen, als beschrieben sie dasselbe Objekt, ergibt Unsinn.
Wenn Sie vergleichen müssen, vergleichen Sie Gleiches mit Gleichem: inneres mit innerem, äußeres mit äußerem, am selben Punkt im Pfad. Ein unpassendes Feldpaar beweist nur, dass zwei verschiedene Objekte gemessen wurden. Notieren Sie, von welcher Schnittstelle jede Aufzeichnung stammt, denn ein sauber aussehender Tunnelmitschnitt sagt nichts darüber aus, was der Adapter ausgab.
Dateiintegrität mit Hashes nachweisen
Für die Datei selbst berechnen Sie einen Inhalts-Hash einer reproduzierbaren Quelle und des gespeicherten Ergebnisses und vergleichen die Prüfwerte. Das beantwortet eine andere Frage als jedes Etikett pro Paket, und es beantwortet sie für das Objekt, das dem Benutzer wirklich wichtig ist.
sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head
Gleiche Prüfwerte schließen die Korruptionsfrage für diesen Transfer. Verschiedene Prüfwerte eröffnen eine engere: Finden Sie die früheste Stufe, an der die Bytes auseinanderlaufen, und prüfen Sie, ob etwas die Datei absichtlich umgewandelt hat. Ein teilweises Speichern, ein neu kodierter Anhang und eine unter dem erwarteten Dateinamen gespeicherte Fehlerseite verändern Bytes ohne jeden Netzfehler.
Einen Adapterpfad eingrenzen, ohne ihn dauerhaft zu machen
Bei einem reproduzierbaren Problem, das einem Dock oder Adapter folgt, halten Sie VPN-Profil, Anwendung, Testobjekt und Ziel fest und wiederholen Sie die Übertragung über eine unterstützte alternative Schnittstelle. Ein Ergebnis, das sich mit dem Adapter ändert, grenzt den Fehler auf diesen Pfad ein; es benennt noch keine Treibereinstellung und beweist keinen modellweiten Defekt.
Offload global abzuschalten ist ein verlockender Test und ein schlechter Standard. Eine hostweite Einstellung betrifft Verkehr weit über das Experiment hinaus und kann echte Leistungskosten verursachen, daher behandeln Sie jede solche Änderung als vorübergehend, halten Sie sie fest und machen Sie sie rückgängig. Nutzen Sie die unterstützte Diagnose des Herstellers, bevor Sie einen Workaround behalten, der von einem anderen Rechner übernommen wurde.
Der Bericht sollte angeben, welches der drei Ergebnisse sich geändert hat: die Deutung eines Pakets durch den Analysator, die fertigen Anwendungsbytes oder die Reproduzierbarkeit eines Adapterpfads. Diese führen zu drei verschiedenen nächsten Schritten, und nur einer davon betrifft Verschlüsselung.