Skip to content
Natuurondernemer
    März 23, 2021 by admin

    Wie listet man offene Ports unter Linux auf?

    Wie listet man offene Ports unter Linux auf?
    März 23, 2021 by admin

    In Netzwerken ist ein Port eine interessante Funktion. Es ist eine Möglichkeit für den Netzwerkverkehr, die Zielanwendung oder den Dienst zu identifizieren. Jeder Prozess/Dienst erhält seinen eigenen Port. Ein Port wird immer mit der IP-Adresse des Hosts zusammen mit dem Protokoll assoziiert.

    Das ist eine Lieblingsmetapher von mir, um zu beschreiben, was ein Port ist. Stellen Sie sich ein Schiff vor, das mit Fracht beladen ist und in ein fernes Land reisen wird. Welche Informationen werden benötigt, um das Ziel richtig zu erreichen? Der Einfachheit halber sagen wir, es braucht das Land (die IP-Adresse) und den Port, an dem das Schiff andocken wird.

    In dieser Anleitung erfahren Sie, wie Sie offene Ports unter Linux auflisten können.

    Ports unter Linux

    Ports dienen als Endpunkt der Kommunikation. Es handelt sich um eine 16-Bit-Zahl (0 bis 65535 in dezimal). Obwohl der Bereich groß ist, werden die Ports der Einfachheit halber in drei Kategorien eingeteilt. Jede Kategorie ist mit dem Wertebereich des Ports beschriftet:

    • 0 bis 1023: Dies sind die „Well-known“-Ports, auch als „System“-Ports bekannt, die für Systemprozesse reserviert sind, die eine Vielzahl von Netzwerkdiensten anbieten. Um sich mit einem „Well-known“-Port zu verbinden, muss ein Prozess über Superuser-Rechte verfügen.
    • 1024 bis 49151: Dies sind die „Registered“-Ports, auch „User“-Ports genannt, die von der IANA für bestimmte Dienste vorgesehen sind. Auf Anfrage kann ein Prozess auf sie zugreifen. Bei den meisten Systemen sind für die Nutzung dieser Ports keine Superuser-Rechte erforderlich.
    • 49152 bis 65535: Dies sind die „dynamischen“ Ports, auch „Private“ Ports genannt. Diese Ports können nicht bei der IANA registriert werden. Diese Ports können für private oder benutzerdefinierte Dienste verwendet werden und können auch automatisch als ephemere Ports (kurzlebige Ports, die von IP verwendet werden) zugewiesen werden.

    In Linux gibt es mehrere Möglichkeiten, die offenen Ports zu überprüfen. Standardmäßig bleibt jeder Port geschlossen, es sei denn, er wird von einer App verwendet. Wenn ein Port offen ist, dann muss er einem Dienst/Prozess zugewiesen werden.

    Liste offener Ports

    Es ist einfacher zu erkennen, welche Ports in Benutzung sind, als welche Ports offen sind. Deshalb werden im folgenden Abschnitt Methoden vorgestellt, mit denen Sie alle Ports auflisten können, die gerade in Gebrauch sind. Unter Linux gibt es mehrere Werkzeuge für diese Aufgabe. Die meisten davon sind in jeder Linux-Distribution integriert.

    Die Feststellung, welche Ports aktuell 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 starkes Indiz für ein Eindringen in das Netzwerk sein.

    Die folgenden Methoden werden auf Ubuntu 20.04.1 LTS demonstriert.

    Liste der Protokolle und offenen Ports aus /etc/services

    Die Datei /etc/services enthält Informationen über die aktuell laufenden Dienste. Es ist eine große Datei, also machen Sie sich bereit, überwältigt zu werden.

    $ cat /etc/services | less

    Offene Ports mit netstat auflisten

    Das Tool netstat ist ein Dienstprogramm zur Anzeige von Netzwerkverbindungen für TCP, Routing-Tabellen und verschiedene Netzwerkschnittstellen. Außerdem bietet es Netzwerkprotokollstatistiken. Mit Hilfe von netstat können wir alle offenen Ports des Systems auflisten.

    Führen Sie den folgenden netstat-Befehl aus:

    $ netstat -atu

    Lassen Sie uns kurz die Flags auflisten, die wir in diesem Befehl verwenden.

    • a: Weist netstat an, alle Sockets anzuzeigen
    • t: Weist netstat an, TCP-Ports aufzulisten
    • u: Weist netstat an, UDP-Ports aufzulisten

    Hier ist eine weitere Variante des netstat-Befehls:

    $ netstat -lntu

    Es gibt zwei neue Flags in dem Befehl. Was bedeuten sie?

    • l: Weist netstat an, nur die lauschenden Sockets auszugeben
    • n: Weist netstat an, die Portnummer anzuzeigen

    Um die PID des Prozesses anzuzeigen, der einen Port verwendet, verwenden Sie das Flag „-p“:

    $ netstat -lntup

    Offene Ports mit ss auflisten

    Das Tool ss ist ein Dienstprogramm zur Untersuchung von Sockets. Seine Verwendung ist ähnlich wie bei netstat.

    Um die offenen Ports aufzulisten, führen Sie den folgenden ss-Befehl aus:

    $ ss -lntu

    Die Flags sind ähnlich zu netstat. Auch die Funktionen, die sie beschreiben, sind recht ähnlich.

    • l: Weist ss an, lauschende Sockets anzuzeigen
    • n: Weist ss an, nicht zu versuchen, Dienstnamen aufzulösen
    • t: Sagt ss, dass es TCP-Sockets anzeigen soll
    • u: Weist ss an, UDP-Sockets anzuzeigen

    Offene Ports mit lsof auflisten

    Der Befehl lsof dient dazu, offene Dateien aufzulisten. Er kann aber 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 (TCP, UDP, etc.) zu erhalten, dann definieren Sie diese nach dem „-i“-Flag:

    $ lsof -i <protocol>

    Offene Ports mit nmap auflisten

    Das Tool nmap ist ein leistungsfähiges Tool zur Netzwerkuntersuchung und zum Sicherheits-/Port-Scanning. Es kann alle offenen Ports im System melden.

    Um die offenen TCP-Ports aufzulisten, führen Sie den folgenden nmap-Befehl aus. Die IP-Adresse ist dabei die des Host-Rechners:

    $ sudo nmap -sT -p- localhost

    Hier gibt es zwei Teile des Befehlsarguments.

    • -sT: Dieser Teil weist nmap an, nach TCP-Ports zu scannen.
    • -p- : Dies weist nmap an, nach allen 65535 Ports zu scannen. Wenn nicht verwendet, dann scannt nmap standardmäßig nur 1000 Ports.

    Wenn Sie die offenen UDP-Ports auflisten möchten, dann führen Sie den folgenden nmap-Befehl aus:

    $ sudo nmap -sU -p- localhost

    Um sowohl die offenen TCP- als auch die offenen UDP-Ports zu erhalten, verwenden Sie den folgenden Befehl:

    $ sudo nmap -n -PN -sT -sU -p- localhost

    Offene Ports mit netcat auflisten

    Das Tool netcat ist ein Kommandozeilenprogramm zum Lesen und Schreiben von Daten über Netzwerkverbindungen mit den Protokollen TCP und UDP. Dieses Tool kann auch zum Auflisten offener Ports verwendet werden. Es kann Tests für einen bestimmten Port oder einen Bereich von Ports durchführen.

    Der folgende netcat-Befehl scannt den Port von 1 bis 1000. Der netcat-Befehl führt den Scan standardmäßig auf dem TCP-Protokoll durch:

    $ 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 einen kurzen Überblick über die Flags geben.

    • z: Weist netcat an, nur nach offenen Ports zu suchen, ohne Daten zu senden
    • v: Weist netcat an, im ausführlichen Modus zu arbeiten

    Um nur die offenen Ports aus dieser Liste zu erhalten, filtern Sie die Ausgabe mit grep nach dem Begriff „succeeded“.

    $ nc -z -v localhost 0-65535 2>&1 | grep succeeded

    Wenn Sie den Scan für das UDP-Protokoll durchführen wollen, dann fügen Sie das Flag „-u“ hinzu.

    $ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded

    Final Thoughts

    Wie gezeigt, gibt es eine Menge Möglichkeiten, nach offenen Ports unter Linux zu suchen. Ich schlage vor, alle Methoden auszuprobieren, bevor Sie sich entscheiden, welche Sie beherrschen. Wenn Sie ein bestimmtes Tool wie netcat oder nmap regelmäßig verwenden, dann ist es am vorteilhaftesten, die zugehörigen Methoden zu beherrschen.

    Viel Spaß beim Rechnen!

    Previous articleTyphus Behandlung & ManagementNext article Sarahs Geschichte

    Schreibe einen Kommentar Antworten abbrechen

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

    Neueste Beiträge

    • Sich selbst (und andere…) in Jahrbüchern online finden
    • Wie man einen Bitcoin-ASIC-Miner einrichtet
    • Chris Martin feiert Geburtstag in Disneyland mit Dakota Johnson
    • Was ist ein Superfund-Standort?
    • Angelköder-Blutwürmer haben Bienenstiche
    • Echolalie: Die Fakten jenseits von „Papageiensprache“, Skripting und Echoing
    • Herr der Fliegen Zitate
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • 3 überraschende Risiken einer schlechten Körperhaltung

    Archive

    • April 2021
    • März 2021
    • Februar 2021
    • Januar 2021
    • Dezember 2020
    • November 2020
    • Oktober 2020
    • September 2020
    • August 2020
    • Juli 2020
    • Juni 2020
    • Mai 2020
    • April 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Anmelden
    • Feed der Einträge
    • Kommentare-Feed
    • WordPress.org
    Posterity WordPress Theme