Zum Hauptinhalt springen

Wie kann ich überprüfen, ob der Port im Linux-Betriebssystem belegt ist

Wenn Sie Programme entwickeln oder Server auf einem Linux-Betriebssystem verwalten, müssen Sie manchmal feststellen, ob der Port auf Ihrem Computer belegt ist. Die Aufgabe kann nützlich sein, wenn Sie Netzwerkdienste einrichten, Konflikte suchen oder Anwendungen ausführen, bei denen bestimmte Ports nicht gesperrt werden.

Es gibt auch eine Möglichkeit, den Portstatus über eine Programmierschnittstelle zu überprüfen, z. B. mit der Programmiersprache Python. Mit der Socket-Bibliothek können Sie einen Socket erstellen, versuchen, den Port zu kontaktieren und zu überprüfen, ob eine Ausnahme zurückgegeben wurde. Wenn keine Ausnahme auftritt, ist der Port frei, andernfalls ist der Port belegt.

Lsof-Befehl

lsof -i

Dadurch wird angezeigt, welche Ports sich im Status "HÖREN" befinden oder ob eine aktive Verbindung auf diesem System hergestellt wurde.

Außerdem kann der Befehl lsof verwendet werden, um nach einem Prozess zu suchen, der einen bestimmten Port belegt. Dazu müssen Sie die Portnummer mit der Option -i angeben:

Zum Beispiel der Befehl lsof -i :80 zeigt an, welcher Prozess Port 80 belegt (normalerweise für das HTTP-Protokoll verwendet).

Der lsof-Befehl ist ein unverzichtbares Werkzeug für Systemadministratoren und Entwickler bei der Arbeit mit Linux, damit Sie leicht Informationen über den Status des Dateisystems und die aktiven Ports erhalten können.

Netstat-Dienstprogramm

Um herauszufinden, ob der Port unter Linux ausgelastet ist, können Sie das Dienstprogramm verwenden netstat. Mit Netstat können Sie Netzwerkstatistiken anzeigen und analysieren, einschließlich aktiver Verbindungen und offener Ports auf Ihrem Computer.

Sie können den folgenden Befehl ausführen, um zu überprüfen, ob ein bestimmter Port belegt ist:

Das TeamDie Beschreibung
netstat -tuln | grep : Sucht nach allen Verbindungen, die den angegebenen Port verwenden

Netstat bietet außerdem die Möglichkeit, andere Informationen zu Netzwerkverbindungen wie IP-Adressen, Verbindungsstatus usw. anzuzeigen. Weitere Informationen zu netstat und den verfügbaren Optionen erhalten Sie mit dem Befehl man netstat .

Befehl ss

Mit dem Befehl ss können Sie Informationen zu den auf dem Gerät geöffneten Sockets abrufen, einschließlich Informationen zu den abgehörten Ports. Verwenden Sie dazu die Option -l oder --listening.

Beispiel für die Verwendung des Befehls ss, um festzustellen, ob Port 80 belegt ist:

  1. Terminal öffnen
  2. Geben Sie ss -ltn | grep :80 ein

Der ss-Befehl kann auch verwendet werden, um weitere Informationen über Sockets zu erhalten, z. B. angehaltene oder ausgeführte Prozesse, deren Status usw. Alle erhaltenen Informationen werden in einer Tabelle mit verschiedenen Spalten angezeigt.

Auf diese Weise können Sie mit dem Befehl ss schnell und einfach herausfinden, ob ein Port unter Linux ausgelastet ist, und weitere Informationen zu den Sockets auf Ihrem Gerät erhalten.

Verwenden des nc-Dienstprogramms

Sie können das Dienstprogramm verwenden, um die Portbelegung unter Linux zu überprüfen nc (netcat).

Dienstprogramm nc ermöglicht das Herstellen einer Verbindung zu einem Remote-Host sowie das Abhören von Ports. Wir können es verwenden, um die Belegung des Ports auf unserem Server zu bestimmen.

Um die Belegung des Ports zu überprüfen, verwenden Sie nc führen Sie den folgenden Befehl aus:

nc -zv

Hier ist die IP-Adresse des Servers und die Nummer des zu überprüfenden Ports.

nc: connect to port (tcp) failed: Connection refused
nc: connect to port (tcp) failed: Connection timed out

Jetzt wissen Sie, wie Sie das Dienstprogramm verwenden nc um die Portbelegung unter Linux zu überprüfen.