Sie fragen sich, wie Sie die Konnektivität zwischen zwei Netzwerkendpunkten überprüfen können?
Eine der häufigsten Aufgaben des Systemadministrators besteht darin, die Konnektivität zu überprüfen, um Netzwerkprobleme zu beheben. Es könnte so sein, dass die Anwendung keine Verbindung zum Back-End-Dienst herstellen kann, keine Daten von einer externen URL abrufen kann, nicht überprüfen kann, ob der Flow geöffnet ist usw.
Was auch immer es sein mag, die folgenden Dienstprogramme/Befehle würden Ihnen helfen. Sie werden auf CentOS getestet, und ich sehe keinen Grund, nicht an einer anderen Linux-Distribution zu arbeiten.
Lass uns erforschen…
Inhaltsverzeichnis
telnet
Einer der weit verbreiteten Befehle zum Testen der wesentlichen Konnektivität zwischen Servern, dem Server und der IP eines anderen Netzwerkgeräts. Die Syntax für den Befehl ist einfach.
telnet $destinationIP $PORT
Angenommen, Sie möchten testen, ob Sie eine Verbindung zu Port 8080 auf der IP-Adresse 10.0.0.1 herstellen können. dann wäre der Befehl.
telnet 10.0.0.1 8080
Wenn beim Verbinden kein Problem auftritt, sollten Sie die verbundene Nachricht sehen.
Trying 10.0.0.1... Connected to 10.0.0.1. Escape character is '^]'.
Hinweis: Wenn Sie beim Ausführen von Telnet einen Befehl erhalten, der nicht gefunden wurde, müssen Sie Telnet installieren, wie ich es hier erklärt habe.
In den meisten Szenarien sollte Telnet helfen. Wenn Sie jedoch eine andere Option benötigen, finden Sie hier einige Telnet-Alternativen.
ncat oder nc
Ncat (alias nc) ist ein leistungsstarkes Netzwerkdienstprogramm mit vielen Funktionen wie Binden und Akzeptieren einer Verbindung, Ausführen von Befehlen aus der Ferne, Schreiben und Lesen von Daten usw. Es funktioniert sowohl mit IPv4 als auch mit IPv6.
Um einen einfachen Test durchzuführen, um zu überprüfen, ob der Port geöffnet ist oder nicht, führen Sie Folgendes aus.
nc -vz $HOSTNAME $PORT
Nehmen wir ein Beispiel für das Testen von Port 443 auf wdzwdz.com.
[[email protected] ~]# nc -vz wdzwdz.com 443 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 104.25.133.107:443. Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds. [[email protected]ekflare-lab ~]#
Wie bereits erwähnt, können Sie auch nc verwenden, um die Verbindung so zu binden, dass sie auf einem bestimmten Port lauscht. Dies kann praktisch sein, wenn Sie keine eigentlichen Dienste ausführen, aber sicherstellen möchten, dass eine Verbindung besteht.
So starten Sie das Abhören eines Ports:
nc -l $PORTNUMBER
Es bindet den Port an eine bestimmte Nummer.
Wenn ncat nicht installiert ist, können Sie dies mit yum install nc auf CentOS/RHEL-Servern erledigen.
wget
wget ist ein nützlicher Befehl zum Herunterladen/Testen von HTTP, HTTPS und FTP. Wenn Sie als Webingenieur arbeiten oder sich häufig mit webbezogenen Problemen befassen, ist wget Ihr Freund. Das Testen mit wget ist unkompliziert.
wget $URL
Hier ist ein Beispiel für das Testen von tools.wdzwdz.com
[[email protected] ~]# wget tools.wdzwdz.com --2019-05-09 20:40:01-- https://tools.wdzwdz.com/ Resolving tools.wdzwdz.com (tools.wdzwdz.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ... Connecting to tools.wdzwdz.com (tools.wdzwdz.com)|104.25.134.107|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://tools.wdzwdz.com/ [following] --2019-05-09 20:40:01-- https://tools.wdzwdz.com/ Connecting to tools.wdzwdz.com (tools.wdzwdz.com)|104.25.134.107|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: 'index.html.2' [ <=> ] 15,139 --.-K/s in 0.001s 2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139] [[email protected] ~]#
Wenn verbunden angezeigt wird, bedeutet dies, dass kein Verbindungsproblem vorliegt.
Schauen Sie sich dies an, um einige der häufig verwendeten wget-Befehlsbeispiele zu sehen.
kräuseln
Eine Locke ist ein Mehrzweckwerkzeug.
Wissen Sie, dass Sie mit curl eine Telnet-Verbindung zu einem Port herstellen können?
Ja, jetzt weißt du es.
curl -v telnet://$IP:$PORT
Das Folgende ist ein funktionierendes Beispiel.
[[email protected] ~]# curl -v telnet://chandan.io:443 * About to connect() to chandan.io port 443 (#0) * Trying 104.31.68.106... * Connected to chandan.io (104.31.68.106) port 443 (#0)
Und wenn es kein Abhörport- oder Firewall-Problem gibt, werden Sie sehen, dass Sie versuchen …
[[email protected] ~]# curl -v telnet://chandan.io:4434 * About to connect() to chandan.io port 4434 (#0) * Trying 104.31.68.106...
Sie können die Daten auch mit curl herunterladen. Es unterstützt mehrere Protokolle – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER usw.
nmap
Ein beliebtes Tool mit Hunderten von Funktionen. Oft wird dies als Sicherheitstool betrachtet, nmap können Sie eine einzelne IP/Port oder im Bereich testen.
Um einen einzelnen Port zu testen
nmap -p $PORT $IP
Ein Beispiel für das Testen von Port 443 auf siterelic.com
[[email protected] ~]# nmap -p 443 siterelic.com Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC Nmap scan report for siterelic.com (104.27.174.50) Host is up (0.0079s latency). Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32 PORT STATE SERVICE 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds [[email protected] ~]#
Sehen Sie sich die Statusspalte an. Wenn Sie offen sehen, bedeutet dies, dass die Verbindung in Ordnung ist. Und wenn der Status gefiltert ist, bedeutet dies, dass keine Konnektivität vorhanden ist.
Klingeln
Einer der weit verbreiteten Befehle besteht darin, zu prüfen, ob ein entfernter Host auf ICMP ECHO_REQUEST antwortet oder nicht. Beachten Sie, dass dies möglicherweise keine genauen Ergebnisse liefert, wenn ICMP an der Firewall des Remote-Netzwerks blockiert ist. Unter der Annahme, dass dies nicht der Fall ist, können Sie den IPv4- oder IPv4-Netzwerkendpunkt wie unten beschrieben pingen.
ping $ipaddress ping $url
Beispiel: Erfolgsergebnis von wdzwdz.com
[email protected] ~ % ping wdzwdz.com PING wdzwdz.com (104.27.119.115): 56 data bytes 64 bytes from 104.27.119.115: icmp_seq=0 ttl=53 time=7.944 ms 64 bytes from 104.27.119.115: icmp_seq=1 ttl=53 time=8.870 ms
Beispiel: Fehlerergebnis der internen IP.
[email protected] ~ % ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1
Wenn der Endpunkt IPv6 unterstützt, können Sie den ping6-Befehl wie unten verwenden.
[email protected] ~ % ping6 wdzwdz.com PING6(56=40+8+8 bytes) 2a01:4b00:88e4:8700:d8ca:bf50:159c:2a1d --> 2606:4700:20::681b:7673 16 bytes from 2606:4700:20::681b:7673, icmp_seq=0 hlim=250 time=8.650 ms 16 bytes from 2606:4700:20::681b:7673, icmp_seq=1 hlim=250 time=8.738 ms
Wenn Sie einen Remote-Ping über das Internet durchführen müssen, können Sie das Online-Ping-Tool verwenden.
Fazit
Telnet läuft in der neuesten Linux-Version aus. Dank obiger Telnet-Alternative.
Wenn Sie neu bei Linux sind und lernen möchten, dann schauen Sie sich das an Udemy-Kurs.