Dank Linux haben wir Zugriff auf viele Tools, die die Netzwerkadministration erleichtern & Diagnose. In diesem Sinne ist der Linux-Ping-Befehl eines der nützlichsten Tools für Systemadministratoren und Netzwerkadministratoren.

Seine Grundfunktion besteht darin, festzustellen, ob ein Host des Netzwerks erreichbar ist oder nicht. In diesem Beitrag werden wir uns jedoch mit anderen erweiterten Funktionen des Linux-Ping-Befehls befassen.

Inhaltsverzeichnis

Was nützt der ping-Befehl?,

Der Befehl ping ist eines der grundlegendsten Werkzeuge für die Arbeit mit Netzwerken. Sein Zweck ist es, Netzwerkverbindungsfehler zu diagnostizieren.

Auf diese Weise kann festgestellt werden, ob ein Netzwerkknoten die Konnektivität verloren hat. Andererseits ist es auch nützlich, andere Diagnoseaufgaben wie die folgenden auszuführen:

  • Messen Sie die Zeit, die zwei Netzwerkknoten für die Kommunikation benötigen.
  • Wir können auch die IP-Adresse eines bestimmten Hosts identifizieren. Wir können diese Funktion sowohl im Internet als auch in einem privaten Netzwerk verwenden.,
  • Der Ping-Befehl kann in einem Bash-Skript verwendet werden, um automatische Überprüfungen mit Netzwerkknoten durchzuführen.
  • Es ermöglicht zu wissen, ob eine Verbindung mit bestimmten Geräten besteht.

Wie Sie sehen, ist es ein notwendiger Befehl für die Verwaltung von Netzwerken und Servern.

Wie funktioniert der ping-Befehl?

Unter Linux ist die Funktionsweise des Ping-Befehls recht einfach zu erklären. Der Befehl sendet eine Reihe kleiner Pakete an einen bestimmten Knoten.

Sie können diesen Knoten entweder mit der IP-Adresse oder dem Hostnamen testen., Nachdem Sie das Paket gesendet haben, überprüft und misst der Befehl die Zeit, die zum Empfangen einer Antwort vom Zielknoten benötigt wird.

Wie zu erwarten, kann die Antwortzeit aufgrund von Bedingungen wie der geografischen Lage zwischen den Verbindungspunkten oder einem beliebigen Teil der zwischen den beiden Knoten verwendeten Hardware beeinträchtigt werden.

In kabelgebundenen privaten Netzwerken erhält der Befehl beispielsweise bessere Zeiten als in einem Netzwerk mit mehreren Routern oder Brücken.

Die Informationen, die der Befehl generiert, beurteilen jedoch, ob sich das Netzwerk in einem guten oder schlechten Zustand befindet.,

Die Syntax des Befehls lautet wie folgt:

ping 

Einige der nützlichsten und am häufigsten verwendeten Optionen des ping-Befehls sind die folgenden:

  • – c: Mit dieser Option können Sie angeben, wie viele Pakete gesendet werden sollen.
  • – s: Mit dieser Option können Sie die Standardgröße der Pakete ändern.
  • – v: ausführlicher Modus.
  • – w: Gibt eine Zeit in Sekunden an, zu der die Ausführung des Befehls beendet wird. Egal wie viele Pakete der Befehl gesendet oder empfangen hat.
  • – i: Mit dieser Option können Sie die zu verwendende Netzwerkschnittstelle angeben.,

Der Zielknoten kann durch eine IP-Adresse oder einen Hostnamen angegeben werden.

Kann ich mit einem Proxy pingen?

Ein Proxy ist ein Server oder eine Anwendung, die als Vermittler für die Verbindung zwischen zwei Punkten in einem Netzwerk fungiert. Es ist der Mann in der Mitte, der die Anfrage direkt an einen anderen Knoten stellt.

Das Problem ist, dass der Ping-Befehl eine direkte Netzwerkverbindung zwischen den Knoten erfordert.

Daher kann der Ping-Befehl im Allgemeinen nicht ordnungsgemäß funktionieren, wenn sich ein Proxy dahinter befindet.

Eine mögliche Lösung ist, dass viele Websites den Ping-Befehlsdienst anbieten., Andererseits ist es für einige Aufgaben des ping-Befehls möglich, den Befehl curl zu verwenden. Außerdem können Sie ein VPN verwenden, damit Ihre IP ausgeblendet wird.

In einigen Linux-Distributionen ist dieser Befehl jedoch standardmäßig nicht installiert. Überprüfen Sie es zuerst und installieren Sie es dann, wenn es nicht installiert ist.

Ping IPv6-Protokoll

Normalerweise verwenden wir bei Verwendung des Ping-Befehls IP-Adressen mit dem IPv4-Protokoll. Mit dem Aufkommen des IPv6-Protokolls wird es jedoch immer häufiger, Adressen in diesem Format zu bemerken.

Der Linux-Kernel unterstützt das IPv6-Protokoll seit Version 2.,2, so dass alle Linux-Distributionen unterstützen es derzeit.

Die grundlegende Syntax lautet wie folgt:

$ ping -6 2001:4860:4860::8888

In alten Versionen gab es den Befehl ping6. Auf neueren Versionen von Linux, ping6 existiert nicht mehr, und seine Funktionalität wurde in ping zusammengeführt, und es funktioniert auf die gleiche Weise, wie Sie gesehen haben.

Die grundlegende Syntax lautet wie folgt:

ping6 

Mit der Option-c können wir die Anzahl der zu sendenden Pakete und mit-i für die Netzwerkschnittstelle angeben, die Sie verwenden möchten., Zum Beispiel:

ping6 2001:4860:4860::8888

Pingen Sie einen bestimmten Port

Manchmal möchten wir wissen, ob ein bestimmter Port auf einem Knoten aktiv ist. Der Befehl ping bietet diese Funktionalität jedoch nicht, es ist jedoch möglich, dies mit dem telnet-Befehl zu tun, der standardmäßig unter Linux installiert ist.

Verwenden Sie dazu einfach die folgende Syntax:

telnet 
telnet google.com 80

Auf diese Weise ist es möglich, einen bestimmten Port eines Netzwerkknotens primitiv zu pingen.,

Ping mit der Zeit

Obwohl der ping-Befehl nützliche Informationen anzeigt, kann es ein wenig einfach sein. Es ist jedoch möglich, den Vorgang des Befehls ein wenig zu ändern, damit das Datum angezeigt wird, an dem das Paket gesendet wird.

Dies kann die Informationen für das Auge angenehm machen und kann für Skripte und Protokolle nützlich sein.

Diese Syntax ist ausreichend, um es zu tun. Sie müssen jedoch das ccze-Paket installieren.

ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze

Wie Sie sehen können, zeigt es die Zeit, die für jedes Paket gesendet.,

Ping alle Hosts in einem bestimmten Subnetz

Sie können ein Ping-Signal an alle Hosts in einem Netzwerk oder Subnetz senden. Dazu genügt es, die Option-b hinzuzufügen und die Broadcast-IP-Adresse eines Netzwerks zu pingen, das mit 255 endet.

Zum Beispiel:

ping -b -c 4 192.168.1.255

Wenn das Ziel nicht erreichbar ist, blockieren sie möglicherweise ICMP-Pakete, die vom ping-Befehl gesendet werden, oder es liegt ein Netzwerkproblem oder ein Problem in der Routingtabelle vor.

Wie beende ich einen Ping?,

Standardmäßig sendet der ping-Befehl unter Linux kontinuierlich Testpakete an Hosts. Sobald die Informationen verfügbar sind, muss jedoch die Ausführung des Ping-Befehls beendet werden.

Drücken Sie dazu einfach die folgenden Tasten:

CTRL + C

Auf diese Weise hört der Befehl sofort auf zu arbeiten.

Ende nach einer bestimmten Anzahl

Sie können die Anzahl der Pakete auf 10 oder was auch immer begrenzen. Wenn das Senden der zehn Pakete beendet ist, wird es gestoppt.,

ping -c 10 

Wo befindet sich der Befehl ping unter Linux?

In einem Unix-abgeleiteten System wie Linux finden sich Binärdateien häufig im Pfad:

/usr/bin/

In diesem Verzeichnis finden Sie viele Binärdateien, die wir als Befehle auf dem Terminal verwenden. In anderen Betriebssystemen der Linux-Familie ist es auch möglich, sie im Verzeichnis

/usr/sbin/

abzulegen.,

So können wir es mit dem Befehl ls überprüfen:

$ ls /usr/bin | grep ping

In diesem Bild können Sie sehen, dass sich die ping-Befehle in

/usr/bin/

Auf andere Weise können Sie mit dem folgenden Befehl einen beliebigen Befehl unter Linux finden:

$ which ping

Es wird Folgendes angezeigt:

/usr/bin/ping

Überprüfen Sie die Latenz mit dem ping-Befehl

Eine der Möglichkeiten des ping-Befehls besteht darin, dass Sie die Antwortzeit der Verbindung messen können. Das ist die Latenz.,

Um die Latenz mit dem ping-Befehl zu messen, verwenden Sie ihn einfach und achten Sie auf die Bildschirmausgabe:

ping -c 4 ping -c 4 192.168.1.1

Wie Sie sehen, wurden vier Pakete mit einer bestimmten Antwortzeit an das Ziel gesendet.

Unten beginnt eine Zeile wie folgt:

rtt min/avg/max/mdev

Der zweite Wert nach dem Gleichheitszeichen ist der Latenzwert. In diesem Fall beträgt der Wert 6.798.,

Mit der Latenz ist es möglich, die Hosts zu bestimmen, deren Konnektivität dem Rest unterlegen ist. Auf diese Weise können wir die entsprechenden Maßnahmen ergreifen.

Finden Sie die ideale MTU

Die MTU (Maximum Transmission Unit) ist ein Wert, der die Größe der größten Dateneinheit, die über ein Netzwerk gesendet werden kann, statisch in Byte ausdrückt.

Derzeit hindern immer mehr Netzwerke aufgrund von Sicherheitsmaßnahmen die MTU daran zu arbeiten. Die meisten lokalen Ethernet-Netzwerke verwenden jedoch eine 1500-Byte-MTU.,

Wenn Sie den idealen MTU-Wert mit dem Befehl ping ermitteln möchten, legen Sie die Anfangswerte fest und verringern Sie sie, bis kein Fehler auftritt. Wenn der Wert zu hoch ist, erhalten wir den nächsten Fehler:

ping: local error: Message too long

Verwenden Sie dazu die folgende Syntax:

ping -M do -s 

Zum Beispiel:

ping -M do -s 1473 192.168.1.1

In diesem Fall, der Wert der Paketgröße ist sehr groß. Also werde ich es verringern. In diesem Fall ist der optimale Wert 1472.,

Wenn Sie eine weitere Nachricht erhalten, muss der Anfangswert um eins verringert werden, bis Sie das gewünschte Ergebnis erhalten.

Wenn der MTU-Wert bekannt ist, kann er zur Verbesserung des Netzwerkverhaltens verwendet werden, insbesondere wenn es sich um ein großes oder sogar großes Netzwerk handelt.

Ping auf Layer 2 (mit arping)

Mit dem Befehl ping können wir Tests durchführen, bei denen die IP-Adresse eines bestimmten Knotens im Netzwerk bekannt ist. Dies liegt daran, dass der Befehl ping auf Schicht 3 des OSI-Modells (Netzwerk) funktioniert.,

Andererseits ist es möglich, einen anderen Befehl zu verwenden, der in Linux als arping integriert ist. Dieser Befehl funktioniert sehr ähnlich wie Ping, funktioniert jedoch auf Ebene 2 des OSI-Modells.

Die Syntax des Befehls lautet wie folgt:

$ sudo arping 192.168.1.1

Sie erhalten ein Ergebnis wie folgt:

Die Bildschirmausgabe des Befehls zeigt zuerst die Größe des gesendeten Pakets und dann die MAC-Adresse des Knotens und die Antwortzeit an.

Beachten Sie, dass dieser Befehl nicht standardmäßig unter Debian Linux und Derivaten installiert ist., Sie müssen es also installieren, dann können Sie es als root ausführen.

Hostname pingen

Standardmäßig sendet der Befehl ping Testpakete über die IP-Adresse oder den Hostnamen des Ziels an das Ziel. Es sollte auch beachtet werden, dass die meisten Ping-Implementierungen unter Linux DNS nicht umgekehrt auflösen.

Wenn Sie beispielsweise den Befehl Ping verwenden, indem Sie eine IP-Adresse hinzufügen, wird nur die IP-Adresse des Hosts am Ausgang zurückgegeben. Wenn wir umgekehrt einen Hostnamen angegeben haben, wird dieser aufgelöst und die IP am Ausgang angezeigt.,

Überprüfen Sie die Ausgabe des folgenden Befehls:

$ ping google.com

Ping-Route (mit traceroute)

Der Ping-Befehl zeigt nicht die Route von der Quelle an, um das Ziel zu erreichen.

Und dies kann sehr nützlich sein, wenn die Verbindung mit dem Host verloren gegangen ist, da wir verstehen können, an welchem Punkt die Verbindung verloren gegangen ist.

Der Befehl tracert oder traceroute funktioniert dem Befehl ping sehr ähnlich. Der Vorteil davon ist, dass es den Pfad anzeigt, den das Paket nimmt, und somit seine Route anzeigt.,

Wie der Ping-Befehl kommt in den meisten Linux-Distributionen installiert. Die grundlegende syntax lautet wie folgt:

traceroute 

auf diese Weise können wir sehen die route, die Pakete zu nehmen.

Befehl ausführen, wenn ping fehlschlägt

Angenommen, Sie möchten benachrichtigt werden, wenn der Ping-Befehl fehlschlägt. Dazu müssen Sie den Ping-Befehl in ein Bash-Skript integrieren, um die gewünschte Bedingung festzulegen.,

Mit diesem Shell-Skript können Sie beispielsweise überprüfen, ob der Ping-Befehl fehlschlägt:

#! /bin/bashping -c 1 If ; then #Your_command_hereFi

Legen Sie die Ping-Paketgröße fest

Die Standardgröße der Pakete, die vom ping-Befehl an Hosts gesendet werden, beträgt 56 Byte. Es ist ein niedriger Wert, der den Betrieb des Netzwerks nicht beeinträchtigt.

Es ist jedoch möglich, es in einen anderen Wert zu ändern. Fügen Sie dazu einfach die Option-s mit der gewünschten Paketgröße hinzu.,

Zum Beispiel:

ping -s hostname/IP

Wenn Sie möchten, dass die Paketgröße 100 Byte beträgt, verwenden Sie einfach den folgenden Befehl:

ping -s 100 192.168.1.1

Denken Sie daran, dass sie je nach MTU leicht variieren kann.

Deaktivieren Sie den Ping-Befehl

Wenn wir für die Wartung eines Netzwerks verantwortlich sind, möchten wir möglicherweise jederzeit Ping-Antworten deaktivieren. Wir können es vorübergehend oder dauerhaft tun, nach unseren Bedürfnissen.,

Wenn wir es vorübergehend deaktivieren möchten, reicht es aus, diesen Befehl als Root-Benutzer zu verwenden:

$ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Dies deaktiviert die Ping-Befehlsantwort, jedoch nur bis Sie das System neu starten.

Wenn Sie dies dauerhaft tun möchten, müssen Sie die folgende Datei bearbeiten

/etc/sysctl.conf

und die nächste Zeile hinzufügen:

$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1

Speichern Sie die Datei und beenden Sie sie., Verwenden Sie diesen Befehl, um die Änderungen anzuwenden:

$ sysctl -p

Dadurch wird die Antwort des Ping-Befehls oder der ICMP-Pakete deaktiviert.

Fazit

In diesem Beitrag haben wir ausführlich erklärt, wie der ping-Befehl unter Linux funktioniert. Von seinem Nutzen bis zum Deaktivieren. Ping ist einer der am einfachsten zu verwendenden Befehle.

Dadurch weiß die für den Betrieb des Netzwerks verantwortliche Person, wo sich das Problem befindet, damit sie Maßnahmen ergreifen kann.

ich hoffe, Sie finden den Beitrag nützlich. Komm immer wieder zurück.

Danke.,

Gründer von LikeGeeks. Ich arbeite seit 2010 als Linux-Systemadministrator. Ich bin verantwortlich für die Wartung, Sicherung und Fehlerbehebung von Linux-Servern für mehrere Clients auf der ganzen Welt. Ich liebe es, Shell-und Python-Skripte zu schreiben, um meine Arbeit zu automatisieren.