O Nmap é um ótimo scanner de portas, mas às vezes você quer algo mais autoritário. Você pode perguntar ao kernel quais processos têm quais portas são abertas usando o utilitário netstat
:
me@myhost:~$ sudo netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1004/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 380/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 822/cupsd tcp6 0 0 :::22 :::* LISTEN 380/sshd tcp6 0 0 ::1:631 :::* LISTEN 822/cupsd
As opções que eu dei são:
-
-t
somente TCP -
-l
Apenas as portas de escuta -
-n
Não procure nomes de serviço e host, apenas exiba números -
-p
Mostra informações do processo (requer privilégio de root)
Nesse caso, podemos ver que sshd
está escutando em qualquer interface ( 0.0.0.0
) porta 22 e cupsd
está escutando na porta 631 de loopback ( 127.0.0.1
). Sua saída pode mostrar que telnetd
tem um endereço local de 192.168.1.1:23
, o que significa que não responderá às conexões no adaptador de loopback (por exemplo, você não pode telnet 127.0.0.1
).
Existem outras ferramentas que mostram informações semelhantes (por exemplo, lsof
ou /proc
), mas o netstat é o mais amplamente disponível. Ele ainda funciona no Windows ( netstat -anb
). O BSD netstat é um pouco diferente: você terá que usar sockstat (1) para obter as informações do processo.
Depois de ter o ID do processo e o nome do programa, você pode encontrar o processo e eliminá-lo se desejar fechar a porta. Para um controle mais refinado, você pode usar um firewall (iptables no Linux) para limitar o acesso a apenas determinados endereços. Você pode precisar desativar uma inicialização de serviço. Se o PID é "-" no Linux, é provavelmente um processo do kernel (isto é comum com o NFS, por exemplo), então boa sorte em descobrir o que é.
Nota: Eu disse "autoritativo" porque você não está sendo prejudicado por condições de rede e firewalls. Se você confia em seu computador, isso é ótimo. No entanto, se você suspeitar que foi hackeado, talvez não seja possível confiar nas ferramentas do seu computador. A substituição de utilitários padrão (e às vezes até mesmo chamadas do sistema) por aqueles que ocultam certos processos ou portas (também conhecidos como rootkits) é uma prática padrão entre os invasores. Sua melhor aposta neste momento é fazer uma cópia forense do seu disco e restaurar a partir do backup; em seguida, use a cópia para determinar a maneira como eles entraram e feche-a.