Hostwinds Blog

Suchergebnisse für:


5 Möglichkeiten zum Überprüfen offener Ports unter Linux Ausgewähltes Bild

5 Möglichkeiten zum Überprüfen offener Ports unter Linux

durch: Hostwinds Team  /  Januar 14, 2025


Ports sind wie Türen, mit denen Apps und Programme auf Ihrem Linux -System Daten senden und empfangen können.Wenn Sie sehen möchten, welche Ports verwendet werden, welche offen sind, oder einfach herausfinden, was mit Ihrem Netzwerk los ist, sind Sie am richtigen Ort gekommen.

In diesem Handbuch gehen wir mehrere Möglichkeiten durch, um Ports unter Linux mit einfachen Befehlen zu überprüfen.Am Ende werden Sie sich wohler fühlen, wenn Sie mit Ports arbeiten und wissen, was in Ihrem System passiert.

Was sind Ports?

Nehmen wir uns einen Moment Zeit, um zu verstehen, was Ports sind:

  • Ports sind Zahlen, die bestimmte Programme oder Apps identifizieren, die auf Ihrem Computer ausgeführt werden.Zum Beispiel:
    • Webserver -Ports werden normalerweise verwendet Port 80 (Http) oder Port 443 (Https).
    • Remote -Anmeldungen über SSH verwenden normalerweise Port 22.
  • Jeder Port hat eine Zahl dazwischen 0 und 65535, die in drei Hauptgruppen fallen:
    • 0–1023: Reserviert für gemeinsame Protokolle wie HTTP und FTP.
    • 1024–49151: Für Anwendungen, die Sie installieren.
    • 49152–65535: Temporäre Ports, die verwendet werden, wenn Apps mit einem Dienst eine Verbindung herstellen.

Lassen Sie uns mit dem unterwegs untersuchen, wie Sie überprüfen können, was mit Ihren Ports passiert.

So überprüfen Sie die Ports unter Linux

Linux verfügt über eine Reihe von Tools, mit denen Sie offene oder Höranschlüsse überprüfen können.Im Folgenden gehen wir fünf gängige Methoden durch und erklären, was jeder tut.

1. Verwenden Sie Netstat

Der Befehl netstat gibt Ihnen eine detaillierte Ansicht von Netzwerkverbindungen und Port -Nutzung.

Öffnen Sie ein Terminal und Typ:

netstat -tuln

Hier ist, was jede Option bedeutet:

  • -T: TCP (Transmission Control Protocol) Ports anzeigen.
  • -U: Sehen Sie UDP (User Datagram Protocol) Ports an.
  • -l: Zeigen Sie nur Ports, die aktiv zuhören.
  • -N: Überspringen Sie die Übersetzungsprogrammnamen (z. B. "SSH") in Portnummern, was es schneller macht.

Was Sie sehen werden:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

So lesen Sie das:

  • Proto: Zeigt, ob es sich um TCP oder UDP handelt.
  • Lokale Adresse: Die IP Ihres Geräts und der verwendete Port.
  • Ausländische Adresse: Die IP und der Port des anderen Computers (oder*, wenn es für alle offen ist).
  • Zustand: Für TCP bedeutet Hören, dass es auf Verbindungen wartet.

Schnelle Anmerkung: Netstat ist Teil des Net-Tools-Pakets, das möglicherweise nicht in neueren Linux-Versionen vorinstalliert ist.Installieren Sie es mit:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. mit SS

ss ist eine neuere, schnellere Alternative zu Netstat.Es gibt ähnliche Informationen, funktioniert aber besser für moderne Systeme.

Führen Sie den folgenden Befehl aus:

ss -tuln

Die Optionen sind übereinstimmen wie Netstat, sodass Sie in der Lage sein sollten, direkt hineinspringen zu können.

Was Sie sehen werden:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

Diese Ausgabe ähnelt Netstat, aber ss Neigt dazu, schneller zu sein, besonders wenn Sie mit vielen Verbindungen zu tun haben.

3.. Verwenden Sie LSOF

lsof (List Open Dateien) ist ein praktisches Tool, um zu sehen, welche Dateien oder Netzwerkverbindungen von Prozessen verwendet werden.

Um zu sehen, welche Ports geöffnet sind und was sie benutzt, laufen Sie:

sudo lsof -i -P -n
  • -ich: Filter für netzwerkbezogene Dateien.
  • -P: Zeigt rohe Portnummern anstelle von Dienstnamen an.
  • -N: Überspringt übersetzt IP -Adressen für Geschwindigkeit in Hostnamen.

Was Sie sehen werden:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • BEFEHL: Das Programm mit dem Port.
  • PID: Die Prozess -ID.
  • NAME: Port und Protokoll (z. B. TCP auf Port 22).

Warum es nützlich ist:

Wenn Sie Fehlerbehebung haben und herausfinden müssen, welcher Prozess einen bestimmten Port verwendet, lsof Ist Ihr Werkzeug.

4. Verwenden von NMAP

NMAP (Network Mapper) ist ideal für das Scannen von Netzwerken und die Überprüfung, welche Ports geöffnet sind.

Um alle Ports zu scannen, rennen Sie:

sudo nmap -sT -p- localhost
  • -St: Führen Sie einen TCP Connect -Scan durch.
  • -P-: Scannt alle 65.535 Ports.

Was Sie sehen werden:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • HAFEN: Die Portnummer und das Protokoll (TCP oder UDP).
  • ZUSTAND: Sagen Sie, ob der Port offen, geschlossen oder gefiltert ist (blockiert von einer Firewall).
  • BEDIENUNG: Der gebräuchliche Name des Dienstes mit dem Port.

Warum NMAP nützlich ist:

NMAP Ist großartig, wenn Sie eine vollständige Ansicht aller offenen Ports in Ihrem System haben oder einen anderen Computer scannen müssen.

5. Verwenden von NC (netcat)

Netcat ist ein einfaches, aber leistungsfähiges Werkzeug zum Überprüfen, ob ein bestimmter Port geöffnet ist.

Um zu überprüfen, ob Port 22 geöffnet ist, geben Sie ein:

nc -zv localhost 22
  • -Z: Scannen Sie einfach nach offenen Ports, ohne Daten zu senden.
  • -V: Zeigen Sie eine detaillierte Ausgabe an.

Was Sie sehen werden:

Connection to localhost 22 port [tcp/ssh] succeeded!

Warum es nützlich ist:

Wenn Sie nur schnell prüfen müssen, ob ein bestimmter Port geöffnet ist, NC macht den Job ohne viel Aufhebens.

Die Ergebnisse verstehen

Wenn Sie die Ports überprüfen, bedeuten dies die Ergebnisse normalerweise:

  • Hör-/Öffnen von Ports: Diese Ports sind bereit, Verbindungen zu akzeptieren.Beispielsweise hört ein Webserver Port 80 oder 443 an.
  • Geschlossene Ports: Diese Ports werden nicht verwendet, sodass sie keine Verbindungen akzeptieren.
  • Gefilterte Ports: Diese Ports werden durch eine Firewall- oder Sicherheitsregel blockiert, sodass sie unsichtbar erscheinen.

Gemeinsame Szenarien

Bei der Überprüfung von Ports können Sie auf die folgenden Szenarien stoßen:

  • Sie sehen, dass ein Port geöffnet ist, den Sie nicht erwartet hatten: Dies kann bedeuten, dass ein Programm ausgeführt wird, das Sie nicht benötigen oder nicht erkennen.Es ist eine gute Idee, weiter zu untersuchen.
  • Ein Port, den Sie benötigen, ist geschlossen: Das Programm läuft möglicherweise nicht oder eine Firewall könnte es blockieren.

Sichern Sie Ihr System

Das Überprüfen von Ports ist nur der erste Schritt.Hier sind ein paar Möglichkeiten, Dinge aufzuräumen:

Beenden Sie unnötige Programme:
Wenn ein Programm auf einem Port ausgeführt wird, den Sie nicht benötigen, schalten Sie es aus:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

Verwenden Sie eine Firewall:
Beschränken Sie den Zugriff auf Ports mit einem Tool wie UFW (unkomplizierte Firewall):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

Überwachen Sie regelmäßig Ports:
Machen Sie es sich zur Gewohnheit, ab und zu offene Ports zu überprüfen, insbesondere wenn Sie einen Server ausführen.

Einpacken

Das Überprüfen von Ports in Linux muss nicht kompliziert sein.Egal, ob Sie Netstat, SS, LSOF, NMAP oder NC verwenden, jedes Tool bietet Ihnen eine etwas andere Sichtweise auf das, was vor sich geht.Wählen Sie denjenigen aus, der am besten für Ihre Bedürfnisse funktioniert, und haben Sie keine Angst zu erkunden.Je mehr Sie üben, desto einfacher wird es!

Geschrieben von Hostwinds Team  /  Januar 14, 2025