{{ :computer:netzwerk:Ping.jpg?200|Konsole mit Ping-Befehl}}
**ping** ist wohl eines der ältesten und bekanntesten Netzwerkdiagnosetools.
Entwickelt wurde ping in den 80er Jahren anfänglich für das BSD-Projekt. Der Name ping leitet sich von einem Schallwellensignal ab, das im zweiten Weltkrieg verwendet wurde, um U-Boote aufzuspüren.
======Funktionsprinzip======
Mit ping ist es möglich einen Zielhost oder ein ganzes Netz auf Verfügbarkeit zu überprüfen. Somit können z.B. Fehlkonfigurationen dadurch erkannt werden, dass die entsprechenden Hosts nicht erreichbar sind.
Über das ICMP-Protokoll versendet das Programm ein so genanntes "//echo request//"-Paket. Empfängt der Zielhost, bzw. das Zielnetz das Paket, so wird ein Antwortsignal zurück gesendet. Ping weiß nun, dass das Ziel erreichbar ist und zeigt auch die Latenz für diesen Paketaustausch an. Als Latenz wird die Zeit bezeichnet, die vergeht, bis auf das ausgehende "//echo request//"-Paket eine Antwort empfangen wird. Mithilfe dieser Latenz-Zeiten kann man z.B. Kabelfehler (//Abschirmung//) erkennen.
Wird kein Paket empfangen, markiert ping das Ziel nach einiger Zeit als nicht erreichbar.
Versucht ein Benutzer, über einen Router einen nicht verfügbaren Host, weil beispielsweise sein zugehöriges Netz ausgefallen ist, anzupingen, antwortet der Router, dass das Netz nicht erreichbar ist. Das tritt beispielsweise auch ein, wenn ein Netz ICMP-Pakete durch eine Firewall blockiert.
Ziele könnten sein:
* eine fixe IP Adresse (//z.B. **192.168.1.1**//)
* eine Broadcast-Adresse (//z.B. **192.168.1.255**//)
* ein Hostname (//z.B. **www.google.de**//)
ping selbst kann Hostnamen nicht direkt anpingen, sie werden erst durch das Betriebssystem, also durch den DNS-Client, aufgelöst. Kann der DNS-Client den Hostnamen in eine IP auflösen, wird diese IP an ping übergeben und das Programm beginnt mit dem Senden des "//echo request//"-Pakets. Schlägt das Auflösen fehlt, gilt das Ziel als "nicht auffindbar".
======Beispiele======
=====IP-Adresse=====
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=1.57 ms
64 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=0.687 ms
64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=0.757 ms
64 bytes from 192.168.0.254: icmp_seq=4 ttl=64 time=0.760 ms
--- 192.168.0.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.687/0.945/1.576/0.365 ms
192.168.0.254 war hier das Ziel der Anfrage. Es wurden 4 Pakete gesendet, die alle bestätigt wurden. Als letztes Informationsfeld wird die Zeit, die das Paket benötigte, angegeben. Die Zusammenfassung errechnet aus de Paketen einen prozentualen Anteil an Paketverlusten (//paket loss//), hier wurde jedes Paket empfagen. Werden manche Pakete nicht empfangen, so kann dies ein Anzeichen für Fehler in den Netzzugangsmedien (//Kabel, Leitungen//) sein.
Hier handelt es sich übrigens um die Ausgabe des Unix/Linux-Tools. Die Ausgabe des Ping-Befehls unter Windows unterscheidet sich von der Ausgabe der Linux-Variante:
Ping wird ausgeführt für 192.168.0.254 mit 32 Bytes Daten:
Antwort von 192.168.0.254: Bytes=32 Zeit=2ms TTL=63
Antwort von 192.168.0.254: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.0.254: Bytes=32 Zeit=1ms TTL=63
Antwort von 192.168.0.254: Bytes=32 Zeit=1ms TTL=63
Ping-Statistik für 192.168.0.254:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 1ms, Maximum = 2ms, Mittelwert = 1ms
Es fehlen keine wichtigen Informationen, lediglich die Sprache der Ausgabe ist an die Umgebung angepasst (//hier deutsch//), was in der Regel beim Linux-Tool nicht der Fall ist. Ein weiterer Unterschied ist beispielsweise, dass das Windows-Tool nur 4 Pakete schickt, während das Linux-Tool solange Pakete schickt, bis es mit der Tastenkomibination STRG+C abgebrochen wird. Alternativ kann man auch den Aufruf abändern, dass nur 4 Pakete gesendet werden:
ping ZIEL -c 4
=====Hostname=====
PING wiki.christian-stankowic.org (85.13.140.100) 56(84) bytes of data.
64 bytes from dd20218.kasserver.com (85.13.140.100): icmp_seq=1 ttl=54 time=30.3 ms
64 bytes from dd20218.kasserver.com (85.13.140.100): icmp_seq=2 ttl=54 time=28.9 ms
64 bytes from dd20218.kasserver.com (85.13.140.100): icmp_seq=3 ttl=54 time=29.8 ms
64 bytes from dd20218.kasserver.com (85.13.140.100): icmp_seq=4 ttl=54 time=29.8 ms
--- wiki.christian-stankowic.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 28.937/29.724/30.324/0.542 ms
Die Ausgabe des Ping-Befehls in Kombination mit einem Hostname unterscheidet sich nicht groß von der vorher gezeigten Ausgabe. Statt einer IP wird hier der Hostname und dessen zugehörige IP-Adresse dahinter angezeigt.