In Networking ist ein Port eine interessante Funktion. Dies ist eine Möglichkeit für den Netzwerkverkehr, die Ziel -App oder den Dienst zu identifizieren. Jeder Prozess/Service erhält seinen einzigartigen Port. Ein Port wird immer mit der IP -Adresse des Hosts zusammen mit dem Protokoll verknüpft.
Dies ist eine Lieblingsmetapher von mir, um zu beschreiben, was ein Port ist. Stellen Sie sich ein mit Fracht beladenes Schiff vor, das in ein entferntes Land reist. Welche Informationen sind erforderlich, um das Ziel ordnungsgemäß zu erreichen? Nehmen wir zum Einfachheit halber an, es braucht das Land (die IP -Adresse) und die Hafen Das Schiff wird andocken.
In diesem Handbuch finden Sie in der Auflistung der geöffneten Ports unter Linux.
Ports auf Linux
Ports dienen als Endpunkt der Kommunikation. Es ist eine 16-Bit-Zahl (0 bis 65535 in Dezimalzahl). Während der Bereich groß ist, werden die Ports in drei Kategorien eingeteilt. Jede Kategorie wird als der Bereich des Portwerts bezeichnet:
In Linux gibt es mehrere Möglichkeiten, die offenen Ports zu überprüfen. Standardmäßig bleibt jeder Port geschlossen, es sei denn, eine App verwendet sie. Wenn ein Port geöffnet ist, muss er einem Dienst/Prozess zugewiesen werden.
Listen Sie offene Ports auf
Es ist einfacher zu identifizieren, welche Ports verwendet werden und welche Ports geöffnet sind. Aus diesem Grund werden im folgenden Abschnitt Methoden enthält, um alle derzeit verwendeten Ports aufzulisten. In Linux stehen für die Aufgabe mehrere Tools zur Verfügung. Die meisten von ihnen kommen in jeder Linux-Distribution integriert.
Das Lernen, welche Ports derzeit geöffnet sind, kann in verschiedenen Szenarien nützlich sein. Es ist möglich, einen dedizierten Port für eine bestimmte Anwendung zu konfigurieren. Ein offener Port kann auch ein starker Hinweis auf das Eindringen im Netzwerk sein.
Die folgenden Methoden werden auf Ubuntu 20 demonstriert.04.1 LTS.
Listen Sie Protokolle auf und öffnen Sie Ports von /etc /diensten
Die Datei /etc /dienste enthält Informationen über die aktuell ausgeführten Dienste. Es ist eine große Datei, die so bereit ist, überwältigt zu werden.
$ cat /etc /dienste | weniger
Listen Sie die Öffnen von Ports mit Netstat auf
Das Netstat -Tool ist ein Dienstprogramm zur Anzeige von Netzwerkverbindungen für TCP, Routing -Tabellen und verschiedene Netzwerkschnittstellen. Es bietet auch Netzwerkprotokollstatistiken. Durch die Nutzung von Netstat können wir alle offenen Ports des Systems auflisten.
Führen Sie den folgenden Netstat -Befehl aus:
$ netstat -atu
Lassen Sie uns eine kurze Aufschlüsselung aller Flaggen haben, die wir in diesem Befehl verwendet haben.
Hier ist eine weitere Variation des Netstat -Befehls:
$ netstat -lntu
Im Befehl sind zwei neue Flags verwendet. Was meinen sie?
Verwenden Sie die PID des Prozesses, bei dem ein Port verwendet wird, das Flag „-P“:
$ netstat -lntup
Listen Sie die Öffnungsanschlüsse mit SS auf
Das SS -Tool ist ein Dienstprogramm zur Untersuchung von Socket. Die Verwendung ist Netstat ähnlich.
Führen Sie den folgenden SS -Befehl aus, um die geöffneten Ports aufzulisten:
$ ss -lntu
Die Flaggen ähneln Netstat. Die Funktionen, die sie beschreiben, sind ebenfalls ziemlich ähnlich.
Listen Sie die Öffnen von Ports mit LSOF auf
Der Befehl LSOF besteht darin, offene Dateien aufzulisten. Es kann jedoch auch zum Anzeigen der offenen Ports verwendet werden.
Führen Sie den folgenden LSOF -Befehl aus:
$ lsof -i
Um die offenen Ports eines bestimmten Protokolls zu erhalten (TCP, UDP usw.) Definieren Sie es dann nach der Flagge „-i“ und verwenden Sie:
$ lsof -i
Listen Sie die Öffnen von Ports mit NMAP auf
Das NMAP -Tool ist leistungsfähig für die Netzwerkforschung und Sicherheits-/Port -Scaning. Es kann alle offenen Ports im System melden.
Führen Sie den folgenden NMAP -Befehl aus, um die öffnen TCP -Ports aufzulisten. Hier ist die IP -Adresse des Host -Computers:
$ sudo nmap -st -p- localhost
Hier gibt es zwei Teile des Befehlsarguments.
Wenn Sie die öffnen UDP -Ports auflisten müssen, führen Sie den folgenden NMAP -Befehl aus:
$ sudo nmap -su -p- localhost
Verwenden Sie den folgenden Befehl, um sowohl die offenen TCP- als auch die UDP -Ports zu erhalten:
$ sudo nmap -n -pn -st -su -p- localhost
Listen Sie die Öffnen von Ports mit NetCAT auf
Das NetCat -Tool ist ein Befehlszeilen -Dienstprogramm zum Lesen und Schreiben von Daten über Netzwerkverbindungen über die TCP- und UDP -Protokolle hinweg. Dieses Tool kann auch zum Auflisten offener Ports verwendet werden. Es kann Tests an einem bestimmten Port oder einer Reihe von Ports durchführen.
Der folgende Befehl netcat scannt den Port von 1 auf 1000. Der Befehl netcat führt den Scan im TCP -Protokoll standardmäßig aus:
$ nc -z -v localhost 1-1000
Es kann auch auf die gesamte Liste der möglichen Ports erweitert werden:
$ nc -z -v localhost 1-65535
Lassen Sie uns eine kurze Aufschlüsselung der Flaggen haben.
Um nur die offenen Ports aus dieser Liste zu erhalten, filtern Sie die Ausgabe mit GREP für den Begriff „erfolgreich“ mit GREP, um „erfolgreich“ zu sein.
$ nc -z -v localhost 0-65535 2> & 1 | Grep gelang es
Wenn Sie den Scan im UDP-Protokoll durchführen möchten, fügen Sie das Flag "-U" hinzu.
$ nc -z -v -u localhost 0-65535 2> & 1 | Grep gelang es
Abschließende Gedanken
Wie gezeigt, gibt es unzählige Möglichkeiten zum Scannen nach offenen Ports unter Linux. Ich schlage vor, alle Methoden auszuprobieren, bevor Sie sich entscheiden, welches für den Meister. Wenn Sie regelmäßig ein bestimmtes Tool wie NetCat oder NMAP verwenden, ist das Beherrschen der zugehörigen Methoden am vorteilhaftesten.
Happy Computing!