[Linux] Detaillierte Erklärung des Ping-Befehls

Inhaltsverzeichnis

1. Ping-Übersicht

2. Ping-Nutzung

3. Detaillierte Erläuterung der Ping-Parameter

4. Verwendung

5. Wireshark erfasst ICMP-Anfrageantwortnachrichten


1. Ping-Übersicht


Mit dem Ping-Befehl wird die Verbindung zum Zielhost getestet. Es sendet eine ICMP- Echoanforderung (Internet Control Message Protocol) an den Zielhost und wartet auf dessen Antwort. Wenn der Zielhost ordnungsgemäß funktioniert und die Verbindung geöffnet ist, erhalten Sie eine Echo-Antwort. Wenn Sie keine Antwort erhalten, stimmt etwas nicht und erfordert eine weitere Fehlerbehebung. Mit Ping kann getestet werden, ob die lokale Maschine und der Zielhost verbunden sind, wie schnell die Verbindung ist und wie stabil sie ist.

Verwenden Sie den Ping-Befehl, um:

1. Netzwerkverbindungsprobleme erkennen: Wenn wir nicht auf eine Website oder einen Host zugreifen können, können wir mit dem Ping-Befehl feststellen, ob die Netzwerkverbindung normal ist. Wenn der Ping-Befehl erfolgreich eine Antwort vom Zielhost empfangen kann, bedeutet dies, dass die Netzwerkverbindung normal ist. Wenn keine Antwort empfangen werden kann, liegt möglicherweise ein Netzwerkfehler vor oder der Zielhost ist nicht erreichbar.

2. Netzwerklatenz messen: Mit dem Ping-Befehl können Sie die Netzwerklatenz messen, also die Zeit, die vom Senden einer ICMP-Anfrage bis zum Empfang einer Antwort vergeht. Mit der Option -c des Ping-Befehls können Sie die Anzahl der gesendeten ICMP-Anfragen angeben und dann die durchschnittliche Verzögerungszeit berechnen. Eine höhere Latenz kann zu einer langsamen Netzwerkverbindung führen und erfordert eine weitere Fehlerbehebung bei Netzwerkproblemen.

3. Paketverlustrate ermitteln: Der Ping-Befehl kann auch verwendet werden, um die Netzwerkpaketverlustrate zu ermitteln. Dabei handelt es sich um den Anteil der gesendeten ICMP-Anfragen, die während der Übertragung verloren gehen. Sie können das Feld „Paketverlustrate“ in der Ausgabe des Ping-Befehls beobachten. Wenn die Paketverlustrate hoch ist, kann dies an einer Netzwerküberlastung oder einer zu hohen Zielhostlast liegen.


2. Ping-Nutzung


Der Ping-Befehl wird im Eingabeaufforderungsterminal ausgeführt und lautet wie folgt: „Ping-Parameter-Zielhost“. Die Parameter reichen von null bis mehr und der Zielhost kann eine IP-Adresse oder ein Domänenname sein.

[root@hdp105 ~]# ping  --help
ping: invalid option -- '-'
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
             [-l preload] [-m mark] [-M pmtudisc_option]
             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
             [-W timeout] destination
[root@hdp105 ~]# 

Wenn Sie beispielsweise die Verbindung zum Host hdp105 testen möchten, können Sie den folgenden Befehl verwenden:

ping hdp105

Der Ping-Befehl teilt uns mit, dass kontinuierlich ICMP-Datagramme an die Ziel-IP gesendet werden. Jede Zeile im Screenshot oben stellt eine Antwortnachricht von ICMP dar, einschließlich

  • icmp_seq: ICMP-Paketsequenznummer, beginnend mit 1. Wenn in der Mitte keine Kontinuität besteht, bedeutet dies einen Paketverlust.
  • ttl: Lebensdauer, bezieht sich insbesondere auf die Anzahl der Router oder Hops, die Datenpakete passieren dürfen. Jedes Mal, wenn ein Datenpaket einen Router passiert, wird ttl um 1 reduziert. Wenn ttl auf Null zurückkehrt, wird der Generierungszyklus beendet Dieses Datenpaket endet und der Router, der es verarbeitet. Dieses Paket wird verworfen. Standardmäßig beträgt der TTL-Wert von Linux-Systemen 64 oder 255.
  • Zeit: Die Antwortzeit dieses Datagramms. Je kürzer die Zeit, desto schneller die Antwortgeschwindigkeit.

Dann gibt es Statistiken, die uns sagen, dass insgesamt 12 Datagramme zugestellt wurden, alle empfangen wurden und keine Pakete verloren gingen. Die letzte Zeile enthält: minimale/maximale/durchschnittliche Antwortzeit und verstrichene Zeit der nativen Hardware.


3. Detaillierte Erläuterung der Ping-Parameter


Parameter

Ausführliche Erklärung

-A

Hörbarer Ping.

-A

Adaptives Ping bestimmt die Ping-Geschwindigkeit basierend auf der Umlaufzeit des Ping-Pakets;

-c zählen

Stoppen Sie den Ping-Vorgang, nachdem Sie die angegebene Anzahl an Ping-Vorgängen ausgeführt haben.

-i Intervall

Legen Sie das Intervall von mehreren Sekunden fest, um ein Ping-Paket zu senden. Standardmäßig wird einmal pro Sekunde gepingt.

-I-Schnittstelle

Geben Sie die Netzwerkkartenschnittstelle oder die angegebene lokale Adresse an, um Datenpakete zu senden.

-l vorladen

Legen Sie das zu sendende Datenpaket fest, bevor Sie die erforderlichen Informationen senden.

-p-Muster

Gibt den hexadezimalen Inhalt an, der in das Ping-Paket eingefügt werden soll. Diese Option ist sehr nützlich bei der Diagnose von Netzwerkfehlern im Zusammenhang mit Daten, wie zum Beispiel: „-p ff“;

-Q

Zeigt keine übertragenen Paketinformationen an, sondern nur das Endergebnis

-Q Husten

Legen Sie Qos (Quality of Service) fest, das relevante Bit des ICMP-Datagramms; es kann eine Dezimal- oder Hexadezimalzahl sein, Einzelheiten finden Sie in den Dokumenten rfc1349 und rfc2474;

-R

Zeichnen Sie den Routing-Prozess von Ping auf (nur IPv4).
Hinweis: Aufgrund der Einschränkung des IP-Headers können höchstens 9 Routen aufgezeichnet werden, die anderen werden ignoriert.

-R

Ignorieren Sie die normale Routing-Tabelle und senden Sie das Datenpaket direkt an den Remote-Host, normalerweise um zu überprüfen, ob ein Problem mit der lokalen Netzwerkschnittstelle vorliegt. Wenn der Host nicht direkt mit dem Netzwerk verbunden ist, wird ein Fehler zurückgegeben.

-S sndbuf

Stellen Sie den Socket-Sndbuf ein. Wenn nicht angegeben, wird es so ausgewählt, dass nicht mehr als ein Paket gepuffert wird.

-s Paketgröße

Geben Sie die Anzahl der für jeden Ping gesendeten Datenbytes an. Der Standardwert ist „56 Bytes“ + „28 Bytes“ ICMP-Header, insgesamt 84 Bytes;
Header + Inhalt dürfen nicht größer als 65535 sein, daher beträgt der Maximalwert 65507 (Linux). : 65507 , Fenster:65500);

-t ttl

Setzen Sie TTL (Time To Live) auf den angegebenen Wert. Dieses Feld gibt die maximale Anzahl an Netzwerksegmenten an, die ein IP-Paket passieren darf, bevor es vom Router verworfen wird.

-T Zeitstempeloption

Legen Sie die IP-Zeitstempeloption fest, die eine der folgenden sein kann:
„tsonly“ (nur Zeitstempel)
„tsandaddr“ (Zeitstempel und Adressen)
„tsprespec host1 [host2 [host3]]“ (mit Zeitstempel vorgegebene Hops).

-M Hinweis

Legen Sie die MTU-Fragmentierungsrichtlinie (Maximum Transmission Unit) fest.
Kann eingestellt werden auf:
„do“: Fragmentierung deaktivieren, auch wenn das Paket verworfen wird;
„want“: fragmentieren, wenn das Paket zu groß ist;
„dont“: Fragmentierungsflag (DF-Flag) nicht setzen;

-m Mark

Markierung setzen;

-v

Versetzen Sie Ping in den ausführlichen Modus, der erfordert, dass der Ping-Befehl zusätzlich zum ECHO-RESPONSE-Paket alle zurückgegebenen ICMP-Pakete ausgibt;

-W Zeitüberschreitung

Legen Sie das Ping-Timeout in Millisekunden fest.

-w Frist

Frist;

Allgemeine Befehlsoptionen für Ping:

-c count: Gibt die Anzahl der gesendeten ICMP-Anfragen an, der Standardwert ist unbegrenzt.

-i Intervall: Gibt das Zeitintervall zum Senden von ICMP-Anfragen an, der Standardwert ist 1 Sekunde.

-s Paketgröße: Gibt die Paketgröße der gesendeten ICMP-Anfrage an, der Standardwert ist 56 Byte.

-W Timeout: Geben Sie den Timeout-Zeitraum für das Warten auf eine ICMP-Antwort an. Der Standardwert beträgt 10 Sekunden.


4. Verwendung


1. Ping insgesamt 5 Mal für den Domänennamen mit normalem Zugriff, den falschen Domänennamen und die nicht erreichbare IP

Wie oben wird bei nicht erreichbaren IPs und Domänennamen ein Fehler zurückgegeben.

2. Extrem schnelles Ping mit großen Paketen
. Verwenden Sie das größte Paket, um mit der schnellsten Geschwindigkeit zu pingen , was zum Testen der Druckfestigkeit des Zielhosts verwendet werden kann.

Hinweis: 65535 (Paketkopf + Inhalt) * 100 Pakete pro Sekunde = 6,25 MB. Pro Sekunde werden 6,25 MB Daten gesendet, was einer Bandbreite von 50 Mbit/s entspricht, was dazu führen kann, dass der Zielhost den Dienst vollständig verweigert. Mit Vorsicht verwenden.

3. Ping sendet Pakete der Größe 1024, alle 5 Sekunden und insgesamt 5 Mal.

ping -c 5 -i 3  -s 1024 192.168.2.155

Wie in der Abbildung gezeigt, gibt die Größe des gesendeten Pakets nicht mehr die Standardgröße von 64 Byte an, sondern entspricht nicht den eingestellten 1024 Byte. Denn dies ist das vom Peer-Host zurückgegebene Paket. In der vorherigen Zeile ist die von mir gesendete Paketgröße mit „1024 (1052)“ gekennzeichnet.

3. Ping sendet Pakete der Größe 1024 im Abstand von 1 Sekunde und stoppt den Ping nach 3 Sekunden.

 ping -w 3 -i 1  -s 1024 192.168.2.155

4. Notieren Sie Routing-Informationen während der Implementierung des Ping-Vorgangs -R-Optionsparameters

Zeichnen Sie die Routen ausgehender und zurückgegebener Datenpakete im Feld „Route aufzeichnen“ auf und ermitteln Sie die Anzahl der durchlaufenen Routen. Es können jedoch höchstens 9 Routen verfolgt werden.

ping -c 1   -R www.baidu.com


5. Wireshark erfasst ICMP-Anfrageantwortnachrichten


Geben Sie den Anzeigefilter in die Paketschnittstelle von Wireshark ein und führen Sie ihn aus. Wir wählen ping Baidu:

Geben Sie den Anzeigefilter in das Feld ein, um nach Daten zu suchen. Sie können Pakete auch nach dem Protokoll filtern. Ich habe ip.addr == 110.242.68.3 eingegeben und dann mit der Erfassung begonnen. Nachdem ich mit dem Ping von Baidu begonnen hatte, wurden die folgenden erfassten Informationen ausgegeben :

ICMP-Echo-Anfragenachricht

ICMP-Echo-Anfragenachricht


Zusammenfassung häufig verwendeter Linux-Netzwerkbefehle – Change-Blog Park

Was sind die am häufigsten verwendeten Netzwerkbefehle unter Linux? Schnell loslegen!

Ausführliche Erklärung häufig verwendeter Ping-Befehle in der Linux-AiE-Familie

Ich denke du magst

Origin blog.csdn.net/qq_35995514/article/details/133554181
Empfohlen
Rangfolge