Marcio Cunha

Como usar o comando netstat no Linux para ver conexões ativas

Aprenda a diagnosticar portas abertas e processos que consomem sua rede usando o netstat. O guia prático essencial para desvendar o tráfego do seu servidor.

Marcio Cunha•3 min
Também disponível em:EspañolEnglish
Resumo
  • O netstat é a ferramenta fundamental para identificar quais processos estão mantendo conexões de rede ativas em seu sistema Linux.
  • A combinação de argumentos -tulpn permite visualizar portas em escuta, protocolos e os IDs dos processos associados.
  • Identificar conexões em estado ESTABLISHED ou LISTEN é o primeiro passo para diagnosticar comportamentos suspeitos ou gargalos de tráfego.
  • Ferramentas como o ss substituíram o netstat em distribuições modernas, mas entender a sintaxe clássica ainda é vital para suporte a legados.
  • O monitoramento constante das portas abertas previne a exposição indesejada de serviços à internet pública.

Entendendo o papel do netstat

Quando um servidor apresenta lentidão ou comportamentos inesperados, a primeira pergunta de um administrador é: o que exatamente está acontecendo com a rede? O comando netstat (network statistics) é a resposta clássica para essa dúvida. Ele permite visualizar estatísticas detalhadas sobre conexões ativas, tabelas de roteamento e interfaces, servindo como um raio-X das comunicações do seu sistema.

Na prática, o netstat nos ajuda a entender quem está conversando com quem. Ao listar as conexões, ele revela o protocolo utilizado, como TCP ou UDP, e o status de cada um desses fluxos. Se você precisa saber quais portas estão escutando, este comando é a sua ferramenta de entrada, funcionando quase como um analisador de tráfego simplificado para diagnóstico de rede.

Como listar conexões abertas com o netstat

Para obter informações úteis, não basta digitar o comando sozinho; precisamos usar as 'flags' ou argumentos que filtram o excesso de dados. A combinação netstat -tulpn é a mais recomendada para quem busca entender o cenário atual de um servidor Linux. Cada letra aqui tem um propósito claro na filtragem dos dados que queremos observar.

Veja o que cada argumento faz na prática:

  • -t: Mostra conexões TCP (o protocolo padrão para comunicação estável).
  • -u: Mostra conexões UDP (utilizado para serviços rápidos, como DNS ou streaming).
  • -l: Filtra apenas as portas em modo de escuta (listening), ou seja, quem está aguardando conexões.
  • -p: Mostra o nome do programa ou ID do processo (PID) que abriu a porta.
  • -n: Exibe endereços numéricos (IPs) em vez de tentar resolver nomes de domínio, o que acelera muito a resposta do comando.

Interpretando o status das conexões

Ao rodar o comando, você verá colunas importantes como Local Address, Foreign Address e State. O estado da conexão diz muito sobre o que está acontecendo: 'LISTEN' significa que um serviço está pronto para receber conexões; 'ESTABLISHED' indica que existe uma conversa ativa com outra máquina. Se vir muitas conexões em 'TIME_WAIT', pode significar que seu sistema está processando uma carga alta de conexões rápidas e fechando-as logo em seguida.

Saber identificar o que cada estado representa permite distinguir entre uma operação normal e um ataque de exaustão de rede. Além disso, se precisar validar fluxos específicos, você pode complementar seu diagnóstico com o teste de portas com netcat, garantindo que o software e a camada de transporte estejam alinhados.

Identificando processos que consomem a rede

A parte mais poderosa do comando é a opção -p. Sem ela, você sabe que uma porta está aberta, mas não tem ideia de qual programa a está usando. Com ela, o netstat consulta o sistema para dizer exatamente qual binário está atrelado àquela porta. Se você notar uma porta estranha aberta, é esse processo que você precisa investigar.

Para buscar algo específico, podemos combinar o comando com o grep. Por exemplo, se você quer ver se o servidor web Nginx está rodando e escutando corretamente, pode usar o seguinte procedimento: Para aprofundar esses conceitos na prática em produção, confira também nossa análise técnica sobre Como otimizar imagens WebP no CSS para carregar mais rápido.

  1. Abra o terminal com privilégios de superusuário para visualizar todos os processos.
  2. Execute o comando:
    sudo netstat -tulpn | grep nginx
  3. Analise a saída para confirmar o endereço IP e a porta associada ao processo.

Conclusão: O poder da observabilidade

O netstat continua sendo uma habilidade de sobrevivência para qualquer administrador de sistemas. Embora ferramentas como ss ou ip estejam se tornando padrão, o conhecimento sobre como o netstat interpreta os dados de rede é universal e aplicável em quase qualquer ambiente Linux, seja ele físico ou em containers.

Dominar essas ferramentas básicas é o que separa um operador que apenas reinicia serviços de um engenheiro que resolve problemas de raiz. Ao monitorar ativamente suas portas, você não apenas melhora a segurança, mas ganha um entendimento profundo sobre a arquitetura de rede que sustenta suas aplicações no dia a dia.