Introdução
Este laboratório foca no monitoramento de rede no Linux usando a ferramenta de linha de comando netstat. O monitoramento de rede é essencial para que os administradores de sistema compreendam as conexões, serviços e padrões de tráfego em seus sistemas.
Ao longo deste laboratório, você aprenderá a usar o utilitário netstat para exibir conexões de rede ativas, serviços em escuta e estatísticas de interface de rede. Essas habilidades são fundamentais para solucionar problemas de rede, monitorar o desempenho do sistema e garantir a segurança da rede.
Ao final deste laboratório, você será capaz de usar efetivamente o netstat para obter informações sobre as atividades de rede em um sistema Linux, o que é uma habilidade valiosa para qualquer administrador de sistema ou profissional de TI.
Entendendo as Conexões de Rede com netstat
O comando netstat é um utilitário de rede poderoso que exibe conexões de rede, tabelas de roteamento, estatísticas de interface e muito mais. Nesta etapa, você aprenderá a usar netstat para visualizar as conexões de rede ativas.
Primeiro, vamos navegar para o diretório do projeto onde trabalharemos:
cd /home/labex/project
O que é netstat?
O comando netstat (estatísticas de rede) exibe várias informações relacionadas à rede, como conexões de rede, tabelas de roteamento, estatísticas de interface e muito mais. É uma ferramenta valiosa para entender as atividades de rede do seu sistema.
Visualizando Conexões Ativas
Vamos executar o comando netstat com opções específicas para exibir as conexões TCP ativas:
netstat -nat > connections.txt
Neste comando:
-nexibe endereços e números de porta em forma numérica, em vez de resolvê-los para nomes de host ou nomes de serviço-amostra todos os sockets (tanto em escuta quanto não em escuta)-texibe apenas conexões TCP> connections.txtredireciona a saída para um arquivo chamadoconnections.txt
Agora, vamos visualizar o conteúdo do arquivo que criamos:
cat connections.txt
A saída deve ser semelhante a esta:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Compreendendo a Saída
Proto: O protocolo usado (TCP neste caso)Recv-Q: A contagem de bytes não copiados pelo programa do usuário conectado a este socketSend-Q: A contagem de bytes não reconhecidos pelo host remotoLocal Address: O endereço e o número da porta da extremidade local do socketForeign Address: O endereço e o número da porta da extremidade remota do socketState: O estado do socket (LISTEN, ESTABLISHED, etc.)
O estado LISTEN indica que o serviço está em execução e aguardando conexões de entrada naquela porta específica.
Monitorando Serviços em Escuta
Nesta etapa, você aprenderá a identificar quais serviços estão em escuta por conexões em seu sistema. Essa informação é crucial para auditoria de segurança e solução de problemas relacionados à rede.
Identificando Serviços em Escuta
Vamos usar o comando netstat para procurar especificamente por serviços que estão no estado LISTEN:
netstat -natu | grep LISTEN > listening_services.txt
Neste comando:
-nexibe endereços numéricos-amostra todos os sockets-tinclui conexões TCP-uinclui conexões UDP| grep LISTENfiltra a saída para mostrar apenas as linhas contendo "LISTEN"> listening_services.txtsalva a saída em um arquivo
Agora, vamos examinar o conteúdo do arquivo:
cat listening_services.txt
Você deve ver uma saída semelhante a esta:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Compreendendo os Serviços em Escuta
Cada linha na saída representa um serviço que está atualmente aceitando conexões:
- Serviços em escuta em
0.0.0.0estão aceitando conexões de qualquer interface de rede - Serviços em escuta em
127.0.0.1estão aceitando conexões apenas da máquina local - Serviços em escuta em
:::são endereços IPv6 aceitando conexões de qualquer interface de rede
Os números das portas (como 22 para SSH ou 631 para o serviço de impressão CUPS) identificam qual serviço está em escuta. Por exemplo:
- Porta 22: Serviço SSH
- Porta 80: Serviço HTTP (web)
- Porta 443: Serviço HTTPS
- Porta 631: Serviço de impressão CUPS
Essa informação ajuda você a entender quais serviços estão expostos em seu sistema, o que é valioso para avaliações de segurança e solução de problemas.
Analisando Estatísticas da Interface de Rede
Nesta etapa, você aprenderá a visualizar as estatísticas de suas interfaces de rede. Essas estatísticas fornecem informações valiosas sobre o desempenho e o uso de suas interfaces de rede.
Visualizando as Estatísticas da Interface
Vamos usar netstat para exibir as estatísticas de todas as interfaces de rede:
netstat -i > interface_stats.txt
Neste comando:
-iexibe uma tabela de todas as interfaces de rede> interface_stats.txtsalva a saída em um arquivo
Agora, vamos examinar o conteúdo do arquivo:
cat interface_stats.txt
Você deve ver uma saída semelhante a esta:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 123456 0 0 0 98765 0 0 0 BMRU
lo 65536 789 0 0 0 789 0 0 0 LRU
Compreendendo as Estatísticas da Interface de Rede
A saída fornece estatísticas importantes sobre cada interface de rede:
Iface: O nome da interface de redeeth0: Tipicamente a primeira interface Ethernetlo: A interface de loopback usada para conexões locais
MTU: Unidade Máxima de Transmissão (Maximum Transmission Unit) - o maior tamanho de pacote que pode ser transmitido- Ethernet padrão normalmente usa 1500 bytes
- A interface de loopback normalmente tem uma MTU maior (65536)
RX-OK: Número de pacotes recebidos sem errosRX-ERR: Número de pacotes recebidos com errosRX-DRP: Número de pacotes recebidos descartados (dropped)RX-OVR: Número de estouros (overruns) de pacotes recebidosTX-OK: Número de pacotes transmitidos sem errosTX-ERR: Número de pacotes transmitidos com errosTX-DRP: Número de pacotes transmitidos descartados (dropped)TX-OVR: Número de estouros (overruns) de pacotes transmitidosFlg: Flags indicando o status da interfaceB: Endereço de broadcast definidoM: Multicast habilitadoR: Interface em execução (running)U: Interface ativa (up)
Essas estatísticas ajudam você a monitorar o desempenho da rede e identificar possíveis problemas, como perda de pacotes ou erros de transmissão.
Comandos Adicionais de Estatísticas de Rede
Para uma visão mais abrangente das estatísticas de rede, você também pode usar:
netstat -s | head -20 > protocol_stats.txt
Este comando exibe estatísticas de protocolo para TCP, UDP, IP, ICMP e outros protocolos. Estamos usando head -20 para limitar a saída às primeiras 20 linhas para legibilidade.
Vamos visualizar este arquivo:
cat protocol_stats.txt
Isso fornece estatísticas detalhadas sobre como cada protocolo está funcionando, ajudando você a identificar possíveis problemas de rede no nível do protocolo.
Resumo
Neste laboratório, você aprendeu a usar o comando netstat para monitorar vários aspectos da atividade de rede em um sistema Linux. As principais habilidades que você adquiriu incluem:
Visualizar as conexões de rede ativas para entender quais conexões estão estabelecidas em seu sistema.
Identificar os serviços em escuta para determinar quais portas estão abertas e potencialmente expostas à rede.
Analisar as estatísticas da interface de rede para monitorar o desempenho e a integridade de suas interfaces de rede.
Essas habilidades são essenciais para administradores de sistemas, engenheiros de rede e profissionais de segurança que precisam entender e solucionar problemas relacionados à rede. O comando netstat fornece informações valiosas sobre as atividades de rede do seu sistema, ajudando você a manter o desempenho e a segurança ideais.
Embora o netstat seja considerado legado em muitas distribuições Linux modernas e esteja sendo substituído por ferramentas como ss e ip, a compreensão do netstat fornece uma base sólida para os conceitos de monitoramento de rede que se aplicam a todas essas ferramentas.



