Drei verschiedene Werkzeuge melden drei verschiedene Duplikate, und nur eines davon ist ein Netzwerkereignis, auf das Sie reagieren können. Eine TCP-Neuübertragung ist ein Sender, der einen Bereich erneut sendet, ein doppeltes ACK ist ein Empfänger, der eine Bestätigung wiederholt, und eine ESP-Replay-Verwerfung ist eine Sicherheitsassoziation, die eine Sequenznummer ablehnt, die sie bereits akzeptiert hat. Keines der drei impliziert eines der anderen. Lesen Sie jeden Zähler auf der Schicht, die ihn erzeugt, bevor Sie sie zu einer Geschichte verbinden.

Drei Zähler, die nie dasselbe Ereignis messen

Die TCP-Neuübertragungs-Annotation bedeutet, dass der Sender einen Sequenzbereich erneut auf die Leitung gelegt hat. Verlust ist einer der Gründe dafür, und der Aufzeichnung, die Sie haben, fehlt vielleicht einfach das ursprüngliche Paket oder die Bestätigung, die das Timing erklären würde. Ein doppeltes ACK ist der Empfänger, der eine kumulative Bestätigung nach den TCP-Wiederherstellungsregeln wiederholt, was weder ein doppeltes Anwendungsschreiben noch eine zweite Kopie der Daten ist.

ESP arbeitet in seinem eigenen Sequenzraum. Jede Sicherheitsassoziation nummeriert die Pakete, die sie sendet, und der Empfänger hält ein Fenster bereits akzeptierter Nummern, sodass ein ESP-Paket, das zweimal ankommt, allein deshalb verworfen wird. Ein erneut gesendetes TCP-Segment reist daher in einem frischen ESP-Paket mit einer frischen Sequenznummer, was auf beiden Schichten korrektes Verhalten ist. Dieselben Bytes können in einem Zähler neu und in einem anderen alt aussehen, und keine der beiden Schichten lügt.

Was der Analyzer sehen kann und was nicht

Beginnen Sie mit dem Vokabular des Analyzers, denn die Filternamen beschreiben Beobachtungen und nicht das Innere der Endpunkte. Mit denselben Namen zu zählen, die das Werkzeug verwendet, hält Sie ehrlich darüber, was tatsächlich gemessen wurde. Eine Zählung aus einer unvollständigen Aufzeichnung ist eine Zählung dessen, was überlebt hat, nicht dessen, was auf der Leitung geschah.

tshark -r trace.pcap -Y "tcp.analysis.retransmission" | wc -l
tshark -r trace.pcap -Y "tcp.analysis.duplicate_ack" | wc -l

Lesen Sie die Experteninformationen neben diesen Zahlen, denn Prüfsummen- und Reihenfolgewarnungen ändern, wie viel Gewicht sie verdienen. Eine zusammengeführte Spur zweier Sensoren kann einen Rahmen zweimal zeigen, und beide Kopien zu zählen erfindet ein Wiederherstellungsereignis, das nie stattfand.

ESP-Zähler leben im Kernelzustand

ESP-Sequenznummern gehören zur Sicherheitsassoziation, nicht zum TCP-Strom, also ist das Gateway der Ort, an dem Sie fragen. Die Zustandsauflistung meldet Paket- und Fehlerzähler pro Assoziation, die keine Aufzeichnung rekonstruieren kann.

ip -s xfrm state
tshark -r trace.pcap -Y "esp" -T fields -e esp.seq | head

RFC 4303 definiert die Sequenznummer und das Anti-Replay-Fenster, das sie verbraucht, weshalb der Zähler auch dann steigt, wenn nichts falsch ist. Monotone äußere Sequenznummern ohne passende TCP-Anomalie deuten auf einen anderen Sender oder einen duplizierten Pfad hin statt auf einen Neuübertragungssturm. Eine äußere Aufzeichnung eines verschlüsselten Tunnels verbirgt normalerweise die inneren TCP-Sequenznummern, kann also nicht beweisen, was der innere Stack getan hat. Zeichnen Sie nur dort im Tunnel auf, wo die Richtlinie es erlaubt, und schalten Sie niemals Anti-Replay ab, um eine unabhängige Warnung zu verstummen.

Wo der Beobachtungspunkt die Antwort ändert

Bevor Sie eskalieren, notieren Sie, wie die Aufzeichnung entstand: die Schnittstelle, ob der Aufzeichnungsprozess Verluste meldete und ob die Zeitstempel zwischen Sensoren vergleichbar sind. Ein Beobachtungspunkt kann nicht beide Enden eines Pfades sehen, also ist jede Aussage über das Empfängerverhalten eine Schlussfolgerung und keine Messung. Eine am Gateway genommene Spur und eine am Host genommene Spur werden unter Last über die Reihenfolge uneinig sein, und diese Uneinigkeit gehört meist zur Aufzeichnung und nicht zum Tunnel. Zwei Sichten zu korrelieren macht aus einer Zählung einen Beweis.

Verwenden Sie einen erlaubten Anwendungsfluss und notieren Sie die Endpunktzähler neben den Zählungen der Aufzeichnung im selben Moment. Wenn die Zahlen nicht übereinstimmen, vertrauen Sie der Schicht, die das Ereignis besitzt, und behandeln Sie die andere als Beobachtungsartefakt, bis das Gegenteil bewiesen ist. Diese Regel erledigt die meisten dieser Fälle, ohne die Tunnelkonfiguration anzufassen.

Die Zahlen in der richtigen Reihenfolge lesen

Beginnen Sie bei der Schicht, in der die Frage gestellt wurde: Eine TCP-Warnung wird aus einer TCP-Aufzeichnung beantwortet, und eine ESP-Verwerfung wird aus den Zählern der Sicherheitsassoziation am Gateway beantwortet. Erst dann fragen Sie, ob die beiden Sichten dasselbe Paket beschreiben. Eine Schlussfolgerung, die beide Schichten braucht, sollte beide nennen, denn eine Behauptung über den Tunnel, die allein auf einer TCP-Annotation ruht, ist eine Vermutung.

Notieren Sie Schicht, Zähler und Beobachtungspunkt für jeden Befund, und der nächste Leser wird nicht drei Ereignisse zu einem eingebildeten Fehler verschmelzen. Eskalieren Sie mit diesen drei Feldern, und die Behebung folgt meist aus dem ersten.

Ähnliche Artikel