Come posso vedere quali porte sono aperte sul mio computer?


148

Vorrei vedere quali porte sono aperte sulla mia macchina, ad esempio su quali porte la mia macchina è in ascolto. Ad esempio la porta 80 se ho installato un server Web e così via.

C'è qualche comando per questo?

Risposte:


113

Nmap Installa nmap

Nmap ("Network Mapper") è un'utilità gratuita e open source per l'esplorazione della rete o il controllo della sicurezza

nmap 192.168.1.33 Pc interno o nmap external ip address

maggiori informazioni man nmap


11
Grazie, ha nmap localhostfunzionato benissimo.
Jonas,

11
Ricorda che c'è una differenza tra nmap localhoste nmap 192.168.0.3(o qualunque sia il tuo IP di macchina)
LassePoulsen,

6
Penso che netstat sia una risposta migliore a questo. netstat elencherà ciò su cui il sistema è in ascolto direttamente e senza utilizzare un'applicazione aggiuntiva o effettuare chiamate non necessarie su localhost o pensare alla rete.
Mathieu Trudel-Lapierre,

2
Questo è stupido Se hai accesso al computer, basta usare netstat -ln. Vedrai immediatamente tutte le porte aperte.
Alexis Wilke,

1
nmap localhostnon ha trovato servizi associati solo a localhost. Ad esempio, corro influxdcon bind-address:localhost:8086. Ciò non si è presentato sudo nmap localhost, ma si è presentato sudo netstat -tulpn.
Dan Dascalescu il

279

L'ho sempre usato:

sudo netstat -ntlp | grep LISTEN

4
sudo netstat -ntlp | grep LISTEN... usa sudoaltrimenti ... pid non verrà stampato.
Rafaf Tahsin,

6
-lgià filtra per l'ascolto. grep LISTENnon aiuterà oltre a nascondere 2 righe di informazioni di intestazione.
Dan Dascalescu, il

3
-t: tcp,: -lsocket di ascolto,: -pmostra pid e nome del programma,: -nstampa 127.0.0.1:80invece di localhost:http. Riferimento: linux.die.net/man/8/netstat
Rick

1
installare netstatconsudo apt-get install net-tools
RichArt il

2
Il comando espanso è sudo netstat --tcp --listening --programs --numeric. Non è necessario utilizzare grepse non si desidera eliminare le intestazioni di colonna.
Patrick Dark

60

Altri buoni modi per scoprire quali porte sono in elenco e quali sono le regole del firewall:

  • sudo netstat -tulpn

  • sudo ufw status


Cambio di nmapnuovo la risposta , l'usabilità di netstatè una schifezza.
Jonas

2
@Jonas: vedi il mio commento sotto la risposta nmap. Non elencherà i servizi che si legano solo a localhost.
Dan Dascalescu il

27

Per elencare le porte aperte utilizzare il netstatcomando.

Per esempio:

    $ sudo netstat -tulpn | grep LISTEN
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      5452/dnsmasq    
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1037/cupsd      
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1037/cupsd

Nell'esempio precedente tre servizi sono associati all'indirizzo di loopback.

I servizi IPv4 associati all'indirizzo di loopback "127.0.0.1" sono disponibili solo sul computer locale. L'indirizzo di loopback equivalente per IPv6 è ":: 1". L'indirizzo IPv4 "0.0.0.0" significa "qualsiasi indirizzo IP", il che significherebbe che altre macchine potrebbero potenzialmente connettersi a qualsiasi interfaccia di rete configurata localmente sulla porta specifica.

Un altro metodo è utilizzare il lsofcomando:

    $ sudo lsof -nP -i | grep LISTEN
    cupsd     1037   root    9u  IPv6  11276      0t0  TCP [::1]:631 (LISTEN)
    cupsd     1037   root   10u  IPv4  11277      0t0  TCP 127.0.0.1:631 (LISTEN)
    dnsmasq   5452 nobody    5u  IPv4 212707      0t0  TCP 127.0.0.1:53 (LISTEN)

Per maggiori dettagli vedi man netstato man lsof.


3
Ho pensato che l' -lopzione fosse quella di elencare le LISTENporte. Quindi il grep sarebbe superfluo qui ?!
Alexis Wilke,

24

Questo è sufficiente per mostrare che esiste un processo in ascolto sull'indirizzo IP 0.0.0.0(necessario, in modo che risponderà a qualsiasi richiesta) sulla porta 80 (numero di porta del server Web standard). Nel mio caso questo dimostra che è il web serverlighttpd

$ sudo netstat -ntlp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          2495/lighttpd

Se in seguito si desidera assicurarsi che l'unica cosa consentita tramite il firewall sia la porta 80, spesso utilizzo ShieldsUp da www.grc.com per eseguire un test del firewall.


11

sudo iptables -Lelencherà le regole di porta per il tuo pc. Si noti che se si utilizzano firewall ufw o shorewall, l'output potrebbe essere difficile da leggere. In tal caso, utilizzare piuttosto sudo ufw statusper esempio.

Questo non è molto utile da solo poiché anche se una porta è aperta l'accesso verrà comunque negato se non vi è alcun processo in ascolto su quella porta.


4

Se stai cercando un monitoraggio continuo delle porte per macchine server o locali, penso che puoi anche utilizzare la versione grafica di nmap, ovvero Zenmap per una versione più dettagliata

Zenmap è l'interfaccia utente grafica ufficiale (GUI) per Nmap Security Scanner.

Supporti disponibili (Linux, Windows, Mac OS X, BSD, ecc.)

Dai un'occhiata a questa vista strumento:

inserisci qui la descrizione dell'immagine

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.