Beheben von Netzwerkproblemen unter Linux

Beheben von Netzwerkproblemen unter Linux

In diesem Artikel erklären wir, wie Sie Netzwerkprobleme unter Linux mit dem Befehl tcpdump beheben.

tcpdump ist ein flexibler, leistungsstarker Befehlszeilen-Paketanalysator; und libpcap, eine portable C/C++-Bibliothek zur Erfassung des Netzwerkverkehrs. Als leistungsstarkes und vielseitiges Tool mit vielen Optionen und Filtern kann tcpdump in einer Vielzahl von Fällen verwendet werden. Da es sich um ein Befehlszeilentool handelt, ist es ideal, um auf entfernten Servern oder Geräten ausgeführt zu werden, für die keine GUI verfügbar ist, um Daten zu sammeln, die später analysiert werden können. Es kann auch im Hintergrund oder als geplanter Job mit Tools wie Cron gestartet werden.

Beginnen Sie mit dem Installationsprozess.

1. tcpdump installieren

Wenn tcpdump noch nicht auf Ihrem System installiert ist, können Sie es mit dem folgenden Befehl installieren:

Für CentOS- oder Red Hat Enterprise Linux-basierte Systeme:

# dnf install tcpdump -y

Für Ubuntu-basierte Systeme:

# apt-get install tcpdump -y

2. Überprüfen Sie die Installation

Um die Installation zu überprüfen, verwenden Sie den folgenden Befehl:

# which tcpdump

Ausgabe:

/usr/sbin/tcpdump

Erfassen Sie Pakete mit tcpdump

Überprüfen Sie vor dem Erfassen der Pakete die Netzwerkschnittstelle mit den folgenden Befehlen:

# tcpdump -D

Es werden alle verfügbaren Netzwerkschnittstellen angezeigt.

Beginnen wir nun mit der Erfassung einiger Pakete mit den folgenden Befehlen:

# tcpdump --interface any

Tcpdump erfasst weiterhin Pakete, bis es ein Interrupt-Signal empfängt. Sie können die Aufnahme unterbrechen, indem Sie Strg+C drücken. Um die Anzahl der erfassten Pakete zu begrenzen und tcpdump zu stoppen, verwenden Sie die Option -c (für count):

# tcpdump -i any -c 10

Namensauflösung deaktivieren

Bei der Behebung von Netzwerkproblemen ist es oft einfacher, die IP-Adressen und Portnummern zu verwenden. deaktivieren Sie die Namensauflösung mit der Option -n und die Portauflösung mit -nn:

# tcpdump -i any -c5 -nn

Wie der obige Befehl erfasst die Ausgabe jetzt die IP-Adressen und Portnummern.

Pakete filtern

Eine der leistungsstärksten Funktionen von tcpdump ist die Fähigkeit, die erfassten Pakete anhand einer Vielzahl von Parametern zu filtern, wie z. B. Quell- und Ziel-IP-Adressen, Ports, Protokolle usw. Sehen wir uns einige der gängigsten an.

Um nur ICMP-Pakete zu erfassen, verwenden Sie die folgenden Befehle:

# tcpdump -i any -c10 icmp

Beschränken Sie die Erfassung auf nur Pakete, die sich auf einen bestimmten Host beziehen, indem Sie den Hostfilter verwenden:

# tcpdump -i any -c5 -nn host 192.168.0.12

Der obige Befehl erfasst und zeigt nur Pakete von und zu Host 192.168.0.12 an.

Um Pakete nach dem gewünschten Dienst oder Port zu filtern, verwenden Sie den Portfilter. Erfassen Sie beispielsweise Pakete, die sich auf einen Webdienst (HTTP) beziehen, indem Sie diesen Befehl verwenden:

# tcpdump -i any -c10 -nn port 80

Zum Filtern von Paketen basierend auf der Quell- oder Ziel-IP-Adresse oder dem Hostnamen. Um beispielsweise Pakete von Host 192.168.0.12 zu erfassen:

# tcpdump -i any -c10 -nn src 192.168.0.12

Captures in einer Datei speichern

Um Pakete in einer Datei zu speichern, anstatt sie auf dem Bildschirm anzuzeigen, verwenden Sie die Option -w (für write):

# tcpdump -i any -c10 -nn -w webserver.pcap port 80

Der obige Befehl ermöglicht es beispielsweise, Pakete im Batch-Modus über Nacht zu erfassen und die Ergebnisse am Morgen zu überprüfen. Es hilft auch, wenn zu viele Pakete analysiert werden müssen, da die Echtzeiterfassung zu schnell erfolgen kann.

Weitere Beispielbefehle

Zum Drucken der Start- und Endpakete (die SYN- und FIN-Pakete) jeder TCP-Konversation, an der ein nicht lokaler Host beteiligt ist.

# tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Um die TCP-Pakete mit den beiden gesetzten Flags RST und ACK zu drucken. (dh wählen Sie nur die RST- und ACK-Flags im Flags-Feld aus, und wenn das Ergebnis "RST und ACK beide gesetzt" ist, stimmen Sie überein)

# tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

Um alle IPv4-HTTP-Pakete von und zu Port 80 zu drucken, dh nur Pakete zu drucken, die Daten enthalten, nicht beispielsweise SYN- und FIN-Pakete und nur ACK-Pakete. (IPv6 wird dem Leser als Übung überlassen.)

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) -="" ((tcp[12]&0xf0)="">>2)) != 0)'

So drucken Sie IP-Pakete, die länger als 576 Byte sind und über Gateway-Snup gesendet werden:

# tcpdump 'gateway snup and ip[2:2] > 576'

So drucken Sie IP-Broadcast- oder Multicast-Pakete, die nicht über Ethernet-Broadcast oder Multicast gesendet wurden:

# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

So drucken Sie alle ICMP-Pakete, die keine Echo-Anfragen/Antworten sind (dh keine Ping-Pakete):

# tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Überprüfen Sie die Manpage mit dem folgenden Befehl:

# man tcpdump

In diesem Artikel haben wir gesehen, wie Sie Netzwerkprobleme unter Linux mit dem Befehl tcpump beheben können.

Holen Sie sich einen leistungsstarken dedizierten Dual-Server der E5-Serie und einen günstigen KVM-VPS.


So installieren und konfigurieren Sie CSF (ConfigServer Security & Firewall) unter CentOS 7

So installieren und konfigurieren Sie CSF (ConfigServer Security & Firewall) unter CentOS 7

ConfigServer Security & Firewall (kurz auch csf genannt) ist eine Stateful Packet Inspection (SPI) Firewall. Erfahren Sie, wie Sie CSF unter CentOS 7 installieren und konfigurieren

So installieren Sie den R1Soft Backup Agent auf CentOS

So installieren Sie den R1Soft Backup Agent auf CentOS

Erfahren Sie, wie Sie den R1Soft Backup Agent auf CentOS installieren und konfigurieren. R1Soft Server Backup Manager bietet Dienstanbietern eine flexible, serverfreundliche Lösung.

So ändern Sie CloudLinux LVE-Limits

So ändern Sie CloudLinux LVE-Limits

In diesem Artikel haben wir erklärt, wie man CloudLinux LVE-Limits ändert. Also lasst uns anfangen. CloudLinux LVE-Limits können mithilfe von LVE Manager geändert werden.

So ändern Sie SSH des Ports des Linux-Servers

So ändern Sie SSH des Ports des Linux-Servers

Um den SSH-Port des Linux-Servers zu ändern, müssen Sie sich über SSH beim Server anmelden und die SSH-Konfigurationsdatei ändern.

So installieren Sie Centova Cast auf CentOS

So installieren Sie Centova Cast auf CentOS

Centova Cast ist die führende Verwaltungsplattform für Internetradio-Streams, die Stream-Hosting-Providern umfassende Einblicke und Kontrolle bietet.Centova Cast

So richten Sie Mail-Relay auf Ihrem Mail-Server ein

So richten Sie Mail-Relay auf Ihrem Mail-Server ein

Sie können die E-Mail-Versandprobleme beheben, indem Sie die folgenden E-Mail-Relay-Einstellungen verwenden.

So installieren Sie Apache, MariaDB, PHP und phpMyAdmin in Ubuntu 18.04

So installieren Sie Apache, MariaDB, PHP und phpMyAdmin in Ubuntu 18.04

Wir werden lernen, Apache MariaDB PHP und PHPMyAdmin auf dem Ubuntu 18.04-Server zu installieren. Apache, MySQL/MariaDB und PHP bestehen aus Paketen. Es ist bekannt als LAMP

Lernen Sie die grundlegende Benutzerverwaltung unter Linux

Lernen Sie die grundlegende Benutzerverwaltung unter Linux

Möchten Sie einen Benutzer in Linux hinzufügen, ändern oder löschen? Hier ist der perfekte Artikel für Sie.

Lernen Sie die grundlegende Gruppenverwaltung in Linux

Lernen Sie die grundlegende Gruppenverwaltung in Linux

Erfahren Sie mehr über die Gruppenverwaltung unter Linux. So fügen Sie eine Gruppe hinzu, ändern eine Gruppe und löschen eine Gruppe, fügen Mitglieder in Linux hinzu. Erstellen Sie eine neue Gruppe, verwenden Sie den Befehl groupadd.

Erfahren Sie, wie Sie Fail2ban auf CentOS 7 installieren

Erfahren Sie, wie Sie Fail2ban auf CentOS 7 installieren

Fail2ban ist sehr nützlich, um die SSH-Verbindung zu sichern. Jetzt sollten Sie in der Lage sein, fail2ban auf centos7 zu installieren und zu konfigurieren. Fügen Sie dem Server eine zusätzliche Sicherheitsebene hinzu