Filtrar Portas TCP/UDP em Escuta com sudo netstat -tulnp
Na etapa anterior, o comando netstat -a nos forneceu uma lista completa, mas extensa, de todos os sockets. Para tornar essas informações mais úteis, precisamos filtrá-las. Nesta etapa, você aprenderá a usar opções específicas com o netstat para exibir apenas as portas TCP e UDP em escuta e, o mais importante, para identificar quais programas as estão utilizando.
Para ver o nome do programa associado a uma porta, você geralmente precisa de privilégios administrativos, pois o processo pode pertencer ao sistema ou a outro usuário. É por isso que usamos o comando sudo. No ambiente LabEx, você pode usar sudo sem senha.
Vamos executar um comando netstat mais focado. No seu terminal, digite o seguinte:
sudo netstat -tulnp
Vamos detalhar essas opções, pois elas são comumente combinadas:
t: Exibe conexões TCP.
u: Exibe conexões UDP.
l: Exibe apenas sockets em lista (listening). Este é o nosso filtro principal para ver quais serviços estão aguardando conexões.
n: Exibe endereços numéricos. Isso impede que o netstat tente resolver endereços IP e números de porta em nomes de host e nomes de serviço (por exemplo, mostra 22 em vez de ssh), o que faz com que o comando seja executado muito mais rapidamente.
p: Mostra o ID do processo (PID) e o nome do programa ao qual o socket pertence. Isso requer sudo para ver todos os processos.
Após pressionar Enter, sua saída será muito mais curta e informativa. Ela se parecerá com algo assim:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 779/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3422/sshd
udp 0 0 127.0.0.53:53 0.0.0.0:* 779/systemd-resolve
Observe a nova coluna no final: PID/Program name. Esta é a informação chave. Agora você pode mapear diretamente uma porta em escuta para a aplicação exata que a abriu. Por exemplo, na saída acima, você pode ver que a porta 22 (a porta padrão para SSH) está sendo usada pelo programa sshd com um ID de Processo de 3422.
Este comando é extremamente poderoso para administradores de sistemas. Ele permite verificar rapidamente quais serviços estão em execução e expostos à rede, o que é essencial tanto para solução de problemas quanto para auditoria de segurança.