Come posso elencare le mie porte aperte su Debian?


59

Qual è il comando per visualizzare un elenco di porte aperte su un server Debian?

Ho provato netstat -a | egrep 'Proto|LISTEN'ma vorrei qualcosa di più specifico che elenca effettivamente il numero di porta.

Risposte:


86
 netstat -pln

-lelencherà le porte di ascolto, -pmostrerà anche il processo, -nmostrerà i numeri di porta anziché i nomi. Aggiungi -tper mostrare solo le porte TCP.


13
Perché -pfunzioni correttamente, devi eseguirlo come root, quindi sudo netstat -tpln, altrimenti la colonna del processo non sarà particolarmente utile, a meno che tu non sia l'utente il cui processo è in ascolto su una determinata porta.
cjc,

21

lsof -i -P

Controlla la pagina man per lsofpoiché non mancano le opzioni. -Pelenca il numero di porta anziché il nome preso da /etc/servicesEsegui come root, tuttavia, ciò fornirà un elenco di tutte le connessioni di rete attive e il loro stato (in ascolto, stabilito, ecc.).


Questa dovrebbe essere la risposta corretta. Netstat non è installato di default
José

11

Ciò che quasi tutti vogliono (TCP e UDP) è netstat -tunlp.

Lo uso ogni giorno, forse ogni ora. L'hack 'lsof' è più portatile (funziona anche su Solaris), ma su Debian non è un pacchetto essenziale, è necessario installarlo.


Sì, ed eseguilo via sudo.
Martijn Heemels,

2
Il mio amico mi ha insegnato a ricordare questo comando con un nome di fiore netstat -tulpenFlag efornisce ulteriori informazioni.
Deele,

1
E ora, nel 2018, la mia nuova scatola Debian non ha netstatma ha lsof. :)
Jason,

10

Sono un grande fan netstat -ntlpe lsof -i, entrambi già menzionati.

Un nuovo comando (er) per me è ss .

L'invocazione è come:

ss -l

È buono avere opzioni, in termini di comandi e flag.


1
le opzioni sono particolarmente buone poiché il container docker di mongo (e presumibilmente molti altri) aveva ss ma non netstat o lsof
Foon

Ho iniziato a usarlo come domanda per l'intervista. Probabilmente chiesto a 40 persone diverse. Finora nessuno ha menzionato SS. Lo chiedo come l'OP, quindi se rispondono, dico "ok, porto via X, ora come puoi farlo". Fino allo scadere delle idee.
dmourati,

6

Tu puoi fare:

netstat -an | egrep 'Proto|LISTEN'

o semplicemente:

netstat -anl

che ti darà tutte le prese di ascolto sul sistema.


2
Questa sarebbe la soluzione migliore (dove "migliore" è definito come "funziona sulla più vasta gamma di sistemi" (BSD, Linux, AIX, Solaris, credo HP-UX))
voretaq7

0

TechRepulic ha un articolo decente che puoi trovare qui . Ha alcuni comandi simili a quelli sopra elencati ma anche alcune varianti. Consiglio vivamente di utilizzare nmap per eseguire una scansione delle porte del computer in questione in modo da poter vedere da una prospettiva esterna quali porte sono aperte e in ascolto.


Potresti dirmi perché questo è stato votato in negativo? Come ho semplicemente fornito un link con molte delle soluzioni sopra che sono state approvate insieme a una prospettiva diversa di fare anche una scansione esterna. Grazie.
Eric

8
Non ho effettuato il downgrade, ma su serverfault come la maggior parte dello scambio di stack generalmente ci aspettiamo che tu inserisca la risposta qui, e non solo un link a un altro posto. I collegamenti scompaiono nel tempo, ma vogliamo che i contenuti su SF siano ancora preziosi quando i collegamenti muoiono.
Zoredache,

L'unica riga di codice che ha il link dell'articolo sopra è sudo nmap -T4 -A -v 192.168.1.1/24tutto il resto è vai a fare questo - vai a farlo senza dettagli ... È come leggere la copertina di un libro - molte parole senza carne.
KingsInnerSoul

0

Le porte di ascolto non sono le stesse delle porte aperte dall'esterno. Devi considerare il firewall. Se provi un programma come nmapda un altro computer, sarai in grado di vedere le porte aperte non bloccate dal firewall.


0

Preferisco usare invece:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.