Em qualquer rede comutada por pacotes, os pacotes representam unidades de dados que são transmitidos entre computadores. É responsabilidade dos engenheiros de rede e administradores de sistema monitorar e inspecionar os pacotes para fins de segurança e resolução de problemas.
Para fazer isso, eles confiam em programas de software chamados analisadores de pacotes de rede, sendo o Wireshark talvez o mais popular e utilizado devido à sua versatilidade e facilidade de uso. Além disso, o Wireshark permite não só monitorar o tráfego em tempo real, mas também salvá-lo em um arquivo para inspeção posterior.
Related Read: Best Linux Bandwidth Monitoring Tools to Analyze Network Usage
Neste artigo, compartilharemos 10 dicas de como usar o Wireshark para analisar pacotes em sua rede e esperamos que quando você chegar à seção Summary você se sinta inclinado a adicioná-lo aos seus bookmarks.
- Instalando o Wireshark no Linux
- Configurar opções de captura
- TIP #1 – Inspect HTTP Traffic
- TIP #2 – Inspecione o tráfego HTTP a partir de um determinado endereço IP
- TIP #3 – Inspecionar tráfego HTTP para um endereço IP dado
- TIP #4 – Monitorar o tráfego de rede Apache e MySQL
- TIP #5 – Rejeitar Pacotes para Endereço IP Dado
- TIP #6 – Monitorar o tráfego da rede local (192.168.0).0/24)
- TIP #7 – Monitorar o Conteúdo de uma Conversação TCP
- TIP #8 – Edit Coloring Rules
- TIP #9 – Salvar a captura em um arquivo
- TIP #10 – Pratique com Capture Samples
- Summary
Instalando o Wireshark no Linux
Para instalar o Wireshark, selecione o instalador certo para seu sistema operacional/arquitetura de https://www.wireshark.org/download.html.
Particularmente, se você estiver usando Linux, o Wireshark deve estar disponível diretamente dos repositórios de sua distribuição para uma instalação mais fácil à sua conveniência. Embora as versões possam diferir, as opções e menus devem ser similares – se não idênticos em cada um.
------------ On Debian/Ubuntu based Distros ------------ $ sudo apt-get install wireshark------------ On CentOS/RHEL based Distros ------------$ sudo yum install wireshark------------ On Fedora 22+ Releases ------------$ sudo dnf install wireshark
Existe um bug conhecido em Debian e derivados que podem impedir a listagem das interfaces de rede a menos que você use sudo para lançar o Wireshark. Para corrigir isso, siga a resposta aceita neste post.
Once Wireshark está rodando, você pode selecionar a interface de rede que você quer monitorar em Capture:
Neste artigo, usaremos eth0
, mas você pode escolher outra, se desejar. Não clique ainda na interface – nós o faremos mais tarde uma vez que tenhamos revisto algumas opções de captura.
Configurar opções de captura
As opções de captura mais úteis que consideraremos são:
- Interface de rede – Como explicamos anteriormente, analisaremos apenas os pacotes que chegam através do eth0, tanto os que chegam como os que saem.
- Filtro de captura – Esta opção nos permite indicar que tipo de tráfego queremos monitorar por porta, protocolo ou tipo.
Antes de prosseguirmos com as dicas, é importante notar que algumas organizações proíbem o uso do Wireshark em suas redes. Dito isto, se você não estiver utilizando o Wireshark para fins pessoais, certifique-se de que sua organização permite o seu uso.
Por enquanto, basta selecionar eth0
na lista suspensa e clicar em Iniciar no botão. Você vai começar a ver todo o tráfego passando por essa interface. Não é realmente útil para fins de monitoramento devido à grande quantidade de pacotes inspecionados, mas é um start.
Na imagem acima, podemos também ver os ícones para listar as interfaces disponíveis, para parar a captura atual, e para reiniciá-la (caixa vermelha à esquerda) e para configurar e editar um filtro (caixa vermelha à direita). Quando você passar o mouse sobre um desses ícones, uma dica de ferramenta será exibida para indicar o que ele faz.
Comecemos ilustrando as opções de captura, enquanto as dicas #7 até #10 discutem como fazer algo útil com uma captura.
TIP #1 – Inspect HTTP Traffic
Type http
na caixa de filtro e clique em Apply. Inicie seu navegador e vá para qualquer site que desejar:
Para começar cada dica subseqüente, pare a captura ao vivo e edite o filtro de captura.
TIP #2 – Inspecione o tráfego HTTP a partir de um determinado endereço IP
Nesta dica em particular, nós iremos pré-adicionar ip==192.168.0.10&&
à estrofe de filtro para monitorar o tráfego HTTP entre o computador local e 192.168.0.10:
TIP #3 – Inspecionar tráfego HTTP para um endereço IP dado
Closamente relacionado com #2, neste caso, usaremos ip.dst
como parte do filtro de captura como a seguir:
ip.dst==192.168.0.10&&http
Para combinar as dicas #2 e #3, você pode usar ip.addr
na regra do filtro ao invés de ip.src
ou ip.dst
.
TIP #4 – Monitorar o tráfego de rede Apache e MySQL
Algumas vezes você estará interessado em inspecionar o tráfego que corresponde a uma (ou ambas) condições. Por exemplo, para monitorar o tráfego nas portas TCP 80 (webserver) e 3306 (servidor de banco de dados MySQL / MariaDB), você pode usar uma condição OR
no filtro de captura:
tcp.port==80||tcp.port==3306
Em dicas #2 e #3, ||
e a palavra ou produzir os mesmos resultados. O mesmo com &&
e a palavra e.
TIP #5 – Rejeitar Pacotes para Endereço IP Dado
Para excluir pacotes que não correspondam à regra do filtro, use !
e coloque a regra entre parênteses. Por exemplo, para excluir pacotes originários ou direcionados para um dado endereço IP, você pode usar:
!(ip.addr == 192.168.0.10)
TIP #6 – Monitorar o tráfego da rede local (192.168.0).0/24)
A seguinte regra de filtro exibirá apenas tráfego local e excluirá pacotes que vão e vêm da Internet:
ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24
TIP #7 – Monitorar o Conteúdo de uma Conversação TCP
Para inspecionar o conteúdo de uma conversa TCP (troca de dados), clique com o botão direito do mouse em um determinado pacote e escolha Follow TCP stream. Uma janela irá aparecer com o conteúdo da conversação.
Incluirá cabeçalhos HTTP se estivermos inspecionando o tráfego web, e também quaisquer credenciais de texto simples transmitidas durante o processo, se houver.
TIP #8 – Edit Coloring Rules
Até agora tenho certeza que você já notou que cada linha na janela de captura é colorida. Por padrão, o tráfego HTTP aparece no fundo verde com texto preto, enquanto os erros de soma de verificação são mostrados em texto vermelho com fundo preto.
Se desejar alterar essas configurações, clique no ícone Editar regras de coloração, escolha um determinado filtro e clique em Editar.
TIP #9 – Salvar a captura em um arquivo
Salvar o conteúdo da captura nos permitirá inspecioná-la com mais detalhes. Para fazer isso, vá até File → Exportar e escolha um formato de exportação na lista:
TIP #10 – Pratique com Capture Samples
Se você acha que sua rede é “chata”, a Wireshark fornece uma série de arquivos de captura de amostras que você pode usar para praticar e aprender. Você pode baixar estes SampleCaptures e importá-los através do arquivo → Import menu.
Summary
Wireshark é software livre e de código aberto, como você pode ver na seção FAQs do site oficial. Você pode configurar um filtro de captura antes ou depois de iniciar uma inspeção.
No caso de você não ter notado, o filtro tem um recurso de auto-completar que permite que você facilmente procure as opções mais usadas que você pode personalizar mais tarde. Com isso, o céu é o limite!