Nmap è un ottimo port scanner, ma a volte vuoi qualcosa di più autorevole. Puoi chiedere al kernel quali processi hanno quali porte si aprono usando l' netstat
utilità:
io @ miohost: ~ $ sudo netstat -tlnp
Connessioni Internet attive (solo server)
Proto Recv-Q Send-Q Indirizzo locale Indirizzo esterno Stato PID / Nome programma
tcp 0 0 127.0.0.1:53 0.0.0.0:* ASCOLTA 1004 / dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* ASCOLTA 380 / sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ASCOLTA 822 / cupsd
tcp6 0 0 ::: 22 ::: * ASCOLTA 380 / sshd
tcp6 0 0 :: 1: 631 ::: * ASCOLTA 822 / cupsd
Le opzioni che ho dato sono:
-t
Solo TCP
-l
Solo porte di ascolto
-n
Non cercare i nomi dei servizi e degli host, ma solo visualizzare i numeri
-p
Mostra informazioni sul processo (richiede il privilegio di root)
In questo caso, possiamo vedere che sshd
è in ascolto su qualsiasi porta di interfaccia ( 0.0.0.0
) 22 e in cupsd
ascolto sulla porta di loopback ( 127.0.0.1
) 631. L'output potrebbe mostrare che telnetd
ha un indirizzo locale di 192.168.1.1:23
, il che significa che non risponderà alle connessioni sull'adattatore di loopback (ad esempio non puoi telnet 127.0.0.1
).
Esistono altri strumenti che mostreranno informazioni simili (ad esempio lsof
o /proc
), ma netstat è il più ampiamente disponibile. Funziona anche su Windows ( netstat -anb
). BSD netstat è un po 'diverso: dovrai usare sockstat (1) per ottenere invece le informazioni sul processo.
Una volta che hai l'ID processo e il nome del programma, puoi cercare il processo e ucciderlo se desideri chiudere la porta. Per un controllo più preciso, è possibile utilizzare un firewall (iptables su Linux) per limitare l'accesso solo a determinati indirizzi. Potrebbe essere necessario disabilitare l'avvio di un servizio. Se il PID è "-" su Linux, è probabilmente un processo del kernel (questo è comune con NFS per esempio), quindi buona fortuna scoprire di cosa si tratta.
Nota: ho detto "autorevole" perché non sei ostacolato da condizioni di rete e firewall. Se ti fidi del tuo computer, è fantastico. Tuttavia, se sospetti di essere stato violato, potresti non essere in grado di fidarti degli strumenti sul tuo computer. Sostituire le utility standard (e talvolta anche le chiamate di sistema) con quelle che nascondono determinati processi o porte (aka rootkit) è una pratica standard tra gli aggressori. La tua scommessa migliore a questo punto è fare una copia forense del tuo disco e ripristinare dal backup; quindi usa la copia per determinare il modo in cui sono entrati e chiuderla.
localhost
sta accedendo all'interfaccialo
(loopback). l'indirizzo IP viene accesing l'interfaccia vera e propria, probabilmenteeth0
owlan0
o somesuch.