← Voltar
Tempo médio: 15-25 minNível técnico: Intermediário

Netstat e SS

Objetivo e conceitos

Inspecionar sockets TCP/UDP, portas em escuta, processos, estatísticas e rotas. TCP tem estados; UDP não estabelece sessão da mesma forma, portanto uma entrada UDP não confirma troca bidirecional.
Estados relevantes: `LISTEN`, `SYN-SENT`, `SYN-RECEIVED`, `ESTABLISHED`, `FIN-WAIT`, `CLOSE-WAIT`, `TIME-WAIT` e `CLOSED`. Muitos `SYN-SENT` sugerem SYN enviado sem handshake concluído, mas a causa pode ser rota, firewall, NAT, destino ou retorno. `CLOSE-WAIT` persistente costuma exigir análise da aplicação local.

Windows: Netstat

netstat -ano
netstat -anob
netstat -ano | findstr :443
netstat -r
netstat -s
tasklist /fi "PID eq 1234"
`-a` inclui listeners; `-n` evita resolução; `-o` mostra PID; `-b` tenta mostrar executável e requer privilégio; `-r` mostra rotas; `-s` estatísticas. A saída é instantânea e muda rapidamente.

Linux: SS preferencial e Netstat legado

ss -tulpen
ss -tan state established
ss -tan state syn-sent
ss -ltnp 'sport = :443'
ss -s
netstat -tulpen
netstat -rn
netstat -s
`ss` usa interfaces modernas do kernel, é geralmente mais rápido e expressivo. `-t/-u` TCP/UDP, `-l` listening, `-a` todos, `-n` numérico, `-p` processo, `-e` detalhes. Informações de processo podem exigir privilégios. `netstat`/net-tools é legado em muitas distribuições.

Validação de serviço

1. Confirme que o processo esperado está em `LISTEN` no IP correto, não apenas em loopback.
2. Verifique IPv4 e IPv6 separadamente.
3. Gere uma conexão controlada e observe a mudança de estado/PID.
4. Compare socket local com firewall do host, ACL de rede, NAT e listener no servidor.
5. Capture handshake quando a dúvida for “saiu/voltou?”.
Uma porta em escuta não garante que firewall permita acesso nem que a aplicação responda corretamente. Uma conexão `ESTABLISHED` comprova handshake TCP naquele momento, não integridade do protocolo de aplicação.

Cenários

  • cliente em `SYN-SENT`: capture SYN e retorno; revise rota/ACL/NAT/servidor;
  • servidor sem `LISTEN`: corrija serviço/bind antes de investigar rede externa;
  • servidor escuta em `127.0.0.1`: acesso remoto não será aceito nessa associação;
  • UDP aparece ligado: gere consulta e capture resposta;
  • muitas retransmissões/erros nas estatísticas: compare intervalo e carga; contadores acumulados não localizam sozinhos a causa.
Em ISP, registre CPE/CGNAT/firewall e traduções envolvidas; o socket do assinante não mostra sozinho a entrada no CGNAT. VPN, containers e namespaces podem exigir executar a ferramenta no contexto correto.

Evidências, limitações e boas práticas

Registre comando, host/contexto, horário, IPs/portas, estado, PID/processo, família, rota e captura correlata. Proteja IPs, processos e portas sensíveis. Evite resolver nomes durante triagem para não adicionar DNS à medição.
Erros comuns: interpretar UDP como conectado; confundir `TIME-WAIT` normal com falha; matar processo antes de coletar; ignorar namespace/container; supor bloqueio de firewall apenas por `SYN-SENT`.

Conclusão

Netstat/SS mostram a visão do kernel. Firewall e captura explicam o que ocorreu no fio e no caminho.

Documentos Relacionados