Linux ping Befehl für Anfänger (8 Beispiele)

Unabhängig davon, welcher Typ von Linux-Benutzer Sie sind (Anfänger oder Profi), es gibt bestimmte Tools, die Sie beachten müssen. Ein solches Dienstprogramm ist Ping. In diesem Tutorial werden wir die Grundlagen dieses Tools anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele im Artikel hier auf einem Ubuntu 16.04 LTS-Rechner getestet wurden.

Linux Ping-Befehl

In den meisten grundlegenden Begriffen können Sie mit dem Befehl ping überprüfen, ob ein entfernter Host lebt und antwortet oder nicht. Es folgt die Syntax des Tools:

ping [OPTIONS] destination

Und so erklärt es die Manualseite:

       ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit
       an ICMP ECHO_RESPONSE from a host or gateway.   ECHO_REQUEST  datagrams
       (``pings'')  have  an  IP and ICMP header, followed by a struct timeval
       and then an arbitrary number of ``pad'' bytes  used  to  fill  out  the
       packet.

ping6  is  IPv6  version  of  ping,  and can also send Node Information
Queries (RFC4620).  Intermediate hops may not be allowed, because  IPv6
source routing was deprecated (RFC5095).

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Ping-Befehl funktioniert.

Q1. Wie verwendet man den Ping-Befehl?

Die grundlegende Bedienung ist recht einfach – führen Sie einfach den Befehl’ping‘ mit dem Ziel als Eingabe aus.

Zum Beispiel:

ping howtoforge.com

Folgendes ist das Ergebnis dieses Befehls, der auf meinem System erzeugt wurde:

Wie man den Ping-Befehl verwendet

Beachten Sie, dass der Befehl standardmäßig so lange ausgeführt wird, bis Sie ihn über Strg+C stoppen.

Q2. Wie kann man das Zeitintervall zwischen den Ping-Paketen ändern?

Standardmäßig gibt es eine Lücke von einer Sekunde zwischen den Ping-Paketen. Wenn Sie möchten, können Sie diese Verzögerung jedoch mit der Befehlszeilenoption -i anpassen.

Der folgende Befehl stellt beispielsweise sicher, dass eine Lücke von 3 Sekunden entsteht:

ping -i 3 howtoforge.com

Und der folgende Befehl sendet Pakete mit einer Verzögerung von einer halben Sekunde.

ping -i 0.5 howtoforge.com

Beachten Sie, dass nur Superuser das Intervall auf Werte kleiner 0,2 Sekunden einstellen können.

Q3. Wie kann man die Ping-Paketgröße ändern?

Standardmäßig ist die Anzahl der Bytes in einem Ping-Paket 56 (64, wenn Sie 8 Bytes ICMP-Header hinzufügen). Wenn Sie jedoch möchten, ändern Sie diesen Wert, was Sie mit der Kommandozeilenoption -s tun können.

Um beispielsweise ein 80-Byte-Paket (88 einschließlich ICMP-Header) zu senden, verwenden Sie den folgenden Befehl:

ping -s 80 howtoforge.com

Wie man die Größe von Ping-Paketen ändert

Q4. Wie lässt man Ping eine bestimmte Anzahl von Paketen senden?

Das Standardverhalten von ping ist es, Pakete so lange zu senden, bis sie vom Benutzer unterbrochen werden. Wenn Sie möchten, können Sie jedoch erzwingen, dass ping nach dem Senden einer bestimmten Anzahl von Paketen die Ausführung einstellt. Dies kannst du mit der Kommandozeilenoption -c tun.

Der folgende Befehl sendet beispielsweise 3 Pakete und stoppt dann.

ping -c 3 howtoforge.com

Q5. Wie kann man eine Flut von Paketen mit Ping starten?

Ja, der Befehl ping bietet auch die Möglichkeit, eine Flut von Paketen zu starten. Dies kannst du mit der Kommandozeilenoption -f tun.

ping -f howtoforge.com

Hier ist, was die offiziellen Dokumente über diese Option sagen:

              For  every  ECHO_REQUEST  sent  a  period  ``.''  is
              printed,  while  for  ever  ECHO_REPLY  received  a backspace is
              printed.  This provides a rapid display of how many packets  are
              being  dropped.   If  interval is not given, it sets interval to
              zero and outputs packets as fast as they come back or  one  hun?
              dred  times  per second, whichever is more.  Only the super-user
              may use this option with zero interval.

Q6. Wie macht man einen Ping-Druck-Zeitstempel vor jeder Zeile?

Es gibt eine Option (-D), mit der Sie dies tun können. Der gedruckte Zeitstempel ist eine Kombination aus Unix-Zeit und Mikrosekunden (wie in gettimeofday).

ping -D howtoforge.com

Hier ist ein Screenshot dieser Option in Aktion:

Wie man den Ping-Druck-Zeitstempel vor jeder Zeile macht

Q7. Wie kann man einen harten Timeout für Ping einstellen?

Sie können eine Zeitspanne angeben, bis zu der Ping zum Beenden des Vorgangs erfolgen soll. Dies können Sie mit der Befehlszeilenoption -w tun, die einen numerischen Wert für die Anzahl der Sekunden erfordert.

So stoppt beispielsweise der folgende Ping-Befehl nach 3 Sekunden:

ping -w 3 howtoforge.com

Hier ist, wie die offiziellen Dokumente diese Option erklären:

              Specify  a  timeout, in seconds, before ping exits regardless of
              how many packets have been sent or received. In this  case  ping
              does  not  stop after count packet are sent, it waits either for
              deadline expire or until count probes are answered or  for  some
              error notification from network.

Q8. Wie kann man einen Soft-Timeout für den Ping einstellen?

Während die Option -w sicherstellt, dass der Ping auf jeden Fall nach Ablauf der Frist stoppt, gibt es eine andere Option (-W, in Großbuchstaben), die auch den Ping stoppt, aber nur, wenn es keine Antwort von der Zielseite gibt.

ping -W 3 howtoforge.com

So erklärt die Man Page das Verhalten in diesem Fall:

              Time to wait for a response, in seconds. The option affects only
              timeout in absence of any responses, otherwise  ping  waits  for
              two RTTs.

Fazit

Ping ist ein wichtiges Werkzeug, das mit ziemlicher Sicherheit beim Debuggen von netzwerkbezogenen Problemen eingesetzt wird. In diesem Tutorial haben wir einige Hauptfunktionen (Befehlszeilenoptionen) dieses Dienstprogramms erläutert. Üben Sie diese, und wenn Sie fertig sind, gehen Sie zur Man Page des Tools, um mehr darüber zu erfahren.

Das könnte Dich auch interessieren …