Der ping
-Befehl ist eines der am häufigsten verwendeten Tools zum Beheben, Testen und Diagnostizieren von Netzwerkverbindungsproblemen.
Ping sendet ein oder mehrere ICMP-Echo-Request-Pakete (Internet Control Message Protocol) an eine bestimmte Ziel-IP im Netzwerk und wartet auf eine Antwort. Wenn das Ziel das Paket empfängt, antwortet es mit einer ICMP-Echo-Antwort.
Mit dem ping
Befehl können Sie bestimmen, ob eine entfernte Ziel-IP aktiv oder inaktiv ist. Sie können auch die Roundtrip-Verzögerung bei der Kommunikation mit dem Ziel finden und prüfen, ob ein Paketverlust vorliegt.
ping
ist Teil der iputils
(oder iputils-ping
)-Paket, das auf fast allen Linux-Distributionen vorinstalliert ist. Es ist auch für Windows, macOS und FreeBSD verfügbar.
So verwenden Sie den Ping-Befehl #
Die Syntax für den Ping-Befehl lautet wie folgt:
ping [OPTIONS] DESTINATION
Um besser zu veranschaulichen, wie der Ping-Befehl funktioniert, pingen wir google.com
an :
ping google.com
Die Ausgabe sieht in etwa so aus:
PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
Der ping
Der Befehl löst den Domänennamen in eine IP-Adresse auf und beginnt mit dem Senden von ICMP-Paketen an die Ziel-IP. Wenn die Ziel-IP erreichbar ist, antwortet sie zurück und der Ping-Befehl gibt eine Zeile aus, die die folgenden Felder enthält:
- Die Anzahl der Datenbytes. Der Standardwert ist 56, was 64 ICMP-Datenbytes entspricht -
64 bytes
. - Die IP-Adresse des Ziels –
from muc11s01-in-f14.1e100.net (172.217.22.206)
. - Die ICMP-Sequenznummer für jedes Paket.
icmp_seq=1
. - Die Zeit zu leben. -
ttl=53
- Wie funktioniert TTL?. - Die Ping-Zeit, gemessen in Millisekunden, d. h. die Umlaufzeit für das Paket, um den Host zu erreichen, und die Antwort, um an den Absender zurückzusenden. -
time=41.4 ms
.
Standardmäßig beträgt das Intervall zwischen dem Senden eines neuen Pakets eine Sekunde.
Der ping
Der Befehl sendet weiterhin ICMP-Pakete an die Ziel-IP-Adresse, bis er einen Interrupt empfängt. Um den Befehl zu stoppen, drücken Sie einfach Ctrl+C
Tastenkombination.
Sobald der Befehl stoppt, zeigt er eine Statistik an, einschließlich des Prozentsatzes des Paketverlusts. Der Paketverlust bedeutet, dass die Daten irgendwo im Netzwerk gelöscht wurden, was auf ein Problem im Netzwerk hinweist. Bei einem Paketverlust können Sie den traceroute
verwenden Befehl, um zu identifizieren, wo der Paketverlust auftritt.
Wenn ping
keine Antwort zurücksendet, bedeutet dies, dass die Netzwerkkommunikation nicht hergestellt wurde. Wenn dies passiert, bedeutet dies nicht immer, dass die Ziel-IP nicht aktiv ist. Einige Hosts haben möglicherweise eine Firewall, die den ICMP-Verkehr blockiert oder so eingestellt ist, dass sie nicht auf Ping-Anfragen antwortet.
Bei Erfolg wird der ping
Der Befehl wird mit dem Code 0
beendet . Andernfalls wird es mit dem Code 1
beendet oder 2
. Dies kann nützlich sein, wenn Sie den ping
verwenden Dienstprogramm in einem Shell-Skript.
In den folgenden Abschnitten gehen wir auf die am häufigsten verwendeten ping
ein Befehlsoptionen.
Geben Sie die Anzahl der Pakete an #
Wie bereits erwähnt, standardmäßig ping
sendet solange ICMP-Pakete, bis ein Interrupt-Signal empfangen wird. Um die Anzahl der zu sendenden Echo-Request-Pakete anzugeben, nach denen Ping beendet wird, verwenden Sie den -c
Option gefolgt von der Anzahl der Pakete:
ping -c 1 DESTINATION
Zum Beispiel, um linuxize.com
zu pingen nur einmal würden Sie verwenden:
ping -c 1 linuxize.com
Geben Sie die Quellschnittstelle # an
Das Standardverhalten des ping
Befehl ist, ICMP-Pakete über die Standardroute zu senden. Wenn Sie mehrere Schnittstellen auf Ihrem Computer haben, können Sie die Quellschnittstelle mit dem -I
angeben Möglichkeit:
ping -I INTERFACE_NAME DESTINATION
Der folgende Befehl pingt linuxize.com
an mit em2
als Quellschnittstelle:
ping -I em2 linuxize.com
Geben Sie das Internetprotokoll # an
Wenn Sie ping
ausführen Befehl, wird entweder IPv4 oder IPv6 verwendet, abhängig von den DNS-Einstellungen Ihres Computers.
Um ping
zu erzwingen Um IPv4 zu verwenden, übergeben Sie -4
Option, oder verwenden Sie den Alias ping4
:
ping -4 DESTINATION
Übergeben Sie für IPv6 den -6
Option oder verwenden Sie ping6
:
ping -6 DESTINATION
Schlussfolgerung #
ping
ist ein Befehlszeilen-Netzwerkdienstprogramm, mit dem Sie die Konnektivität auf IP-Ebene eines bestimmten Hosts im Netzwerk testen können.
Um alle verfügbaren Optionen des ping
anzuzeigen geben Sie man ping
ein in Ihrem Terminal.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.