Ping ist ein einfaches, weit verbreitetes, plattformübergreifendes Netzwerk-Dienstprogramm zur Überprüfung, ob ein Host in einem Internetprotokoll (IP)-Netzwerk erreichbar ist. Es funktioniert, indem es eine Reihe von Internet Control Message Protocol (ICMP) ECHO_REQUEST-Nachrichten an den Zielhost sendet und auf eine ICMP-Echo-Antwort (oder ECHO_RESPONSE) wartet.
Sie können einen Ping-Test durchführen, um festzustellen, ob Ihr Computer mit einem anderen Computer (Zielhost) kommunizieren kann; es hilft Ihnen festzustellen:
- Ob der Zielhost erreichbar (aktiv) ist oder nicht.
- Die Zeit zu messen, die Pakete benötigen, um zum Zielhost zu gelangen und zurück zu Ihrem Computer (die Round-Trip-Zeit (rtt) bei der Kommunikation mit dem Zielhost) und
- Der Paketverlust wird als Prozentsatz ausgedrückt.
Seine Ausgabe ist eine Liste von Antworten des Zielhosts zusammen mit der Zeit, die der letzte Paket benötigt, um den Zielhost zu erreichen und zurück zu Ihrem Computer zu gelangen.
Es zeigt auch eine statistische Zusammenfassung des Tests, normalerweise einschließlich der Anzahl der übertragenen und empfangenen Pakete, des Prozentsatzes des Paketverlusts; der minimalen, maximalen, mittleren Round-Trip-Zeiten und der Standardabweichung des Mittelwerts (mdev). Wenn ein Ping-Test fehlschlägt, werden Fehlermeldungen als Ausgabe angezeigt.
Ping-Befehlsbeispiele in Linux
In diesem Artikel erklären wir 12 praktische Ping-Befehls-Beispiele zur Überprüfung der Erreichbarkeit eines Hosts in einem Netzwerk.
Inhaltsverzeichnis
1. Ping Domain oder IP-Adresse
Sie können einen einfachen Ping-Test ausführen, um festzustellen, ob der Zielrechner www.google.com erreichbar ist oder nicht. Sie können auch eine IP-Adresse anstelle des Domainnamens verwenden, wie gezeigt.
$ ping www.google.com OR $ ping 172.217.27.196
Beispielausgabe:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
Aus den Ergebnissen des obigen Befehls war der Ping erfolgreich und es wurden keine Pakete verloren. Eine wichtige Sache, die in einer Ping-Testausgabe beachtet werden sollte, ist die Zeit am Ende jeder Ping-Antwort.
Annehmen, Sie führen Ping-Tests auf Ihren Servern durch, dann ist der Wert hier sehr wichtig, abhängig von der Art der Anwendung, die auf einem Server ausgeführt wird.
Wenn Sie beispielsweise eine Webanwendung haben, bei der eine einzelne Benutzeranfrage viele Abfragen an eine oder mehrere Datenbanken zur Generierung von Ergebnissen auf der Benutzeroberfläche auslöst, dann bedeutet eine niedrigere Ping-Zeit zu diesem bestimmten Server, dass mehr Daten ohne Verzögerung übertragen werden und das Gegenteil ist der Fall.
2. Ping Echo-Anfrage
Sie können die Anzahl der ECHO_REQUESTs angeben, nach denen ping beendet werden soll, indem Sie die -c
-Flag verwenden, wie gezeigt (in diesem Fall wird der Ping-Test nach dem Senden von 5 Paketen beendet).
$ ping -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. Setzen Sie den Ping-Intervalltimeout
Die -i
-Flag ermöglicht es Ihnen, Intervalle in Sekunden zwischen dem Senden jedes Pakets festzulegen, der Standardwert beträgt eine Sekunde.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. DoS-Angriff mit Ping-Flutung, auch bekannt als Ping des Todes
Um die Reaktion Ihres Netzwerks unter Bedingungen mit hoher Last zu bestimmen, können Sie einen „Flood-Ping“ ausführen, der Anfragen so schnell wie möglich sendet, indem Sie den Schalter -f
verwenden. Nur der Root-Benutzer kann diese Option verwenden, anderenfalls verwenden Sie das sudo-Befehl, um Root-Berechtigungen zu erhalten.
$ sudo ping -f www.google.com OR $ sudo ping -f -i 3 www.google.com #specify interval between requests PING www.google.com (172.217.163.36) 56(84) bytes of data. .......................................................................................................................................................................................^C --- www.google.com ping statistics --- 2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms
5. Ping-Broadcast eines LAN
Sie können das Pingen eines Broadcasts mithilfe der Option -b
aktivieren, um eine Antwort von allen IP-Adressen zu erhalten, die mit Ihrem LAN-Netzwerk verbunden sind.
$ ping -b 192.168.0.0
6. Setzen Sie den Ping-TTL-Wert
Um die Anzahl der Netzwerk-Hops (TTL – Time-to-live), die von Proben durchlaufen werden, zu begrenzen, verwende Sie das -t
-Flag. Sie können jederzeit einen Wert zwischen 1 und 255 einstellen; verschiedene Betriebssysteme setzen verschiedene Standardwerte.
Jeder Router, der das Paket erhält, nimmt mindestens 1 von dem Zähler ab und forwardt das Paket an den nächsten Hop, wenn der Zähler noch größer als 0 ist, anderenfalls lässt er es fallen und sendet eine ICMP-Antwort zurück an Ihren Computer.
In diesem Beispiel wurde die TTL überschritten und der ping-Test ist fehlgeschlagen, wie im Screenshot dargestellt.
$ ping -t 10 www.google.com

7. Paketsize für Ping setzen
Die Standardpaketsize sollte für einen Ping-Test ausreichend sein, allerdings können Sie sie ändern, um Ihren spezifischen Testbedürfnissen gerecht zu werden. Sie können die Größe des Payloads in Bytes angeben, indem Sie die -s
Option verwenden, was zu einer Paketsize führt, die der angegebenen Zahl plus 8 zusätzliche Bytes für das ICMP-Header entspricht.
$ ping -s 1000 www.google.com
8. Ping-Vorladung setzen
Wenn eine Vorladung hinzugefügt wird, sendet ping so viele Pakete, ohne auf eine Antwort zu warten. Beachten Sie, dass nur der root eine Vorladung von mehr als 3 wählen kann, andernfalls verwenden Sie das sudo-Kommando, um root-Rechte zu erhalten.
$ sudo ping -l 5 www.google.com
9. Ping-Timeout setzen
Es ist auch möglich, die Wartezeit für eine Antwort in Sekunden mit der Option -W
festzulegen, wie gezeigt.
$ ping -W 10 www.google.com
10. Setzen Sie den Ping-Timeout in Sekunden
Um einen Timeout in Sekunden zu setzen, bevor der Ping unabhängig von der Anzahl der gesendeten oder empfangenen Pakete beendet wird, verwenden Sie die Option -w
.
$ ping -w 5 www.google.com
11. Debuggen Sie ICMP-Pakete
Mit der Option -d
können Sie die detaillierten Informationen zu den IP-Paketen im Debug-Modus aktivieren, wie gezeigt.
$ ping -d www.google.com
12. Ping-Verbose-Ausgabe
Sie können die ausführliche Ausgabe mit der Option -v
aktivieren, wie folgt.
$ ping -v www.google.com
Hinweis: Ping wird möglicherweise nicht unbedingt zum Testen der Netzwerkverbindung verwendet. Es informiert lediglich darüber, ob eine IP-Adresse aktiv oder inaktiv ist.
Es wird normalerweise zusammen mit dem Traceroute-Programm verwendet, aber MTR – ein modernes Netzwerkdiagnosetool kombiniert die Funktionen von Ping und Traceroute und bietet viele zusätzliche Funktionen.
Für eine umfassende Liste von Netzwerktools, schau dir Linux-Netzwerkverwaltung, -Fehlersuche und -Debugging
Zusammenfassung
Ping an, eine sehr verbreitete Methode zur Fehlersuche der Erreichbarkeit von Hosts in einem Netzwerk. In diesem Artikel haben wir 12 praktische Ping-Befehlsbeispiele zur Überprüfung der Erreichbarkeit eines netzwerkfähigen Geräts erklärt. Teile deine Gedanken mit uns über das Kommentarformular unten.