Unabhängig davon, welche Art von Linux-Benutzer Sie sind (Anfänger oder Profi), gibt es bestimmte Tools, die Sie kennen müssen. Ein solches Dienstprogramm ist Ping . In diesem Tutorial werden wir die Grundlagen dieses Tools anhand einiger leicht verständlicher Beispiele erörtern. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 16.04 LTS-Rechner getestet wurden.
Linux-Ping-Befehl
Im Grunde können Sie mit dem Ping-Befehl überprüfen, ob ein entfernter Host aktiv ist und antwortet. Es folgt die Syntax des Tools:
ping [OPTIONS] destination
Und so erklärt es die Manpage:
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 verwende ich den Ping-Befehl?
Die grundlegende Verwendung ist ziemlich einfach - führen Sie einfach den 'ping'-Befehl mit dem Ziel als Eingabe aus.
Zum Beispiel:
ping howtoforge.com
Das Folgende ist das Ergebnis dieses Befehls, der auf meinem System erzeugt wird:
Beachten Sie, dass der Befehl standardmäßig so lange ausgeführt wird, bis Sie ihn durch Strg+C stoppen.
Q2. Wie ändere ich das Zeitintervall zwischen Ping-Paketen?
Standardmäßig gibt es eine Pause von einer Sekunde zwischen 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 vorhanden ist:
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 unter 0,2 Sekunden setzen können
Q3. Wie ändere ich die Ping-Paketgröße?
Standardmäßig beträgt die Anzahl der Bytes in einem Ping-Paket 56 (64, wenn Sie 8 Bytes ICMP-Header hinzufügen). Wenn Sie möchten, können Sie diesen Wert jedoch ändern, was Sie mit der Befehlszeilenoption -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
Q4. Wie kann man Ping dazu bringen, eine festgelegte Anzahl von Paketen zu senden?
Das Standardverhalten von Ping besteht darin, Pakete zu senden, bis sie vom Benutzer unterbrochen werden. Wenn Sie möchten, können Sie jedoch erzwingen, dass Ping die Ausführung beendet, nachdem eine festgelegte Anzahl von Paketen gesendet wurde. Dies können Sie mit der Befehlszeilenoption -c tun.
Beispielsweise sendet der folgende Befehl 3 Pakete und stoppt dann.
ping -c 3 howtoforge.com
F5. Wie starte ich eine Flut von Paketen mit Ping?
Ja, der Ping-Befehl bietet auch die Möglichkeit, eine Paketflut zu starten. Dies können Sie mit der Befehlszeilenoption -f tun.
ping -f howtoforge.com
Folgendes sagen die offiziellen Dokumente zu dieser Option:
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 erstelle ich einen Ping-Zeitstempel vor jeder Zeile?
Es gibt eine Option (-D), mit der Sie dies tun können. Der ausgegebene Zeitstempel ist eine Kombination aus Unix-Zeit und Mikrosekunden (wie in gettimeofday).
ping -D howtoforge.com
Hier ist ein Screenshot dieser Option in Aktion:
Q7. Wie stelle ich ein hartes Timeout für Ping ein?
Sie können eine Frist für das Beenden von Ping angeben. Dies können Sie mit der Befehlszeilenoption -w tun, die einen numerischen Wert erfordert, der die Anzahl der Sekunden darstellt.
Beispielsweise stoppt der folgende Ping-Befehl nach 3 Sekunden:
ping -w 3 howtoforge.com
So erklären die offiziellen Dokumente diese Option:
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 stelle ich ein Soft-Timeout für Ping ein?
Während die Option -w sicherstellt, dass Ping nach Ablauf der Frist auf jeden Fall stoppt, gibt es eine andere Option (-W, in Großbuchstaben), die Ping ebenfalls stoppt, aber nur, wenn keine Antwort von der Zielseite erfolgt.
ping -W 3 howtoforge.com
So erklärt die Manpage 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.
Schlussfolgerung
Ping ist ein wichtiges Tool, das mit ziemlicher Sicherheit zum Debuggen von Netzwerkproblemen verwendet wird. In diesem Tutorial haben wir einige Hauptfunktionen (Befehlszeilenoptionen) dieses Dienstprogramms besprochen. Üben Sie diese, und wenn Sie fertig sind, gehen Sie zur Manpage des Tools, um mehr darüber zu erfahren.