GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Diagnostizieren Sie Verbindungsprobleme mit dem Linux-Ping-Befehl

Vernetzte Computer sind heutzutage so weit verbreitet, dass die meisten von uns es für selbstverständlich halten, dass ein Computer auf der einen Seite eines Raums einen auf der anderen Seite des Raums kontaktieren kann, geschweige denn die andere Seite der Welt. Wenn es wie geplant funktioniert, macht das Netzwerk das Internet, die Cloud, Dateifreigaben, Medien-Streaming, Fernverwaltung, Drucken und vieles mehr möglich. Wenn etwas schief geht, kann es manchmal schwierig sein, es zu diagnostizieren. Eines der grundlegendsten Diagnosetools für Netzwerkkonnektivität ist der ping Befehl.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Der grundlegende Ping

Wenn Sie einen Computer in Ihrem lokalen Netzwerk oder einen Server im Internet nicht erreichen können, können Sie ihn anpingen. Ein Ping sendet ein ICMP-Paket (Internet Control Message Protocol) an eine Ziel-IP-Adresse. ICMP ist von Natur aus ein rudimentäres Format, das hauptsächlich für die Diagnose verwendet wird:Es ist im Wesentlichen ein Anruf- und Antwortsignal.

Aber es gibt einen Auftrag zur Fehlersuche, und der beginnt so nah wie möglich am Wohnort. Im Zweifelsfall pingen Sie zuerst Ihren eigenen Computer an, um sicherzustellen, dass Sie einen Netzwerkstapel ausführen. Der Computer, den Sie verwenden, wird auch als Ihr localhost bezeichnet , und ihm ist eine spezielle IP-Adresse zugewiesen, um mit sich selbst zu sprechen:12.0.0.1.

Der ping   Befehl versteht den localhost Hostname, seine IP-Adresse und eine Abkürzung von nur 0 .

Mit -c können Sie steuern, wie viele Signale Sie senden (wie in count )  Option.

$ ping 0 -c1
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms

--- 0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms

Nachdem Sie festgestellt haben, dass Ihr lokaler Netzwerkstapel betriebsbereit ist, können Sie Ihren Router anpingen. Die Adresse eines Routers beginnt normalerweise mit 192,168 oder 10. Die genaue IP-Adresse hängt von der Konfiguration Ihres Routers ab.

Wenn Sie nicht angeben, wie viele Pings gesendet werden sollen, können Sie ping stoppen von der Ausführung mit Strg +C .

$ ping 192.168.0.1 
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1)
^C

Wenn Sie Ihren Router erreichen können, bedeutet dies, dass Ihre kabelgebundene oder drahtlose Verbindung funktioniert.

Was ist mit anderen Hosts in meinem Netzwerk? Sie können alle Arten von Geräten anpingen. Nicht alle reagieren garantiert (einige Geräte verwerfen ICMP-Pakete), aber viele tun es. Zum Beispiel kann ich meinen Drucker anpingen:

$ ping 192.168.0.4 

Ping über Ihr Netzwerk hinaus

Abgesehen davon, dass Ihr eigenes Netzwerk wie erwartet funktioniert, können Sie auch über Ihren Router hinaus in die weite Welt pingen. Auch hier dürfen nicht alle Server ICMP empfangen, geschweige denn darauf antworten. Es gibt jedoch einige, die dies tun, und ein wichtiger Server für das Funktionieren des Internets ist ein Nameserver.

Der DNS-Server von Google ist relativ leicht zu merken und antwortet auf Pings:

$ ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms

--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms

Wenn eine Website offensichtlich verschwunden ist, können Sie möglicherweise das weltweite DNS-Netzwerk sondieren, um die Adresse ihres Host-Servers herauszufinden, und diesen Server dann anpingen. Dies sagt Ihnen zumindest, ob der Host heruntergefahren ist oder ob es nur ein Problem mit dem Webserver ist.

Angenommen, Sie versuchen erfolglos, example.com zu erreichen. Suchen Sie zuerst die IP-Adresse mit dem host Befehl:

$ host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0
behandelt

Und pingen Sie dann den Host der Website per IP:

$ ping 93.184.216.34 -c 1

Ping und IPv6

Ping funktioniert sowohl über IPv4 als auch über IPv6. Die explizite Verwendung nur eines davon kann durch Angabe von -4 erzwungen werden oder -6 .

Paketgröße

Sie können die Größe der gesendeten ICMP-Pakete mit dem -s ändern Möglichkeit. Die Standardpaketgröße beträgt 56, was in Kombination mit dem 8-Byte-Header 64 ICMP-Datenbytes entspricht. Dieser Befehl sendet 43 Bytes:

$ ping -s 35 -c 5 8.8.8.8

Mit dem -D können Sie in Ihrem Terminal vor jedem Ping-Bericht einen Zeitstempel drucken Möglichkeit. Dies liefert die UNIX-Epochenzeit plus Mikrosekunden:

$ ping -D 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms

Ping-Zeit

Sie können das Zeitintervall zwischen Pings mit dem -i ändern Möglichkeit. Dies ändert das Ping-Intervall auf zwei Sekunden:

$ ping -i 2 

Sie können das Ping auch nach einem bestimmten Zeitwert (in Sekunden) mit -w beenden Möglichkeit:

$ ping -w 6

Varianten

Es gibt viele Implementierungen von Ping. Die iputils Paket stellt einen ping bereit Befehl, Busybox hat einen ping Befehl, und es gibt einen von BSD und andere. Es gibt sogar eine GUI für ping :Gping ist für Linux, macOS und Windows verfügbar. Weitere Informationen finden Sie unter gping auf Github.

Ping lernen

Der ping Befehl ist einfach, aber es kann Augen und Ohren auf die Weite Ihres Netzwerks richten. Wenn Sie das nächste Mal Verbindungsprobleme haben, lassen Sie ping Seien Sie das erste Tool, an das Sie sich wenden.


Linux
  1. Planen von Aufgaben mit dem Linux-Cron-Befehl

  2. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  3. Ersetzen Sie intelligente Anführungszeichen durch den Linux-Befehl sed

  4. Erste Schritte mit dem Linux-tac-Befehl

  5. Erste Schritte mit dem Linux-cat-Befehl

So verwenden Sie den who-Befehl in Linux mit Beispielen

So verwenden Sie den Linux-Ping-Befehl

Ping-Befehl unter Linux

Linux-IP-Befehl mit Beispielen

So finden Sie Dateien mit dem fd-Befehl in Linux

Linux-Ping-Befehl