O Nmap é um excelente scanner de portas, mas às vezes você quer algo mais autoritário. Você pode perguntar ao kernel quais processos possuem quais portas abrem usando o netstat
utilitário:
me @ myhost: ~ $ sudo netstat -tlnp
Conexões de Internet ativas (apenas servidores)
Proto Recv-Q Send-Q Endereço Local Estado Estrangeiro Estado Nome do PID / Programa
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:* ESCUTE 380 / sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUTE 822 / cupsd
tcp6 0 0 ::: 22 ::: * LISTEN 380 / sshd
tcp6 0 0 :: 1: 631 ::: * ESCUTE 822 / cupsd
As opções que eu dei são:
-t
Apenas TCP
-l
Apenas portas de escuta
-n
Não procure nomes de serviço e host, apenas exiba números
-p
Mostrar informações do processo (requer privilégio root)
Nesse caso, podemos ver que sshd
está escutando em qualquer 0.0.0.0
porta de interface ( ) 22 e cupsd
está escutando na 127.0.0.1
porta 631 de loopback ( ). Sua saída pode mostrar que telnetd
possui 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 mostrarão informações semelhantes (por exemplo, lsof
ou /proc
), mas o netstat é o mais amplamente disponível. Até funciona no Windows ( netstat -anb
). O BSD netstat é um pouco diferente: você terá que usar o sockstat (1) para obter as informações do processo.
Depois de ter o ID do processo e o nome do programa, você poderá 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. Pode ser necessário desativar uma inicialização do serviço. Se o PID é "-" no Linux, provavelmente é um processo do kernel (isso é comum no NFS, por exemplo), então boa sorte é descobrir o que é.
Nota: Eu disse "autoritário" porque você não está sendo prejudicado pelas condições da rede e pelos firewalls. Se você confia no seu computador, isso é ótimo. No entanto, se você suspeitar que foi invadido, talvez não consiga confiar nas ferramentas do seu computador. Substituir utilitários padrão (e às vezes até chamadas de sistema) por outros que ocultam determinados processos ou portas (também conhecido 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 do backup; em seguida, use a cópia para determinar como eles entraram e fechá-la.
localhost
está acessando alo
interface (loopback). o endereço IP está acessando sua interface real, provavelmenteeth0
ou algo assimwlan0
.