Aula 23: depuração de rede — ss, tcpdump, netstat
Você escreveu um servidor TCP — mas ele não responde. Ele está mesmo escutando? A porta está ocupada? Os pacotes estão chegando? Nesta aula vamos aprender três ferramentas que todo engenheiro de Linux precisa conhecer: ss para ver conexões abertas, tcpdump para capturar pacotes em tempo real, e nets
O ss é como abrir a lista telefônica do computador e ver quem está conectado com quem. O tcpdump é como segurar um microfone na rua e escutar cada conversa que passa. O netstat é a versão mais antiga do ss — ainda útil. Juntos, eles dão a você um quadro completo do que está a acontecer na rede, sem desmontar nada.
- ss
- Socket Statistics — uma ferramenta moderna do Linux para ver todos os sockets abertos. Mais rápida que o netstat e com suporte a filtros ricos. Substitui o netstat na maioria dos casos.
- tcpdump
- Uma ferramenta para capturar e analisar pacotes de rede em tempo real. Permite ver exatamente o que passa numa interface de rede, filtrado por porta, endereço IP, protocolo e mais.
- TIME_WAIT
- Um estado TCP em que uma conexão fechada continua segurando a porta por um curto período (cerca de 60 segundos) para garantir que pacotes atrasados da conexão antiga não sejam aceitos por engano numa conexão nova.
- CLOSE_WAIT
- Um estado TCP em que o lado remoto fechou a conexão, mas o lado local ainda não chamou close(). Geralmente indica um bug no código do servidor que não limpa conexões.
- pcap
- Um formato de ficheiro para salvar pacotes capturados. O tcpdump pode salvar num ficheiro .pcap que depois pode ser aberto no Wireshark para análise detalhada.