das Internet

Finden Sie heraus, ob ein Port unter Linux geöffnet oder geschlossen ist

Zu wissen, ob ein TCP- oder UDP-Port offen oder geschlossen ist, ist eine grundlegende Aufgabe für jeden System- und Netzwerkadministrator. Es ist oft wichtig zu wissen, ob die Ports offen sind, um eine Kommunikation mit dem dahinter liegenden Abhördienst aufzubauen, aber es ist auch sehr wichtig zu wissen, ob sie geschlossen sind, um mögliche Sicherheitsprobleme zu vermeiden. Heute werden wir Ihnen in RedesZone beibringen, wie Sie wissen, ob ein Port in einem Linux-Betriebssystem geöffnet oder geschlossen ist, da dieses Betriebssystem normalerweise in Servern verwendet wird.

Es gibt mehrere Möglichkeiten, um zu überprüfen, ob ein bestimmter Port geöffnet oder geschlossen ist, insbesondere unter Linux. Die erste ist die Verwendung des beliebten Netcat-Programms, das in allen Distributionen vorinstalliert ist open Dies geschieht durch direkte Überprüfung mit dem Programm Nmap, das es uns ermöglicht, alle Ports eines bestimmten Hosts zu scannen. Wenn wir schließlich wissen möchten, ob wir einen offenen oder geschlossenen Port haben, müssen wir uns diesen in der Firewall und auch in den aktuellen Verbindungen des Betriebssystems ansehen.

Offene Ports mit Netcat anzeigen

Netcat ist ein Tool, das standardmäßig in den meisten Linux-Distributionen enthalten ist. Abgesehen davon, dass es sehr einfach zu verwenden ist, müssen wir keine zusätzlichen Pakete installieren. Bevor wir mit Netcat prüfen, ob der Port geöffnet ist, sehen wir uns die beiden wichtigsten Netcat-Einstellungen an:

  • z ist ein Parameter, der dafür sorgt, dass am Ende der Prüfung die Verbindung geschlossen wird oder das Programm ansonsten in einer Schleife ausgeführt wird, bis wir es manuell mit Strg + C beenden, genau wie ein Ping unter Linux.
  • v ist der Parameter, der überprüft, ob der Port geöffnet oder geschlossen ist.

Um den Port zu überprüfen, müssen wir Folgendes in ein Terminal eingeben:

nc -zv {IP} {PUERTO}

Um zum Beispiel zu überprüfen, Port 443 auf unserem Router wir wird eingeben:

nc -zv 192.168.10.1 443

Im folgenden Bild sehen Sie, wie dieser Port geöffnet wird:

Wenn wir die RedesZone-Website und Port 443 testen, erhalten wir ähnliche Informationen:

Falls es geschlossen ist, sollten wir dies setzen:

Wie Sie gesehen haben, ist es mit Netcat, einem sehr einfachen Dienstprogramm, das in Linux vorinstalliert ist, sehr einfach zu überprüfen, ob ein Port geöffnet oder geschlossen ist. Zusätzlich zu den Befehlen "z" und "v" stehen uns auch andere Argumente zur Verfügung, die es uns ermöglichen, mehr Informationen zu erhalten. Wenn wir den folgenden Befehl ausführen, wird Hilfe angezeigt:

nc -h

Wie Sie sehen, haben wir viele Argumente für die Erweiterung der Funktionalität.

Offene Ports anzeigen mit Nmap

Nmap ist das Programm schlechthin, um Hosts zu erkennen und auch zu überprüfen, ob die verschiedenen Ports geöffnet sind. Dieses Programm ist in Linux-Betriebssystemen nicht vorinstalliert, sondern kann in der folgenden Reihenfolge direkt aus den Repositorys installiert werden:

sudo apt install nmap

Nach der Installation müssen Sie den folgenden Befehl eingeben, um herauszufinden, ob ein bestimmter Port geöffnet ist:

nmap -p {PUERTO} {IP}

In der folgenden Abbildung sehen Sie, wie ein offener Port aussehen würde:

Falls ein Port durch eine Firewall geschlossen oder gefiltert wird, erscheint:

Wenn wir alle Ports eines bestimmten Hosts oder eines Portbereichs scannen möchten, müssen wir einen Portbereich wie folgt angeben:

nmap -p {PUERTO}-{PUERTO} {IP}

Zum Beispiel:

nmap -p 1-65535 192.168.10.1

Wie Sie sehen, ist die Überprüfung der offenen Ports mit Nmap wirklich einfach. Außerdem können wir alle Hosts des Heim- oder Arbeitsnetzwerks scannen, um die verschiedenen Ports später zu scannen.

Überprüfen Sie die Firewall unter Linux

Wenn wir überprüfen möchten, ob wir einen offenen Port zum Akzeptieren von Verbindungen haben, müssen Sie zunächst den Status der Firewall in unserem Linux-Betriebssystem überprüfen. Standardmäßig ist die Richtlinie auf allen Linux-Servern permissiv, dh alle Pakete werden von der Richtlinie akzeptiert. Wir können diese Richtlinie in eine restriktive Richtlinie ändern und sogar neue Tabellen, Ketten und Regeln hinzufügen, um Datenverkehr zuzulassen oder zu verweigern.

Wenn wir in unserem Linux-Terminal Folgendes eingeben:

iptables -L

Wir erhalten alle Ketten und Regeln aus der iptables-Tabelle "filter". Wenn Sie Nftables verwenden, müssen Sie den folgenden Befehl angeben:

nft list ruleset

Eine sehr wichtige Sicherheitsempfehlung ist, dass alle Ports auf einem Linux-Server geschlossen werden sollten, damit ein Dienst, der einen bestimmten Port abhört, nur dann erreichbar ist, wenn wir dies in der Firewall zulassen. Damit unsere Dienste aus dem Ausland erreichbar sind, müssen wir im Detail prüfen, ob ein bestimmter Hafen geöffnet ist oder nicht.

Zeigen Sie den Status von TCP- und UDP-Verbindungen an

Wenn wir den Status aller TCP-, UDP-, ICMP- und anderer Protokolle unseres Betriebssystems wissen möchten, war "netstat" immer ein weit verbreitetes Tool, aber dieses Tool kam dank des neuen "ss" auf den zweiten Platz wird uns schnell und einfach eine große Menge an Informationen zur Verfügung stellen. Dieses Tool ist dafür verantwortlich, alle offenen oder geschlossenen Sockets auf unserem Linux-Server zu überprüfen, und wir können die Statistiken dieser offenen oder geschlossenen Sockets sehen. Wenn Sie das netstat-Tool in der Vergangenheit verwendet haben, werden Sie dieses neue "ss"-Tool sicher lieben.

Das Tool "ss" ist auf Linux-Betriebssystemen bereits als Teil des Systems selbst vorinstalliert, ebenso wie "ping", "traceroute" und viele andere Tools. Wenn wir eine Konsole sowohl im Benutzermodus als auch im Superuser-Modus öffnen, müssen wir Folgendes ausführen:

ss

Nachdem wir diesen Auftrag ausgeführt haben, können wir Folgendes sehen:

Wir sehen den Verbindungsstatus (ESTAB), aber auch die empfangenen und gesendeten Pakete, die lokale Adresse und den Port, sowie die Remote-Adresse und den verwendeten Port. Wir werden eine große Anzahl von Ports von den verschiedenen Programmen und Diensten verwenden, die wir im Betriebssystem installiert haben.

Wenn wir den Status aller Ports (Sockets) sehen möchten, können wir die folgende Reihenfolge festlegen:

ss -a

Wenn Sie nur die "hörenden" Ports sehen möchten, müssen Sie folgenden Befehl eingeben:

ss -l

In der folgenden Abbildung sehen Sie ein Beispiel für "READY"-Ports, um eingehende Verbindungen zu akzeptieren:

Falls wir die TCP-Verbindungen anzeigen möchten, müssen wir das Argument "-t" verwenden und falls wir die UDP-Verbindungen anzeigen möchten, müssen wir das Argument "-u" verwenden.

ss -t
ss -u

Der Befehl "ss" ist sehr nützlich, um alle bestehenden Verbindungen anzuzeigen und auch auf unserem Linux-Betriebssystem zu hören.

Wie Sie gesehen haben, haben wir verschiedene Methoden, um zu wissen, ob ein Port auf einem Remote-Host geöffnet oder geschlossen ist und auch auf unserem lokalen Computer, je nachdem, was uns interessiert, verwenden wir das eine oder andere Tool, das wichtigste ist das Alle nicht verwendeten Ports sollten aus Sicherheitsgründen durch die Firewall geschlossen werden, auf diese Weise vermeiden wir Sicherheitsprobleme und das Ausnutzen von Server-Schwachstellen.

Ähnliche Artikel

Hinterlasse eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

Button zurück nach oben