Ich muss den Datenverkehr auf einem CentOS 5-Server erfassen, der als Web-Proxy mit 2 WAN-Schnittstellen und 1 LAN fungiert. Um ein seltsames Proxy-Problem zu beheben, möchte ich eine vollständige Konversation aufzeichnen. Da externe Verbindungen zwischen den beiden WAN-Schnittstellen ausgeglichen sind, frage ich mich, ob es möglich ist, auf allen Schnittstellen gleichzeitig zu erfassen.
Ich habe vorher tcpdump verwendet, aber es lässt immer nur eine Schnittstelle zu. Ich kann 3 parallele Prozesse starten, um auf allen Schnittstellen zu erfassen, aber dann erhalte ich 3 verschiedene Erfassungsdateien.
Wie geht das richtig?
wireshark
.Antworten:
Laut der tcpdump-Manpage:
Auf Linux-Systemen mit Kerneln der Version 2.2 oder höher kann ein Schnittstellenargument '' any '' verwendet werden, um Pakete von allen Schnittstellen zu erfassen. Beachten Sie, dass das Aufnehmen auf einem beliebigen Gerät nicht im Promiscuous-Modus erfolgt.
Sie sollten also Folgendes ausführen können:
tcpdump -i any
Um Daten auf allen Schnittstellen gleichzeitig in einer einzigen Erfassungsdatei zu erfassen.quelle
Die Art und Weise, wie ich dies angehen würde, besteht darin, auf jeder Schnittstelle eine separate Datei zu erstellen und diese dann zusammenzuführen. Die Schnittstelle any enthält auch lo-Verkehr, der die Erfassung verschmutzen kann.
Dies ermöglicht auch die Analyse der Paketströme pro Schnittstelle ohne komplexe Filterung.
Ich würde in 3 Terminals oder durch Hintergrund den Befehl mit & erfassen
Die Flags -nn deaktivieren die DNS-Auflösung für die Geschwindigkeit, -s 0 speichert das gesamte Paket und -w schreibt in eine Datei.
Ich würde dann die Dateien mit dem Befehl mergecap von wireshark zusammenführen:
quelle
Um einen tcpdump auf allen Schnittstellen zu erfassen, verwenden Sie
quelle