Vorwort Einfach ausgedrückt ist tcpdump ein Paketanalysetool, das den Datenverkehr in einem Netzwerk ausgibt und Datenpakete im Netzwerk entsprechend der Definition des Benutzers abfängt. Tcpdump kann den „Header“ der im Netzwerk übertragenen Datenpakete vollständig abfangen und analysieren. Es unterstützt das Filtern nach Netzwerkschicht, Protokoll, Host, Netzwerk oder Port und bietet logische Anweisungen wie „und“, „oder“, „nicht“, um Ihnen dabei zu helfen, unnütze Informationen zu entfernen. Wenn ich vom Befehl tcpdump spreche, muss ich die Entwicklung und Implementierung des CRM-Systems der dritten Generation der Niederlassung Inner Mongolia von China Mobile erwähnen, an der ich beteiligt war. Wenn ich mich richtig erinnere, müsste es 2016 sein. Ich war alleinverantwortlich für die Gesamtumgestaltung des Self-Service-Kanals des gesamten 10086-Kundenservice-Systems. Während der Stresstestphase des Systems kam es beim Aufruf der Schnittstellenplattform immer wieder zu Timeouts. Später wurde dieses Problem immer schwerwiegender. Gleichzeitig wurde dieses Problem auch auf dem Kurzzeit-Hallenkanal und dem CBOSS-Kanal gemeldet. Zu diesem Zeitpunkt erregte dieses Problem die Aufmerksamkeit des großen Chefs und konsultierte daraufhin Experten aller Parteien. Bei solchen Großprojekten gibt es bei der Expertenberatung immer ein Merkmal: Die Experten geben die Befehle und die jüngeren Brüder machen die Arbeit. Und dieser jüngere Bruder war ich damals. Okay, der Experte hat gesprochen, lasst uns zuerst das Paket erfassen. So begann ich mit meiner Arbeit zur Paketerfassung und meinem umfassenden Verständnis von tcpdump. Zunächst muss ich sagen, dass tcpdump ein sehr leistungsstarker Befehl ist. Aufgrund seiner leistungsstarken Funktionen ist die Verwendung dieses Befehls sehr kompliziert, was bedeutet, dass es viel Inhalt geben wird, den ich als Nächstes organisieren werde. Wenn Sie den gesamten tcpdump-Befehl beherrschen möchten, müssen Sie ein wenig Geduld haben und den gesamten Artikel lesen. OK, los geht‘s! Befehlseinführung Tcpdump ist ein leistungsstarkes Tool zur Netzwerkpaketerfassung, das auf der Linux-Plattform läuft. Wenn wir mit der Verwendung von tcpdump vertraut sind, können wir Netzwerkdaten besser analysieren und debuggen. Um tcpdump gut zu beherrschen, müssen Sie jedoch über ein gewisses Verständnis von Netzwerknachrichten (TCP/IP-Protokoll) verfügen. Für eine einfache Nutzung genügen allerdings grundlegende Netzwerkkonzepte. Als klassisches, unverzichtbares Tool für Systemadministratoren im Internet ist tcpdump mit seinen leistungsstarken Funktionen und flexiblen Abfangstrategien zu einem der unverzichtbaren Tools für jeden erfahrenen Systemadministrator geworden, um das Netzwerk zu analysieren und Probleme zu beheben. Bei der tatsächlichen Arbeit müssen Sie diesen Befehl mit Root-Rechten ausführen. tcpdump ist ein sehr komplizierter Befehl. Es ist nicht einfach, alle Aspekte davon zu verstehen, und es wird nicht empfohlen. Der Schlüssel liegt darin, ihn zur Lösung von Problemen bei der täglichen Arbeit verwenden zu können. Daher werde ich mich in der folgenden Zusammenfassung mehr auf die tatsächliche Arbeit konzentrieren und einige häufig verwendete Verwendungen bei der tatsächlichen Arbeit herausstellen. Einige unbeliebte Verwendungen werde ich hier grundsätzlich nicht erwähnen. Wenn sie in Zukunft bei der Arbeit verwendet werden, werde ich sie hier aktualisieren. Detaillierte Befehlserklärung. Unten finden Sie eine Zusammenfassung einiger häufig verwendeter Optionen von tcpdump.
Obwohl der Befehl tcpdump viele Optionen hat, sind die am häufigsten verwendeten Optionen nur die oben aufgeführten. Hier werde ich mich mehr auf Anwendungsbeispiele konzentrieren und den Befehl tcpdump anhand von Anwendungsbeispielen lernen. Filter Bevor wir mit den detaillierten Anwendungsbeispielen beginnen, müssen wir uns einige grundlegende theoretische Kenntnisse zu tcpdump aneignen. Lassen Sie uns zuerst über Filter sprechen. Auf dem Server gibt es ungewöhnlich viele Netzwerknachrichten. Oft konzentrieren wir uns nur auf Datennachrichten, die sich auf bestimmte Probleme beziehen, und diese nützlichen Nachrichten machen nur einen kleinen Teil aus. Um zu verhindern, dass wir uns im Nachrichtenmeer verlieren, ist es sehr wichtig, dass wir die flexiblen und leistungsstarken Filter von tcpdump kennen. Filter können auch einfach in drei Kategorien unterteilt werden: Typ, Verzeichnis und Proto. Typ: Wird hauptsächlich verwendet, um den Quelltyp der gefilterten Nachricht zu unterscheiden, der hauptsächlich aus Host-Host-Nachrichten, Net-Netzwerksegment-Nachrichten und vom Port angegebenen Port-Nachrichten besteht. dir: Filtert nur die Quelladresse und die Zieladresse der Nachricht, hauptsächlich einschließlich der Quelladresse src und der Zieladresse dst. proto: filtert nur den Protokolltyp der Nachricht und unterstützt TCP, UDP und ICMP usw.; das Schlüsselwort proto kann bei Verwendung weggelassen werden:
Diese Filter sind unverzichtbar, wenn wir den Befehl tcpdump verwenden. Bedingungskombination Im riesigen Netzwerk ist es immer noch schwierig, das gewünschte Netzwerkpaket zu finden. Um das gewünschte Netzwerkpaket zu erfassen, gilt: Je restriktiver die Bedingungen sind, die wir in unseren Paketerfassungsbefehl aufnehmen, desto weniger irrelevante Pakete werden erfasst. Daher können wir beim Erfassen von Paketen „und“ (und &&), „oder“ (oder, ||) und „nicht“ (nicht, !) verwenden, um mehrere Bedingungen zu kombinieren. Dies ist sehr nützlich, wenn wir Netzwerkpakete basierend auf bestimmten Bedingungen analysieren müssen. Anwendungsfall Befehl: Beschreibung: Überwachen Sie die Datenpakete der angegebenen Netzwerkschnittstelle Befehl: Beschreibung: Abfangen aller vom Host 210.27.48.3 empfangenen und gesendeten Datenpakete Befehl: Beschreibung: Fangen Sie alle Datenpakete zwischen dem Host 210.27.48.3 und dem Host 210.27.48.5 oder 210.27.48.6 ab. Befehl: Beschreibung: Abfangen der Datenpakete des gesamten Netzwerks 192.168.1.0/24 Befehl: Beschreibung: Überwachen Sie alle Netzwerkpakete mit der Quelladresse 210.27.48.3 auf der eth0-Netzwerkkarte Befehl: Beschreibung: Überwachen Sie alle Netzwerkpakete auf der Netzwerkkarte eth0 mit der Zieladresse 210.27.48.3 Befehl: Beschreibung: Alle TCP-Protokollpakete abrufen, die von der Anwendung mit Port 23 auf dem Host 210.27.48.3 gesendet und empfangen werden Befehl: Beschreibung: Alle UDP-Protokollpakete abrufen, die über Port 123 des lokalen Rechners gesendet und empfangen werden Befehl: Beschreibung: Die abgefangene Quelladresse ist 10.126.1.222 und die Zieladresse ist das gesamte Netzwerk 10.126.1.0/24 Befehl: Hinweis: Nachdem Sie die Nachricht erfasst haben, speichern Sie sie im angegebenen Zeitintervall. Auf die Option -G folgt die Zeit in Sekunden. Der obige Befehl speichert alle 60 Sekunden eine Datei. Befehl: Hinweis: Speichern Sie die Pakete nach der Erfassung entsprechend der angegebenen Paketgröße. Auf die Option -C folgt die Dateigröße in MB. Der obige Befehl verwendet eine neue Datei, um die neu erfassten Pakete zu speichern, wenn die Paketerfassungsdatei 1 MB erreicht. Wie oben erwähnt, generiert tcpdump nach dem Erfassen des Pakets eine entsprechende Datei. Wie also kann diese Datei analysiert werden? Ja, es gibt eine Software namens „Wireshark“, die sich perfekt mit tcpdump kombinieren lässt, um eine visuelle Analyseoberfläche bereitzustellen. Wenn Sie interessiert sind, können Sie sie lernen. Wenn ich später Zeit habe, werde ich auch eine Einführungsreihe zu „Wireshark“ organisieren. Zusammenfassen Es hat lange gedauert, das Problem zu lösen, aber jetzt ist es endlich geschafft! Natürlich habe ich keine sehr umfassende Zusammenfassung eines so komplexen Befehls wie tcpdump bereitgestellt, aber der Inhalt, den ich hier zusammengestellt habe, wird Ihre Verwendung des Befehls tcpdump bei Ihrer Arbeit definitiv nicht beeinträchtigen. Es gilt immer noch die „80/20-Regel“. Bei komplexen Befehlen machen häufig verwendete Funktionen nur 20 % aus, und die restlichen 80 % sind relativ obskure Funktionen oder Funktionen, die bei der Arbeit selten verwendet werden. Nun, das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Meine persönliche Zusammenfassung der Installationsschritte für die MySQL 5.7-Datenbank
>>: Detaillierte Erklärung der Rolle statischer Variablen in MySQL
Inhaltsverzeichnis Einführung 1. Was ist one-clic...
[LeetCode] 183.Kunden, die nie bestellen Angenomm...
Das Uniapp-Applet wird ein ähnliches Dropdown-Pro...
1. Befehlseinführung Der Befehl tac (umgekehrte R...
MySQL-Mehrtabellenabfrage (kartesisches Produktpr...
Spezifische Methode: 1. Öffnen Sie die Eingabeauf...
Inhaltsverzeichnis 1.1 Java-Umgebung als Vorausse...
In diesem Artikelbeispiel wird der spezifische Co...
Docker-Version 1.13.1 Problemprozess Ein MySQL-Co...
Dieser Beitrag konzentriert sich auf ein streng g...
Inhaltsverzeichnis 1. istPrototyp von() Beispiel ...
Wie deinstalliere ich eine MySQL-Datenbank unter ...
Kein Lazy Loading verwenden importiere Vue von „v...
JPQL steht für Java Persistence Query Language. B...
Der folgende Befehl wird häufig verwendet: chmod ...