VMware ESXi and vSphere Cluster Management

Ping-Tool unter Linux: Netzwerkverbindungen mit ICMP prüfen

Lerne, wie der Linux-Befehl ping mit ICMP funktioniert, wie du seine Ausgabe liest und Netzwerkprobleme mit Optionen wie -c und -s eingrenzt.

Der Befehl ping ist eines der einfachsten und verbreitetsten Werkzeuge zur grundlegenden Netzwerkdiagnose unter Linux. Er prüft, ob ein Ziel über das Netzwerk auf ICMP-Anfragen reagiert, und misst dabei die Zeit für Hin- und Rückweg.

Ping ist jedoch kein vollständiger Verfügbarkeitstest: Ein Server kann auf ICMP nicht antworten und trotzdem einen Dienst wie HTTP oder SSH anbieten. Umgekehrt beweist eine Ping-Antwort nicht, dass die gewünschte Anwendung funktioniert.

Was ist Ping?

Ping ist ein Werkzeug zur Prüfung der ICMP-basierten Erreichbarkeit eines Netzwerkziels. Die Bezeichnung wird häufig als Packet Internet Groper aufgelöst.

Du kannst ein Ziel entweder mit seiner numerischen IP-Adresse oder mit einem Hostnamen angeben. Eine IP-Adresse ist die numerische Adresse eines Netzwerkziels, zum Beispiel 192.168.168.130. Ein Hostname ist ein lesbarer Name eines Hosts. Üblicherweise wird dieser Name über DNS, das Domain Name System, in eine IP-Adresse aufgelöst.

Ping hilft vor allem dabei, Netzwerkprobleme einzugrenzen. Es zeigt beispielsweise, ob ein lokaler Rechner, das Standardgateway oder ein externes Ziel antwortet.

Technische Grundlage: ICMP Echo Request und Echo Reply

ICMP steht für Internet Control Message Protocol. Es ist ein Netzwerkprotokoll für Steuer- und Diagnosemeldungen im IP-Netzwerk.

Beim Ping-Ablauf sendet der lokale Rechner eine ICMP Echo Request. Das ist eine Prüfanforderung an das Ziel. Wenn das Ziel erreichbar ist und ICMP-Echo-Anfragen zulässt, sendet es normalerweise eine ICMP Echo Reply zurück.

  1. Der Linux-Rechner erstellt eine Echo Request.
  2. Die Anfrage wird über das lokale Netzwerk und gegebenenfalls über einen Router weitergeleitet.
  3. Das Ziel empfängt die Anfrage und erzeugt eine Echo Reply.
  4. Der Linux-Rechner misst die Zeit bis zum Eintreffen der Antwort.

Ein Router beziehungsweise Standardgateway ist eine Netzwerkkomponente, die Daten in andere Netzwerke weiterleitet. Der Vergleich zwischen einem lokalen Ziel, dem Gateway und einem externen Ziel macht deshalb oft sichtbar, an welcher Stelle ein Problem liegen könnte.

Ping unter Linux aufrufen

Die grundlegende Syntax lautet:

ping <ip-adresse-oder-hostname>

Beispiel mit einer IPv4-Adresse:

ping 192.168.168.130

Beispiel mit einem Hostnamen:

ping beispiel-host

ping ist auf den meisten Betriebssystemen verfügbar, darunter Linux-Distributionen wie Ubuntu. Je nach Distribution, Paketversion und Berechtigungen können sich einzelne Standardwerte oder Ausgabeformulierungen leicht unterscheiden.

Das Standardverhalten unter Ubuntu und Linux

Unter Ubuntu und vielen anderen Linux-Systemen sendet ping standardmäßig fortlaufend Echo-Anfragen, im Regelfall ungefähr einmal pro Sekunde. Der Vorgang endet nicht automatisch nach einer festen Anzahl von Paketen.

Beende einen laufenden Ping mit Strg+C:

ping 192.168.168.130
# zum Beenden: Strg+C

Nach dem Abbruch gibt ping eine Zusammenfassung aus. Sie enthält unter anderem die Anzahl gesendeter und empfangener Pakete, den Paketverlust sowie minimale, durchschnittliche und maximale Laufzeiten.

Eine Ping-Ausgabe lesen

Eine typische Ausgabe kann ungefähr so aussehen:

PING 192.168.168.130 (192.168.168.130) 56(84) bytes of data.
64 bytes from 192.168.168.130: icmp_seq=1 ttl=64 time=0.421 ms
64 bytes from 192.168.168.130: icmp_seq=2 ttl=64 time=0.389 ms
64 bytes from 192.168.168.130: icmp_seq=3 ttl=64 time=0.407 ms

--- 192.168.168.130 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2041ms
rtt min/avg/max/mdev = 0.389/0.405/0.421/0.013 ms

In der ersten Zeile zeigt Ping das Ziel und die dazugehörige IP-Adresse an. Bei einem Hostnamen siehst du typischerweise sowohl den eingegebenen Namen als auch die aufgelöste IP-Adresse.

bytes: Gibt an, wie viele Bytes die Ping-Nutzdaten beziehungsweise die Antwortgröße umfasst. Die genaue Darstellung hängt von der Ping-Version ab.

icmp_seq: Die Sequenznummer der Echo-Anfrage. Sie hilft, einzelne Anfragen und mögliche Lücken in der Folge zu erkennen.

ttl: TTL bedeutet Time To Live. Dieser Wert begrenzt, wie viele Weiterleitungen ein IP-Paket maximal durchlaufen darf. Bei jeder Weiterleitung wird die TTL normalerweise verringert.

time: Die gemessene Round-Trip-Time in Millisekunden, also die Zeit für Anfrage und Antwort.

packet loss: Der Anteil gesendeter Pakete, für die keine Antwort eingetroffen ist.

min/avg/max RTT: Minimale, durchschnittliche und maximale Round-Trip-Time der Messung. Manche Versionen zeigen zusätzlich eine Streuungsangabe wie mdev.

Round-Trip-Time und Latenz

Die Round-Trip-Time, kurz RTT, ist die gesamte Laufzeit einer Ping-Anfrage vom lokalen Rechner zum Ziel und der zugehörigen Antwort zurück zum lokalen Rechner. Sie wird meist in Millisekunden angegeben.

Eine kurze RTT ist ein Hinweis auf eine geringe Latenz, also eine geringe Zeitverzögerung bei der Kommunikation. Eine einzelne niedrige Antwortzeit beweist allerdings nicht, dass das gesamte Netzwerk störungsfrei oder unbelastet ist.

Paketverlust bezeichnet den Anteil gesendeter Pakete, für die keine Antwort eintrifft. Paketverlust kann auf eine instabile Verbindung, Überlastung, WLAN-Störungen oder Probleme auf dem Übertragungsweg hinweisen.

Stark schwankende Antwortzeiten sind ebenfalls auffällig. Ein einzelner Ausreißer kann harmlos sein; dauerhaft große Schwankungen können dagegen auf Überlastung oder eine instabile Verbindung hindeuten.

Anzahl der Anfragen mit -c begrenzen

Mit der Option -c legst du fest, wie viele Echo-Anfragen gesendet werden. Danach endet der Befehl automatisch:

ping -c 4 192.168.168.130

Dieser Aufruf sendet exakt vier Anfragen. Die Option ist besonders praktisch für Skripte, automatisierte Tests und übersichtliche Einmalprüfungen.

-c Anzahl: Sendet die angegebene Anzahl von Anfragen. Beispiel: ping -c 4 192.168.168.130.

-s Bytes: Setzt die Größe der Ping-Nutzdaten in Bytes. Beispiel: ping -s 100 192.168.168.130.

Paketgröße mit -s verändern

Mit -s kannst du die Größe der Nutzdaten angeben:

ping -s 100 192.168.168.130

Damit lässt sich untersuchen, wie ein Netzwerkpfad auf unterschiedliche Paketgrößen reagiert. Größere Pakete können abhängig vom Netzwerkpfad fragmentiert oder verworfen werden. Ein Test mit einer bestimmten Nutzdatengröße ist deshalb nicht automatisch mit einem normalen Anwendungstest gleichzusetzen.

Systematische Fehlerdiagnose mit Ping

Bei der Fehlersuche ist eine schrittweise Prüfreihenfolge sinnvoll. Beginne im lokalen Netzwerk und arbeite dich über das Standardgateway zu einem externen Ziel vor.

  1. Prüfe einen bekannten lokalen Host.
  2. Prüfe das Standardgateway beziehungsweise die Router-IP.
  3. Prüfe eine externe IP-Adresse.
  4. Vergleiche anschließend einen Hostnamen mit seiner IP-Adresse, um DNS-Probleme zu erkennen.

Lokales Ziel antwortet, externes Ziel nicht

Wenn Computer im eigenen Netzwerk antworten, ein externes Ziel jedoch nicht, kann die lokale Verbindung grundsätzlich funktionieren. Mögliche Ursachen liegen am Standardgateway, am Router, am Internetzugang oder an der Weiterleitung in ein anderes Netzwerk.

ping -c 4 <standardgateway-ip>
ping -c 4 <externe-ip>

Prüfe in diesem Fall das Gateway, die Standardroute und anschließend die externe IP-Adresse. Ein fehlender Ping zum externen Ziel beweist noch nicht, an welcher Stelle die Verbindung unterbrochen ist.

IP-Adresse antwortet, Hostname nicht

Wenn eine IP-Adresse erreichbar ist, der zugehörige Hostname aber nicht, liegt möglicherweise ein Problem bei der DNS-Auflösung oder der DNS-Konfiguration vor. Kontrolliere die Schreibweise des Hostnamens, die eingestellten DNS-Server und die Namensauflösung mit einem geeigneten DNS-Werkzeug.

ping -c 4 192.168.168.130
ping -c 4 beispiel-host

Der erste Test prüft die Verbindung zur IP-Adresse. Der zweite Test benötigt zusätzlich eine funktionierende Auflösung des Hostnamens in eine IP-Adresse.

Paketverlust oder stark schwankende Zeiten

Teilweise Antworten oder deutlich schwankende RTT-Werte können auf Überlastung, eine instabile Leitung, WLAN-Störungen oder ein Problem entlang des Übertragungswegs hindeuten.

  • Wiederhole die Messung mit mehreren Paketen.
  • Teste das lokale Netzwerk und das Gateway getrennt von externen Zielen.
  • Prüfe Verbindungstyp, Signalqualität und Netzwerkauslastung.

Keine Antwort trotz erreichbarem Dienst

Ein Ziel kann einen Web- oder SSH-Dienst anbieten, aber ICMP-Echo-Anfragen blockieren. Firewalls auf dem Zielsystem, im Netzwerk oder beim Anbieter können ICMP filtern beziehungsweise deaktivieren.

Schließe daher aus einer fehlenden Echo Reply nicht allein auf die vollständige Nichterreichbarkeit des Zielsystems. Prüfe zusätzlich die konkrete Anwendung und berücksichtige die Firewall- und ICMP-Regeln.

Lokale Ziele antworten, externe Ziele nicht: Möglich sind Probleme am Standardgateway, Router, Internetzugang oder bei der Weiterleitung. Nächster Schritt: Gateway, Standardroute und externe IP-Adresse prüfen.

IP-Adresse antwortet, Hostname nicht: Möglich ist ein DNS-Problem oder ein falsch geschriebener Hostname. Nächster Schritt: DNS-Konfiguration und Namensauflösung prüfen.

Teilweise Antworten oder Paketverlust: Möglich sind Überlastung, WLAN-Störungen oder eine instabile Verbindung. Nächster Schritt: Messung wiederholen und lokale Strecke getrennt testen.

Sehr hohe oder stark schwankende Antwortzeiten: Möglich sind hohe Auslastung oder Störungen auf dem Übertragungsweg. Nächster Schritt: Gateway und weitere Netzwerkabschnitte vergleichen.

Keine Echo Replies trotz vermutlich erreichbarem Dienst: ICMP kann durch eine Firewall oder auf der Zielseite gefiltert sein. Nächster Schritt: Anwendung direkt testen und ICMP-Regeln berücksichtigen.

Praktische Beispiele

Lokalen Host prüfen

ping 192.168.168.130

Erwartest du Antworten, achte auf Zeilen mit icmp_seq, ttl und time. Beende den fortlaufenden Test mit Strg+C und lies anschließend Paketverlust und RTT-Zusammenfassung.

Eine abgeschlossene Messung durchführen

ping -c 4 192.168.168.130

Diese Form eignet sich, wenn du genau vier Messwerte und eine automatisch ausgegebene Statistik benötigst.

Unterschiedliche Nutzdatengröße testen

ping -s 100 192.168.168.130

Der Test verwendet eine Nutzdatengröße von 100 Bytes. Bei größeren Werten solltest du beachten, dass Pakete fragmentiert oder verworfen werden können.

Grenzen und sichere Interpretation

  • Eine Ping-Antwort zeigt, dass eine ICMP-Anfrage beantwortet wurde, nicht dass jede Anwendung des Ziels funktioniert.
  • Keine Antwort kann durch einen Ausfall, eine falsche Route, DNS-Probleme oder ICMP-Filterung verursacht werden.
  • Die RTT beschreibt den konkreten Messzeitpunkt und kann sich durch Auslastung verändern.
  • TTL ist ein sichtbarer Bestandteil der Antwort und ein Hinweis auf die verbleibende Weiterleitungsgrenze, aber kein direkter Qualitätswert für die Verbindung.
  • Für eine vollständige Diagnose sind je nach Problem weitere Werkzeuge wie ip, ss, dig, nslookup oder traceroute sinnvoll.

Kurzüberblick

Mit ping <ziel> prüfst du die grundlegende ICMP-Erreichbarkeit einer IP-Adresse oder eines Hostnamens. Der Befehl zeigt unter anderem Ziel-IP, Paketgröße, Sequenznummer, TTL und Antwortzeit. Mit Strg+C beendest du einen fortlaufenden Test; mit -c begrenzt du die Anzahl der Anfragen und mit -s veränderst du die Nutzdatengröße.

Für eine strukturierte Fehlersuche testest du zuerst lokale Ziele, danach das Standardgateway und schließlich externe Ziele. Vergleiche außerdem IP-Adresse und Hostname, wenn du einen DNS-Fehler vermutest. Denke immer daran, dass Ping nur ICMP prüft und eine blockierte Echo Reply nicht zwingend bedeutet, dass der eigentliche Dienst ausgefallen ist.