Wie kann ich meine offenen Ports auf Debian auflisten?


58

Was ist der Befehl, um eine Liste der offenen Ports auf einem Debian-Server anzuzeigen?

Ich habe es versucht netstat -a | egrep 'Proto|LISTEN', möchte aber etwas Spezifischeres, das die Portnummer tatsächlich auflistet.

Antworten:


86
 netstat -pln

-llistet Listening-Ports auf, -pzeigt auch den Prozess an und -nzeigt Portnummern anstelle von Namen an. Hinzufügen, -tum nur TCP-Ports anzuzeigen.


12
Damit der -pordnungsgemäß funktioniert, müssen Sie ihn als root ausführen. sudo netstat -tplnAndernfalls ist die Prozessspalte nur dann besonders nützlich, wenn Sie der Benutzer sind, dessen Prozess einen bestimmten Port überwacht.
cjc

21

lsof -i -P

Überprüfen Sie die Manpage, lsofda es keinen Mangel an Optionen gibt. -Plistet die Portnummer und nicht den Namen von /etc/servicesRun as root auf. Dadurch erhalten Sie eine Liste aller aktiven Netzwerkverbindungen und deren Status (Listening, Established usw.).


Dies sollte die richtige Antwort sein. Netstat ist nicht standardmäßig installiert
José

10

Was fast jeder will (TCP und UDP) ist netstat -tunlp.

Ich benutze es jeden Tag, vielleicht jede Stunde. Der lsof-Hack ist portabler (funktioniert auch unter Solaris), aber unter Debian ist er kein wesentliches Paket, sondern muss installiert werden.


Ja, und führen Sie es über sudo.
Martijn Heemels

1
Mein Freund brachte mir bei, mich an diesen Befehl mit einem Blumennamen zu erinnern. netstat -tulpenFlag egibt zusätzliche Informationen.
Deele

1
Und jetzt, im Jahr 2018, hat meine neue Debian-Box keine, netstataber eine lsof. :)
Jason

10

Ich bin ein großer Fan netstat -ntlpund lsof -ibeide bereits erwähnt.

Ein neuer (er) Befehl für mich ist ss .

Der Aufruf ist wie folgt:

ss -l

Es ist gut, Optionen in Bezug auf Befehle und Flags zu haben.


1
die optionen sind besonders gut, da der mongo docker container (und vermutlich viele andere) ss hatte, aber nicht netstat oder lsof
Foon

Ich fing an, dies als Interviewfrage zu verwenden. Vermutlich 40 verschiedene Personen befragt. Bisher hat noch niemand von ss gesprochen. Ich frage es wie das OP, und wenn sie antworten, sage ich: "Ok, ich nehme X weg, wie kannst du es jetzt tun?" Bis die Ideen ausgehen.
Dmourati

6

Du kannst tun:

netstat -an | egrep 'Proto|LISTEN'

oder einfach:

netstat -anl

Damit haben Sie alle Hörbuchsen im System.


2
Dies wäre die beste Lösung (wobei "Beste" definiert ist als "Funktioniert auf den meisten Systemen" (BSD, Linux, AIX, Solaris, ich glaube HP-UX))
voretaq7

0

TechRepulic hat einen anständigen Artikel, den Sie hier finden können . Es hat einige ähnliche Befehle wie Sie oben aufgeführt, aber auch einige Variationen. Ich würde auch dringend empfehlen, nmap zu verwenden, um einen Port-Scan des betreffenden Computers durchzuführen, damit Sie aus einer externen Perspektive sehen können, welche Ports geöffnet sind und empfangsbereit sind.


Können Sie mir bitte sagen, warum dies abgelehnt wurde? Da ich einfach einen Link mit vielen der oben genannten Lösungen bereitgestellt habe, die zusammen mit einer anderen Perspektive für das Ausführen eines externen Scans genehmigt wurden. Vielen Dank.
Eric

8
Ich habe nicht abgelehnt, aber bei Serverfehlern wie bei den meisten Stacks erwarten wir im Allgemeinen, dass Sie die Antwort hier einfügen und nicht nur einen Link zu einem anderen Ort. Links verschwinden mit der Zeit, aber wir möchten, dass Inhalte auf SF auch dann noch wertvoll sind, wenn die Links nicht mehr funktionieren.
Zoredache

Die einzige Codezeile, die der obige Artikel-Link enthält, ist sudo nmap -T4 -A -v 192.168.1.1/24alles andere: Mach das - mach das ohne Details ... Es ist, als würde man die Rückseite eines Buches lesen - viele Wörter ohne Fleisch.
KingsInnerSoul

0

Listening-Ports sind nicht mit Ports identisch, die von außen geöffnet sind. Sie müssen die Firewall berücksichtigen. Wenn Sie ein Programm wie nmapvon einem anderen Computer versuchen , können Sie die offenen Ports sehen, die nicht von der Firewall blockiert werden.


0

Ich bevorzuge stattdessen zu verwenden:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.