Unter Linux ist „Telnet“ das Befehlszeilentool, das zur Überprüfung der offenen Ports und auch für die Verbindung zur Gegenstelle über die TCP/IP-Netzwerke verwendet wird. Für die Überprüfung der offenen Ports kommen jedoch verschiedene alternative Tools in Betracht, wie zum Beispiel „nmap“, „netstat“, „netcat“, „/dev/tcp“ oder „lsof“.
In diesem Beitrag werden die Alternativen zum Überprüfen der offenen Ports neben Telnet unter Linux demonstriert.
- Verwenden von nmap
- Netstat verwenden
- Verwenden von lsof
- Verwenden von netcat (nc) | Für einen bestimmten Port
- Mit /dev/tcp | Für einen bestimmten Port
Verwenden von nmap
„Namp“ ist das Netzwerktool, das zum Scannen der Netzwerkverbindung und zum Suchen nach offenen Ports im Netzwerk verwendet wird. Um es zu installieren, führen Sie einen der folgenden Befehle basierend auf Ihrer Linux-Distribution aus:
$ sudo apt install nmap #For Debian/Ubuntu $ sudo dnf install nmap #For Fedora $ sudo yum install nmap #For CentOS/RHEL
Das Tool „nmap“ ist installiert.
Führen Sie das Tool „nmap“ mit dem Befehl „ aus.F” Flag für den schnellen Scan und geben Sie die IP-Adresse des Netzwerks ein:
$ sudo nmap -F 192.168.119.129
Der SSH-Port 22 ist der offene Port.
Netstat verwenden
Die zweite Alternative zur Überprüfung der offenen Ports ist die Verwendung des Befehls „netstat“. Ein Befehlszeilentool, das zum Abrufen von Informationen zu Verbindungen, Schnittstellenstatistiken und anderen netzwerkbezogenen Aufgaben geeignet ist.
Der Befehl „netstat“ wird mit der Installation von „net-tools“-Paketen geliefert. Führen Sie den unten angegebenen Befehl aus, um ihn zu installieren:
$ sudo apt install net-tools #Debian/Ubuntu $ sudo yum install net-tools #CentOS/RHEL/Fedora $ sudo pacman -S netstat-nat #Arch-Linux
Das Paket „net-tools“ ist installiert.
Führen Sie den Befehl netstat im Terminal mit den folgenden Optionen aus:
$ netstat -tuplen
Die Optionen des Befehls werden wie folgt beschrieben:
- „T”-Flag für TCP-Verbindungen.
- „u”-Flag für UDP-Verbindungen
- „P”-Flag für Programm-ID/Name für Sockets
- „l”-Flag für das Abhören von Sockets
- „e”-Flag zum Erweitern von Informationen
- „N”-Flag zur Anzeige gepunkteter IP-Adressen
Die Ports Nr. 631, 22, 53 und 25 sind im offenen Zustand
Notiz: Der Benutzer kann anstelle von „netstat“ auch das Dienstprogramm „ss“ (Ersetzung von Netstat) verwenden, um die gleichen Ergebnisse zu erhalten, jedoch mit detaillierteren Informationen:
$ ss -tuplen
Verwenden von lsof
„lsof“ ist das Befehlszeilentool, das zum Auflisten der geöffneten Dateien im Linux-Betriebssystem verwendet wird. Es kann zur Anzeige der Prozesse verwendet werden, die bestimmte Ports überwachen. Sehen wir uns an, wie es als Alternative zu Telnet verwendet werden kann:
Installieren Sie lsof unter Linux
Der „lsofDie Unterstützung des Befehls ist möglicherweise nicht standardmäßig verfügbar (aufgrund einer minimalen/eingeschränkten Installation). Um es zu installieren, verwenden Sie den folgenden Befehl:
$ sudo apt install lsof #Debian/Ubuntu $ sudo yum install lsof #RHEL/CentOS/Fedora $ sudo zypper install lsof #OpenSUSE $ sudo pacman -S lsof #Arch-Linux
Das Dienstprogramm „lsof“ ist installiert.
Der folgende Befehl zeigt alle Prozesse an, die an den jeweiligen Ports lauschen:
$ sudo lsof -i -P -n | grep LISTEN
Die Befehlsoption wird wie folgt beschrieben
- „ich”-Flag zur Auswahl von IPv4-Dateien.
- „P”-Flag zur Auswahl von PIDs (Prozess-ID).
- „N”-Flag für die Auflistung ohne Hostnamen.
Die Überwachungsports für alle Prozesse werden aufgelistet.
Verwenden von netcat (nc) | Für einen bestimmten Port
„nc“ (netcat) ist das Tool zum Scannen von Ports und zum Übertragen von Daten über die Protokolle UDP und TCP. Um den Befehl „nc“ zu installieren, wird Folgendes verwendet:
$ sudo apt install netcat #For Debian/Ubuntu $ sudo dnf install nc #For Fedora $ sudo yum install nc #For CentOS/RHEL
Das Dienstprogramm „nc“ (netstat) ist installiert.
Die Syntax zum Scannen der Ports im Netzwerk mit dem Befehl „nc“ ist unten angegeben:
Syntax:
$ nc -zv <IP address> <port number>
Die Syntax wird wie folgt beschrieben:
- Der „nc”-Befehl zum Scannen von Ports.
- „z”-Flag zum Scannen der offenen Ports.
- „v” Flag für den ausführlichen Modus.
- „IP Adresse” des zu scannenden Netzwerks.
- „Port-Nummer”, um den jeweiligen Port zu überprüfen.
Um zu überprüfen, ob Port 22 geöffnet ist oder nicht, wird der folgende Befehl verwendet:
$ nc -zv 192.168.119.129 22
Die erfolgreiche Verbindung mit Port 22 zeigt, dass sich Port 22 im offenen Zustand befindet.
Mit /dev/tcp oder /dev/udp | Für einen bestimmten Port
Die offenen Ports können auch mit /dev/tcp oder /dev/udp überprüft werden, indem Sie den Host/das Netzwerk und die zu überprüfende Portnummer eingeben. Verwenden Sie die folgende Befehlssyntax zum Scannen der offenen Ports:
Syntax:
$ echo > /dev/tcp/[host/Network IP]/[port] && echo "Port is open" Or $ echo > /dev/udp/[host]/[port] && echo "Port is open"
Die Syntax wird wie folgt beschrieben:
- Geben Sie die ein „Host-/Netzwerk-IP-Adresse“ mit dem „Hafen” Zahl im Echo-Befehl.
- Der Operator „&&“ (AND) wird mit einer Echo-Anweisung verknüpft, um die erfolgreiche Ausführung des Befehls zu erhalten.
Um zu überprüfen, ob Port 22 geöffnet ist oder nicht, wird der folgende Befehl basierend auf der Syntax verwendet:
$ echo > /dev/tcp/192.168.119.129/22 && echo "Port is open"
Port 22 ist im offenen Zustand.
Abschluss
Unter Linux kann der Benutzer alternativ zum Tool „telnet“ die Tools „nmap“, „netstat“, „netcat“, „/dev/tcp“ oder „lsof“ verwenden. Um „nmap“, „netstat“ und „dev/tcp oder /dev/udp“ zu verwenden, führen Sie es mit der zu überprüfenden Netzwerk-/Host-IP-Adresse und Portnummer aus. Um „netcat“ zu verwenden, führen Sie es mit den Flags „tuplen“ im Terminal aus, während Sie „lsof“ mit den Flags „i“, „P“ und „n“ ausführen.
In diesem Blog wurden die Alternativen neben Telnet zur Überprüfung offener Ports unter Linux dargestellt.