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.

Leonel
quelle

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.

Stein
quelle
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.).

Jeff Ferland
quelle
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.

Nullpunkt
quelle
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.

dmourati
quelle
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.

Karlson
quelle
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.

Eric
quelle
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.

Niklas Rosencrantz
quelle
0

Ich bevorzuge stattdessen zu verwenden:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
XsiSec
quelle