Home · Kontakt · Impressum
contents index previous up next
Next: 18.3.2 Wegverfolgung: traceroute Up: 18.3 Diagnosewerkzeuge Previous: 18.3 Diagnosewerkzeuge


18.3.1 Bist du da? ping

Das wohl einfachste Diagnosewerkzeug ist das Programm ping. Es sendet mehrere kleine Datenpakete an einen entfernten Rechner. Dann überprüft es ob das Ziel antwortet und wie lange es unterwegs war. Der Name des Programm leitet sich vom Sonar ab, mit dem durch akustische Signale Objekte (z. B. U-Boote) unter Wasser lokalisiert werden sollen.

Das Programm benutzt das ICMP-Protokoll für seine Aktionen. Es sendet ein Paket vom Typ ECHO-REQUEST an den Zielrechner. Ist dieser erreichbar und nicht gerade von einer Firewall geschützt, so antwortet dieser mit einem Paket vom Typ ECHO-REPLY . Ist der Zielrechner nicht erreichbar, so meldet sich der letzte erreichbare Router auf dem vermeintlich richtigen Weg zum Zielrechner mit einem Paket vom Typ DESTINATION-UNREACHABLE .

ping [OPTIONEN] HOST

Normalerweise sendet ping, wenn es einmal gestart ist, alle Sekunde ein Paket an den Zielrechner. Den Vorgang können Sie ganz einfach mit der Tastenkombination <Strg>+<c> unterbrechen. Wenn Sie die Anzahl der Pings begrenzen wollen, können Sie Option -c verwenden.

defiant:~ # ping -c 3 www.fibel.org
PING www.fibel.org (193.254.185.32) 56(84) bytes of data.
64 bytes from vincent.netbeat.de (193.254.185.32): icmp_seq=1 ttl=52 time=110 ms
64 bytes from vincent.netbeat.de (193.254.185.32): icmp_seq=2 ttl=52 time=72.7 ms
64 bytes from vincent.netbeat.de (193.254.185.32): icmp_seq=3 ttl=52 time=69.8 ms

--- www.fibel.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 69.826/84.206/110.062/18.323 ms

Als Ausgabe zeigt der Befehl ping die Größe des Pakets an (56 Bytes). Durch den 8 Byte großen ICMP-Kopf wird das Antwortpaket auf 64 Bytes erhöht. Für jeden einzelnen Ping wird die Adresse des Zielhosts, die laufende Pingnummer (icmp_seq), die Time To Live (TTL) und die Zeit für eine Rundreise angeben. Zum Abschluß der Ausgabe macht der Befehl noch eine Statistikzusammenfassung. Sie können die Anzahl der gesendeten und empfangenen Pakete sehen. Dazu wird auch noch die Verlustrate in Prozent angegeben und die Zeit, die für das Senden und Empfangen der Pakete ingesamt benötigt wurde. Die letzte Zeile gibt eine Statistik der Rundreisezeiten (rount trip) aus. Das Minimum, arithmetische Mittel, das Maximum und die Standardabweichung werden hier in Millisekunden angeben.

Natürlich kennt der Befehl ping eine Reihe von Optionen. Eine Auswahl von Optionen finden Sie in der folgenden Liste.

Optionen
-b Erlaubt Ping an eine Broadcastadresse
-c ANZAHL Legt die Anzahl der gesendeten Pakete fest
-f Flood ping, soviele Pings wie möglich pro Zeiteinheit
-i INTERVALL Wartezeit zwischen den Paketen in Sekunden
-I INTERFACE Ping geht über das angegeben Interface
-l ANZAHL Sende eine Anzahl von Paketen ohne auf eine Antwort zu warten, nur root kann mehr als 3 angeben.
-n Es erfolgt keine Namensauflösung für IP-Adressen
-q Nur die Zusammenfassungszeilen werden ausgegeben
-s GROESSE Die Größe des zu sendenden Pakets in Bytes
-t TTL Setzt die Time To Live fest
-v Ausführliche Ausgabe
-w TIMEOUT Dauer der Prüfung in Sekunden
-W TIMEOUT Maximale Wartezeit auf ein Paket
 

Um herauszufinden welche Rechner in einem Netz aktiv sind, können Sie einen Ping auf die Broadcast-Adresse senden. Die Option -b erlaubt Ihnen diesen sonst verbotenen Vorgang.

dozent@linux37:~> ping -c 2 -b  217.89.70.63
WARNING: pinging broadcast address
PING 217.89.70.63 (217.89.70.63) 56(84) bytes of data.
64 bytes from 217.89.70.37: icmp_seq=1 ttl=64 time=0.136 ms
64 bytes from 217.89.70.62: icmp_seq=1 ttl=128 time=0.244 ms (DUP!)
64 bytes from 217.89.70.60: icmp_seq=1 ttl=255 time=0.248 ms (DUP!)
64 bytes from 217.89.70.56: icmp_seq=1 ttl=64 time=0.253 ms (DUP!)
64 bytes from 217.89.70.50: icmp_seq=1 ttl=64 time=0.256 ms (DUP!)
64 bytes from 217.89.70.42: icmp_seq=1 ttl=64 time=0.277 ms (DUP!)
64 bytes from 217.89.70.49: icmp_seq=1 ttl=64 time=0.281 ms (DUP!)
64 bytes from 217.89.70.38: icmp_seq=1 ttl=64 time=0.286 ms (DUP!)
64 bytes from 217.89.70.41: icmp_seq=1 ttl=64 time=0.303 ms (DUP!)
64 bytes from 217.89.70.39: icmp_seq=1 ttl=64 time=0.307 ms (DUP!)
64 bytes from 217.89.70.35: icmp_seq=1 ttl=64 time=0.326 ms (DUP!)
64 bytes from 217.89.70.46: icmp_seq=1 ttl=64 time=0.331 ms (DUP!)
64 bytes from 217.89.70.47: icmp_seq=1 ttl=64 time=0.335 ms (DUP!)
64 bytes from 217.89.70.40: icmp_seq=1 ttl=64 time=0.352 ms (DUP!)
64 bytes from 217.89.70.61: icmp_seq=1 ttl=255 time=1.89 ms (DUP!)
64 bytes from 217.89.70.37: icmp_seq=2 ttl=64 time=0.131 ms

--- 217.89.70.63 ping statistics ---
2 packets transmitted, 2 received, +14 duplicates, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.131/0.372/1.890/0.396 ms

Einen ganze Flut von Pings können Sie mit der Option -f auf ein Ziel loslassen. Diese Funktion, die so viele Pings wie möglich absendet, steht nur dem Benutzer root zu Verfügung. Im Gegensatz zum normalen Ping werden die einzelnen Pakete nicht als Zeile aufgeführt, sondern als einzelner Punkt. Für jedes empfangene Paket wird ein Punkt aus der Liste entfernt. Je länger die Reihe der Punkte ist, desto schlechter ist die Laufzeit der Pakete.

dozent@linux37:~> ping -f www.fibel.org
PING www.fibel.org (193.254.185.32) 56(84) bytes of data.
ping: cannot flood; minimal interval, allowed for user, is 200ms
dozent@linux37:~> su
Password:
linux37:/home/dozent # ping -f www.fibel.org
PING www.fibel.org (193.254.185.32) 56(84) bytes of data.

--- www.fibel.org ping statistics ---
76 packets transmitted, 76 received, 0% packet loss, time 4914ms
rtt min/avg/max/mdev = 69.847/130.882/307.052/86.131 ms, pipe 21, ipg/ewma 65.528/249.178 ms

Weitere Optionen und Funktionen können Sie der Manualpage ping(8) entnehmen.


contents index previous up next
Next: 18.3.2 Wegverfolgung: traceroute Up: 18.3 Diagnosewerkzeuge Previous: 18.3 Diagnosewerkzeuge
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang