1. Introdução
O netstat , parte do antigo pacote net-tools , é há muito tempo uma ferramenta essencial para administradores de rede e profissionais de TI. Ele fornece informações cruciais sobre conexões de rede, tabelas de roteamento e estatísticas de interfaces.
No entanto, com a evolução da tecnologia, precisamos de ferramentas mais sofisticadas e especializadas para lidar com ambientes de rede complexos. Como resultado, o netstat foi descontinuado em favor de ferramentas mais recentes. Muitas distribuições Linux modernas não instalam mais o net-tools por padrão . Contudo, ele ainda costuma estar disponível nos repositórios e pode ser instalado manualmente, se necessário.
Neste tutorial, exploraremos diversas alternativas modernas ao netstat , destacando seus recursos e casos de uso e explicando por que elas podem ser mais adequadas às necessidades de rede atuais.
2. O que é netstat ?
O netstat , abreviação de “estatísticas de rede”, é uma ferramenta de linha de comando que fornece um panorama das conexões de rede, tabelas de roteamento e diversas estatísticas de interfaces de rede em um sistema. Está disponível na maioria dos sistemas operacionais, incluindo Windows, Linux e macOS, o que a torna uma ferramenta amplamente acessível para solução de problemas e monitoramento de redes.
Como o próprio nome indica, o netstat é usado principalmente para solucionar problemas de rede, monitorar conexões ativas, avaliar o desempenho da rede, auditar portas abertas e analisar o tráfego de rede.
Embora o netstat seja uma ferramenta poderosa, ele tem suas limitações. Entre elas, a falta de monitoramento em tempo real, o suporte limitado a protocolos e uma saída complexa que pode ser difícil de interpretar. Além disso, ele não oferece inspeção profunda de pacotes, o que o torna menos adequado para análises detalhadas de rede.
Apesar de estar obsoleto, o netstat ainda é funcional e pode ser usado para muitas tarefas, embora alternativas mais recentes sejam preferíveis.
Portanto, vamos analisar algumas das alternativas modernas ao netstat .
3. ss (Estatísticas de Soquete)
O ss , ou Socket Statistics, é um utilitário poderoso que oferece informações detalhadas sobre os sockets. Ao contrário do netstat , ele fornece dados mais granulares e desempenho mais rápido, especialmente para um grande número de conexões.
O comando `ss` pode exibir informações sobre sockets TCP, UDP, RAW e Unix. Ele pode mostrar estatísticas detalhadas, incluindo contagem de pacotes, estados de conexão, etc. O `ss` é particularmente útil para diagnosticar problemas relacionados a sockets , como identificar sockets abertos, monitorar o desempenho de sockets e solucionar problemas de conectividade. Além disso, oferece melhor suporte para IPv6.
Além disso,
o comando `ss` é mais rápido e eficiente que
o `netstat` , oferecendo informações mais detalhadas sobre os sockets. Como um exemplo simples, podemos verificar todas as conexões TCP em um sistema Linux usando o comando:
$ ss -at
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 192.168.1.10:ssh *:*
ESTAB 0 0 192.168.1.10:ssh 192.168.1.100:55555
sso exibirá uma lista de todas as conexões TCP, juntamente com seu estado e outros detalhes relevantes.
O comando `ss` é otimizado e mais rápido que o `netstat`, pois obtém informações de socket diretamente do kernel, resultando em uma saída mais rápida, especialmente quando há muitas conexões. Além disso, ele não realiza consultas de DNS a menos que seja explicitamente solicitado.
Por outro lado, o netstat mostra detalhes adicionais, como o tipo de protocolo, o que é redundante quando filtramos especificamente por TCP usando a opção -t . Além disso, a saída pode ser mais detalhada, incluindo nomes de host resolvidos, a menos que adicionemos a opção -n para evitar consultas de DNS:
$ netstat -at
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.10:ssh 192.168.1.5:52345 ESTABLISHED
tcp6 0 0 [::]:443 [::]:* LISTEN
Além disso,
o netstat tem suporte limitado para alguns recursos modernos de rede, especialmente aqueles relacionados ao IPv6 e configurações avançadas de TCP. Como
o ss oferece recursos mais avançados, ele pode eventualmente substituir
o netstat no gerenciamento de tarefas relacionadas a sockets.
4. nmap (Mapeador de Rede)
O nmap é uma ferramenta de varredura de rede versátil e amplamente utilizada que vai além das capacidades do netstat .
Podemos realizar descoberta de hosts, varredura de portas , enumeração de serviços e até mesmo detecção de vulnerabilidades usando o nmap . Além disso, ele é essencial para auditorias de segurança de rede, testes de penetração e descoberta de serviços de rede.
Enquanto o netstat fornece informações sobre as conexões existentes, o Nmap pode descobrir novos hosts e serviços em uma rede.
Por exemplo, para verificar todas as portas TCP na máquina local e exibir quais portas estão abertas, podemos executar o comando:
$ nmap -sT localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2024-08-19 21:29 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00026s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
Isso também fornecerá detalhes sobre os serviços em execução nessas portas. Assim, o nmap vai um passo além, fornecendo informações sobre o serviço associado a cada porta. Isso é útil para auditar serviços de rede e verificar vulnerabilidades.
Por outro lado, só podemos listar as conexões de internet ativas usando o comando netstat :
$ netstat -an
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.0.102:22 192.168.0.5:40001 ESTABLISHED
5. ip (iproute2)
O comando ip faz parte do pacote iproute2 , uma alternativa moderna a muitas ferramentas de rede mais antigas, incluindo o netstat .
O comando `ip` gerencia endereços IP , rotas e túneis. Ele também fornece informações detalhadas e opções de configuração para interfaces de rede. Portanto, é ideal para configurar e solucionar problemas em interfaces de rede, gerenciar endereços IP e visualizar tabelas de roteamento.
O comando `ip` oferece um controle e informações mais abrangentes sobre interfaces de rede e roteamento do que o `netstat` .
Por exemplo, para exibir informações detalhadas sobre todas as interfaces de rede, incluindo endereços IP (tanto IPv4 quanto IPv6 ), status do link e estatísticas específicas da interface, podemos usar:
$ ip addr
Embora possamos obter detalhes semelhantes usando o
comando
netstat :
$ netstat -ie
No entanto, exibe informações básicas sobre endereços IP (somente IPv4), endereços MAC e status da interface. Além disso, é menos legível.
6. iftop (Interface TOP)
O iftop é uma ferramenta de monitoramento de largura de banda de rede em tempo real, baseada em console. É útil para monitorar o tráfego de rede em tempo real, identificar dispositivos que consomem muita largura de banda e solucionar problemas de desempenho da rede.
O iftop exibe o uso de largura de banda em uma interface por host. Além disso, mostra uma visão detalhada do tráfego de entrada e saída.
Enquanto o netstat fornece um instantâneo das conexões, o iftop oferece monitoramento em tempo real do uso da largura de banda .
Para visualizar o uso de largura de banda em tempo real da interface eth0 , podemos executar o seguinte comando:
$ iftop -i eth0
10.0Mb 20.0Mb 30.0Mb 40.0Mb
192.168.0.102 => 192.168.0.103 2.45Mb 2.53Mb 2.57Mb
<= 1.32Mb 1.35Mb 1.40Mb
Isso nos permite ver quais hosts estão usando mais largura de banda em um determinado momento. Isso é extremamente útil para diagnosticar lentidão na rede ou altos volumes de tráfego.
7. lsof (Listar arquivos abertos)
O lsof é uma ferramenta versátil que pode listar arquivos abertos e os processos que os abriram, incluindo conexões de rede. Ele pode exibir arquivos abertos , conexões de rede e processos associados.
O comando lsof é valioso para identificar quais processos utilizam conexões de rede, solucionar problemas de vazamento de descritores de arquivo e monitorar a atividade do sistema.
Ao contrário do netstat , o lsof fornece informações mais detalhadas sobre os processos associados às conexões de rede.
Por exemplo, executar o seguinte comando exibirá todos os processos que estão usando a porta 80, geralmente identificando os processos que executam serviços da web:
$ lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 4u IPv4 654321 0t0 TCP *:http (LISTEN)
Isso mostra que o processo nginx com PID 1234 está escutando na porta 80.
Embora o netstat possa mostrar conexões de rede e portas abertas, geralmente não exibe o nome do processo ou o PID, a menos que seja usado com opções específicas como -p , que podem não estar disponíveis em todos os sistemas. Ele se concentra mais nas estatísticas de conexão, como endereços IP, portas etc.
$ netstat -antp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
8. tcpdump e Wireshark
O tcpdump é um analisador de pacotes de linha de comando que captura pacotes de rede para análise. Ele captura pacotes em uma interface de rede e permite a filtragem detalhada dos dados capturados.
Assim, é útil para capturar o tráfego de rede para análise posterior, solucionar problemas de rede e monitorar o desempenho da rede. Oferece recursos de captura e filtragem de pacotes mais detalhados em comparação com o netstat .
Vejamos um exemplo:
$ sudo tcpdump -i eth0 port 443
22:42:56.789123 IP 192.168.0.102.443 > 192.168.0.5.50000: Flags [P.], seq 1:21, ack 1, win 512, length 20
16:45:12.345678 IP 192.168.1.10.54321 > 172.217.10.174.443: Flags [S], seq 1:23, ack 1, win 65535, length 0
Este comando é particularmente útil para monitorar tráfego web seguro (HTTPS), permitindo-nos capturar pacotes relacionados à comunicação web na porta 443. Ao examinar os sinalizadores, números de sequência e números de confirmação, podemos solucionar problemas como pacotes descartados, conexões lentas ou handshakes incompletos.
Além disso, podemos analisar o fluxo de tráfego criptografado para verificar comportamentos incomuns ou detectar possíveis problemas de segurança. No entanto, devemos observar que não poderemos ver o conteúdo real dos pacotes, uma vez que o HTTPS criptografa a carga útil dos dados.
Por fim, também podemos usar o Wireshark , um renomado analisador de protocolos de rede, para inspeção profunda de pacotes. Ele captura e analisa pacotes de rede, fornecendo informações detalhadas sobre os protocolos e decodificando-os. Além disso, o Wireshark oferece uma interface gráfica que exibe todo o tráfego de rede capturado em tempo real, com informações detalhadas em nível de pacote.
9. Conclusão
Neste artigo, analisamos algumas alternativas modernas ao netstat , seu uso e exemplos.
Essas alternativas oferecem recursos aprimorados e insights em tempo real, tornando-as indispensáveis para os administradores de rede atuais. Cada ferramenta possui pontos fortes e casos de uso adequados para diversos aspectos de monitoramento de rede, segurança e solução de problemas.

Comments are closed