Ping ist ein Befehlszeilentool, das für praktisch jedes Betriebssystem mit Netzwerkkonnektivität verfügbar ist und das als Test eingesetzt wird, um festzustellen, ob ein Netzwerkgerät erreichbar ist.
Der Ping-Befehl sendet eine Anforderung über das Netzwerk an ein bestimmtes Gerät. Ein erfolgreicher Ping führt zu einer Antwort des gepingten Computers zurück zum ursprünglichen Computer.
Seinem Erschaffer zufolge ist die Bezeichnung „Ping“ ein Begriff aus dem Bereich der Echolotung. Bei der Echolotung ist ein Ping eine hörbare Schallwelle, die ausgesendet wird, um ein Objekt zu finden. Wenn der Schall auf das Objekt trifft, wird die Welle reflektiert und kehrt ähnlich einem Echo zur Quelle zurück. Entfernung und Position des Objekts lassen sich durch Messung der Zeit und der Richtung der zurückkehrenden Schallwelle ermitteln.
Auf ähnliche Weise sendet der Ping-Befehl eine Echoanforderung aus. Wenn er das Zielsystem findet, sendet der Remotehost eine Echoantwort zurück. Die Entfernung (Anzahl der Hops) zum Remotesystem kann aus der Antwort und den dazwischen liegenden Bedingungen (Paketverlust und Reaktionszeit) bestimmt werden. Während der Autor des Ping-Hilfsprogramms angab, dass der Name einfach auf dem Klang des Echolots basierte, wird auch manchmal behauptet, dass Ping ein Akronym für „Packet InterNet Groper ist“.
Mit benutzerdefinierten Warnmeldungen und Datenvisualisierung können Sie Probleme mit dem Zustand und der Leistung Ihres Netzwerks schnell erkennen und vermeiden.
Das Ping-Hilfsprogramm setzt Echoanforderungs- und Echoantwortmeldungen innerhalb des Internet Control Message Protocol (ICMP) ein, das fester Bestandteil jedes IP-Netzwerks ist. Bei Ausgabe eines Ping-Befehls wird ein Echoanforderungspaket an die angegebene Adresse gesendet. Wenn der Remotehost die Echoanforderung empfängt, antwortet er mit einem Echoantwortpaket.
Standardmäßig sendet der Ping-Befehl mehrere Echoanforderungen, gewöhnlich vier oder fünf. Das Ergebnis jeder Echoanforderung wird dargestellt und zeigt, ob die Anforderung eine erfolgreiche Antwort erhielt, wie viele Bytes als Antwort empfangen wurden, die Gültigkeitsdauer (TTL), wie lange es dauerte, um die Antwort zu empfangen, sowie Statistiken zu Paketverlust und Roundtripzeiten.
Die Echoanforderung („Ping“) ist wie folgt strukturiert:
Die Echoantwort muss die exakte Nutzlast enthalten, die in der Anforderung empfangen wurde:
Das Ping-Hilfsprogramm ist in praktisch jedes Betriebssystem mit Netzwerkunterstützung integriert. Während Echoanforderung und Echoantwort ICMP-Meldungen sind, variiert die genaue Implementierung des Ping-Hilfsprogramms leicht von Hersteller zu Hersteller.
In seiner einfachsten Form kann das Ping-Hilfsprogramm mit nichts weiter als dem Ping-Befehl und einem Ziel ausgeführt werden. Der Remotehost kann entweder durch Name oder Adresse angegeben werden.
Es folgt die Ausgabe eines einfachen Ping an den Zielhost paessler.com:
Das Ping-Hilfsprogramm enthält jedoch auch mehrere anpassbare Optionen.
Benachrichtigungen in Echtzeit bedeuten eine schnellere Fehlerbehebung, so dass Sie handeln können, bevor ernstere Probleme auftreten.
Für den Ping-Befehl stehen zahlreiche Parameter zur Verfügung, die die Anpassung der Standardeinstellungen für spezifischere Zwecke ermöglichen. Leider gibt es keine plattformübergreifende Konsistenz für die unterschiedlichen Parameter. Bei Windows wird zum Beispiel ein -n (für „number“ = Zahl) verwendet, um die Anzahl der zu sendenden Pings einzustellen, während bei den meisten Unix-Systemen ein -c (für „count“ = Anzahl) verwendet wird.
Es folgen einige Beispiele von Ping-Parametern. Im Allgemeinen resultiert die Verwendung von ping -? in einer Liste von Parametern zusammen mit dem entsprechenden Buchstaben zur Verwendung der Optionen im Betriebssystem.
Number (or count) – Stellt die Anzahl der zu sendenden Echoanforderungen bzw. Pings ein. Standardmäßig sind dies vier bei den meisten Windows-Systemen und fünf bei den meisten Unix-Systemen. Wenn eine höhere Zahl eingestellt wird, kann der Ping weiter laufen, um zum Beispiel entweder mehr Daten zu sammeln, um festzustellen, ob unterschiedliche Reaktionszeiten vorliegen, oder um sicherzustellen, dass ein System weiterhin reaktionsfähig ist.
Timeout – Ändert das Zeitlimit, während dessen das Hilfsprogramm auf eine Antwort vom Zielgerät wartet. Bei Windows-Systemen ist der Standardwert 4000 Millisekunden bzw. 4 Sekunden.
Size – Ändert die Größe des Ping-Pakets. Der Standardwert bei Windows ist 32 Bytes, bei vielen Unix/Linux-Systemen 64 Bytes.
TTL – Stellt eine andere Gültigkeitsdauer ein.
IP4 or IP6 – Antwortet mit IPv4- oder IPv6-Adressen (ping -4/ping -6 bei Windows, ping oder ping6 bei Linux).
Until stopped – Lässt den Ping laufen, bis er vom Benutzer gestoppt wird (-t bei Windows).
Für so ein kleines, grundlegendes Hilfsprogramm kann der Ping-Befehl in zahlreichen Situationen ein wertvolles Tool sein. Als befehlszeilenbasiertes Hilfsprogramm lässt sich Ping leicht in unterschiedlichen Skripts verwenden, sodass zahlreiche Pings für alle möglichen Anwendungsarten ausgeführt und aufgezeichnet werden können. Zum Beispiel lässt sich die Ausgabe des Ping-Befehls leicht in eine Textdatei weiterleiten, um später überprüft zu werden.
Die häufigste Verwendung des Ping-Hilfsprogramms liegt vielleicht bei der Problembehebung. Beim Versuch, Anwendungen oder Systeme über ein Netzwerk einzusetzen, ist es am wichtigsten zu wissen, ob tatsächlich eine funktionierende Verbindung besteht. Mit einer Reihe von Ping-Befehlen lässt sich bestimmen, wo das Problem liegt.
Durch einen kurzen Ping nach IP-Adresse wird bestätigt, dass das System eingeschaltet ist, dass eine Verbindung besteht und dass die beiden Maschinen miteinander kommunizieren können.
Wenn der Ping nach Name und IP-Adresse erfolgreich ist, die Reaktionszeiten jedoch lang sind, kann ein Routing-, Netzwerkgeschwindigkeits- oder Überlastungsproblem vorliegen. Sogar nicht erfolgreiche Pings können wertvolle Informationen bei der Problembehebung bringen.
Wenn ein Ping nach IP-Adresse erfolgreich ist, ein Ping nach Name jedoch nicht, dann liegt ein Problem mit der Namensauflösung vor. Wenn der Ping ganz fehlschlägt, kann versucht werden, andere Teile des Netzwerks anzupingen, um das Problem zu isolieren. Durch einen erfolgreichen Ping des Standard-Gateways wird bestätigt, dass die Netzwerkverbindung funktioniert, dass jedoch die Verbindung mit dem Remotesystem durch etwas gestört wird.
Wenn Sie mit demselben Subnetz des Remotesystems erfolgreiche Pings durchführen können, jedoch nicht mit dem Zielsystem selbst, dann ist die Netzwerkkonnektivität des Remotehosts zweifelhaft. Wenn das Standard-Gateway nicht angepingt werden kann, die Loopback-Adresse (127.0.01) jedoch zu einem erfolgreichen Ping führt, dann würden Sie wissen, dass die Netzwerkschnittstelle funktioniert, aber keine Verbindung zum Netzwerk besteht.
Wenn der Ping keine Antwort vom Zielhost erhält, zeigen die meisten Ping-Implementierungen entweder gar nichts oder eine Zeitüberschreitungsmeldung an. Das Ergebnis kann zum Beispiel so aussehen:
Ping kann als schnelles und effektives Ermittlungstool eingesetzt werden. Da praktisch jedes mit einem Netzwerk verbundene Gerät auf einen Ping reagiert, würde ein Administrator zum Beispiel durch Anpingen eines Adressenbereichs alle verbundenen Geräte in diesem Bereich finden können – unabhängig vom Gerätetyp oder Betriebssystem.
Ping kann zur Überwachung der Netzwerkverfügbarkeit von Geräten eingesetzt werden. Ein Ping-Befehl, der als geplante Aufgabe ausgeführt wird, kann einen rudimentären Abruf jedes vernetzten Computers oder Geräts vornehmen, ohne dass zusätzliche Softwareagenten installiert oder zusätzliche Ports geöffnet werden müssen. Der grundlegendste aller Aufwärts/Abwärts-Monitore könnte durch Ausführen eines Pings mit der Option „run until stopped“ erzielt werden. Wenn die Pings fehlzuschlagen beginnen, haben sie ein Problem, das System zu erreichen.
Diese Lösungen werden mit einem zusätzlichen Überwachungstool wie PRTG erheblich verbessert, das zwar zugrunde liegende Ping-Befehle verwendet, jedoch nicht davon abhängt, dass jemand die Ausgabe überwacht oder zur Aufzeichnung an einen Datensatz weiterleitet.
Der Standard-Ping v2-Sensor führt Ping-Befehle im Hintergrund aus. Diese Befehle können konfiguriert werden, um in spezifischen Intervallen oder als Reaktion auf ein anderes Ereignis ausgeführt zu werden. Wenn zum Beispiel ein Sensor einen Verbindungsfehler meldet, lässt sich mit einem Ping bestimmen, ob immer noch eine Netzwerkverbindung besteht. Oder Monitore können konfiguriert werden, um einen Administrator zu warnen, wenn die Ping-Zeiten zu lang werden oder zu viel Paketverlust auftritt.
Ein anderer interessanter Ping-basierter Sensor ist der Cloud Ping v2 Sensor, der überwachte Systeme von einer Remote-Cloud verteilter Systeme aus anpingt. Er sorgt für den überaus wichtigen, jedoch schwer zu erkennenden Alarm, wenn an Ihrem Ende alles normal läuft, Ihre Systeme jedoch aus irgendeinem Grund von Remotebenutzern oder -clients von außen nicht erreicht werden können.
PRTG ist eine umfassende Monitoring-Software für Netzwerke und überwacht Ihre gesamte IT-Infrastruktur.
Das bloße Wissen, dass ein System existiert und mit dem Netzwerk verbunden ist, kann genug Information für einen Angreifer sein, um mit dem Angriff zu beginnen. Durch sorgfältige Analyse von Ping-Antworten können weitere Informationen erhalten werden, z. B. welches Betriebssystem das Ziel verwendet, wo sich die Maschine befindet usw.
Viele Hacking-Tools gehen einen ganzen Bereich durch, indem sie jede IP-Adresse in einem Ziel-Netzwerk anpingen, um eine Liste der Systeme zu erhalten, die erreichbar sind und reagieren werden. Infolgedessen sind viele Firewalls so konfiguriert, dass Ping-Anforderungen von nicht vertrauenswürdigen Netzwerken blockiert werden.