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

Linux-Ping-Befehl mit Beispielen erklärt

Ping ist einer der am häufigsten verwendeten Netzwerkbefehle in Linux und anderen Betriebssystemen.

Ping wird hauptsächlich verwendet, um zu überprüfen, ob ein entfernter Host erreichbar ist oder nicht. Der entfernte Host kann ein Webserver, Ihr Router oder ein System in Ihrem lokalen Netzwerk sein.

Wie funktioniert Ping? Es sendet tatsächlich kleine ICMP-Pakete an den Remote-Host und wartet auf die Antwort. Wenn der Host aktiv ist, sollten Sie eine Antwort sehen.

Es ist wie die Sonartechnologie, die in U-Booten verwendet wird. Die U-Boote senden Pulse von Audiosignalen und warten auf die Rückkehr des Echos.

Also, wie benutzt man Ping unter Linux? Was sind verschiedene Ping-Befehlsoptionen? Lassen Sie mich Ihnen einige der häufigsten Verwendungen des Ping-Befehls zeigen.

Wussten Sie schon? Der Ping-Befehl wird korrekt als PING geschrieben und steht für Packet Internet Groper.

Ping-Befehl unter Linux verwenden

Sie können den Ping-Befehl entweder mit der IP-Adresse oder dem Hostnamen/der URL verwenden.

Angenommen, ich pinge Google an. Es sendet ICMP-Pakete der Größe 56 Bytes an google.com.

ping google.com
PING google.com (108.177.122.102) 56(84) bytes of data.
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=1 ttl=42 time=325 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=2 ttl=42 time=387 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=3 ttl=42 time=319 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=4 ttl=42 time=321 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 319.697/338.496/387.785/28.527 ms

Sie müssen den Ping-Befehl manuell stoppen, sonst läuft er weiter. Sie können die Tastenkombination Strg+C verwenden, um den Ping-Befehl unter Linux zu stoppen, wie ich es im obigen Beispiel getan habe.

Wenn Sie den Ping-Befehl stoppen, wird Ihnen eine Zusammenfassung der Übertragung angezeigt. Sie können Statistiken wie die Anzahl der übertragenen ICMP-Pakete, empfangenen Pakete, verlorenen Pakete usw. sehen.

Nachdem Sie nun wissen, wie man unter Linux pingt, sehen wir uns einige der anderen Ping-Befehlsoptionen an.

Sende nur N Pakete

Wenn Sie nicht möchten, dass der Ping-Befehl endlos ausgeführt wird, ohne ihn manuell zu stoppen, können Sie die Option -c verwenden.

Damit können Sie die Anzahl der Pakete angeben, die der Ping-Befehl senden soll, bevor er automatisch stoppt.

ping -c 2 104.248.179.115
 PING 104.248.179.115 (104.248.179.115) 56(84) bytes of data.
 64 bytes from 104.248.179.115: icmp_seq=1 ttl=50 time=315 ms
 64 bytes from 104.248.179.115: icmp_seq=2 ttl=50 time=423 ms
 --- 104.248.179.115 ping statistics ---
 2 packets transmitted, 2 received, 0% packet loss, time 1000ms
 rtt min/avg/max/mdev = 315.208/369.190/423.172/53.982 ms

Ping nur für begrenzte Zeit senden

Neben der Anzahl der zu sendenden Pakete können Sie auch festlegen, wie lange die Pakete gesendet werden.

Wenn Sie zum Beispiel Ping-Pakete nur für 5 Sekunden senden möchten, können Sie es so verwenden:

ping -w 5 google.com
 PING google.com (64.233.177.138) 56(84) bytes of data.
 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=1 ttl=40 time=407 ms
 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=2 ttl=40 time=320 ms
 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=3 ttl=40 time=323 ms
 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=4 ttl=40 time=472 ms
 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=5 ttl=40 time=406 ms
 --- google.com ping statistics ---
 5 packets transmitted, 5 received, 0% packet loss, time 4002ms
 rtt min/avg/max/mdev = 320.634/385.993/472.056/57.309 ms

Ändere das Zeitintervall zwischen zwei Pings

Standardmäßig sendet ping die Pakete im Abstand von einer Sekunde. Sie können dieses Zeitintervall mit der Option -i ändern.

Um die ICMP-Pakete in einem Intervall von 3 Sekunden zu senden, können Sie den Ping-Befehl wie folgt verwenden:

ping -i 3 31.13.90.36

Sie können auch das Zeitintervall zwischen Pings verringern.

ping -i 0.5 31.13.90.36

Wenn Sie jedoch versuchen, das Zeitintervall auf unter 0,2 Sekunden (200 ms) zu verringern, wird ein Fehler angezeigt:

ping -i 0.1 31.13.90.36
PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data.
ping: cannot flood; minimal interval allowed for user is 200ms

Mach dir keine Sorgen. Sie können immer noch mit einem Intervall von weniger als 200 ms pingen. Aber dazu müssen Sie den Ping mit Root-Rechten verwenden.

sudo ping -i 0.1 31.13.90.36
PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data.
64 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=470 ms
64 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=372 ms

Paketgröße ändern

Die von Ping gesendete Standard-ICMP-Paketgröße beträgt 56 Byte. Dies kann auch mit Hilfe des Befehls -s geändert werden.

ping -s 100 31.13.90.36
 PING 31.13.90.36 (31.13.90.36) 100(128) bytes of data.
 108 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=234 ms
 108 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=257 ms
 108 bytes from 31.13.90.36: icmp_seq=3 ttl=49 time=280 ms
 ^C
 --- 31.13.90.36 ping statistics ---
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms
 rtt min/avg/max/mdev = 234.208/257.352/280.424/18.867 ms

DoS-Angriff mit Ping-Flooding, auch Ping of Death genannt

Einer der einfachsten DoS-Angriffe ist der Ping of Death. Bei dieser Art von Angriff sendet der Angreifer in sehr kurzer Zeit eine große Anzahl von Ping-Anfragen. Wenn der Server nicht gut konfiguriert ist, wird er bei der Verarbeitung der Ping-Anforderung zusammenbrechen und die Website wird heruntergefahren.

Der Ping-Befehl hat dafür eine eingebaute „Funktion“. Dies wird als Ping-Flooding bezeichnet und kann mit der Option -f erreicht werden. Sie benötigen sudo-Rechte, um diese Option ohne Intervall auszuführen.

sudo ping -f google.com 
 PING google.com (108.177.122.101) 56(84) bytes of data.
 …………………..^C    
 --- google.com ping statistics ---
 1436 packets transmitted, 1413 received, 1% packet loss, time 22837ms
 rtt min/avg/max/mdev = 313.887/326.102/388.178/7.464 ms, pipe 26, ipg/ewma 15.914/323.456 ms

Wenn Sie diesen Befehl ausführen, sehen Sie einige Punkte, die in der Ausgabe erscheinen und verschwinden. Jedes einzelne „.“ bezeichnet eine Anfrage, während die Antwort ein Backspace ist (deshalb verschwinden Punkte).

Diese Flood-Ping-Option ist nützlich, um die Lastkapazität eines Servers zu testen.

Bonus-Tipp:Sende hörbare Pings

Sie können hörbare Pings mit der Option -a senden. Damit ertönt bei jedem erfolgreichen Ping ein Signalton.

ping -a google.com

Beachten Sie, dass nicht alle Linux-Distributionen so konfiguriert sind, dass sie den Piepton erzeugen. Ich habe es auf Ubuntu 18.04 getestet und konnte den Signalton hören.

Fehlerbehebung beim Ping-Befehl

Bisher haben wir die erfolgreichen Beispiele des Ping-Befehls gesehen. Aber das wird nicht immer passieren. Lassen Sie uns einige der häufigsten Fehler sehen und den Grund für diese Fehler verstehen.

Keine Antwort auf Ping

Möglicherweise stellen Sie fest, dass bestimmte Hosts nicht auf die Ping-Anfrage antworten. Es scheint, als hätte sich der Ping-Befehl aufgehängt, weil keine Antwort erfolgt. Der Befehl bleibt einfach dort, er läuft nicht einmal ab.

Wenn Sie den Ping-Befehl beenden, sehen Sie seltsame Statistiken.

ping intel.com
PING intel.com (13.91.95.74) 56(84) bytes of data. 
 ^C
--- intel.com ping statistics ---
100 packets transmitted, 0 received, 100% packet loss, time 101362m

Wie Sie sehen können, wurden 100 Pakete übertragen, aber für keines wurde eine Antwort empfangen.

Dies liegt höchstwahrscheinlich daran, dass einige Server die ICMP-Pakete verwerfen. Dies ist eine Sicherheitsmaßnahme, um Ping-Flooding zu vermeiden.

Zielhost nicht erreichbar

Dieser Fehler kann aus einem der beiden folgenden Gründe auftreten:

  • Entweder hat das lokale System keine Route zum entfernten Host
  • oder der Endpunkt-Router hat keine Route zum entfernten Host

Wenn Sie nur den Fehler „Zielhost nicht erreichbar“ sehen, bedeutet dies, dass Ihr System keine Route zum Remotehost finden konnte.

Wenn Sie andererseits den Fehler im Teil „Antwort von “ der Antwort sehen, bedeutet dies, dass das Paket außerhalb Ihres Netzwerks gesendet wurde, aber das Ziel nicht erreichen konnte.

Manchmal blockieren Server auch den ICMP-Verkehr, der diesen Fehler anzeigen könnte.

Zeitüberschreitung der Anfrage

Dieser Fehler bedeutet, dass die Pakete den Remote-Server erreicht haben, die Antwort Ihr System jedoch nicht erreichen konnte. Das Problem könnten verlorene Pakete oder Routing-Fehler sein.

Bereit zum Ping?

Ich hoffe, dieses Tutorial hat Ihnen geholfen, den Linux-Ping-Befehl besser zu verstehen.

Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte eine Nachricht im Kommentarbereich.


Linux
  1. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  2. nslookup Linux-Befehl mit Beispielen erklärt

  3. Linux Traceroute-Befehl, erklärt mit Beispielen

  4. JQ-Befehl in Linux mit Beispielen

  5. Ping-Befehlsbeispiele unter Linux

Linux-wget-Befehl mit Beispielen erklärt

Tr-Befehl in Linux mit Beispielen erklärt

w Befehl mit Beispielen in Linux erklärt

Beispiele für Linux-Ping-Befehle

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)