Wireshark

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

Captura de pacotes com Wireshark

O Wireshark é um programa que permite capturar e analisar o tráfego de rede.

Em uma rede local, com os computadores conectados através de hubs o wireshark permite capturar todo o tráfego circulando, já que o hub se comporta como um barramento. Com o uso de switches o tráfego da rede local é segmentado entre as duas entidades que estão se comunicando, não sendo possível capturar o tráfego de terceiros.

Outro programa similar ao wireshark é o tcpdump, o qual é utilizado diretamente em uma janela de textos e é útil para verificar o tráfego de rede em roteadores e outros dispositivos remotos.

Instalação
Somente o administrador (usuário root) pode instalar o Wireshark.
Para instalar, digite o comando:
sudo apt-get install wireshark
Execução do Wireshark
Somente o administrador (usuário root) pode executar o Wireshark.

Como habilitar o wireshark para utilização por um usuário normal

Referência: [1].

Crie um grupo com o nome wireshark e inclua o seu usuário:

groupadd wireshark
usermod -a -G wireshark user

Atribua o dumpcap ao grupo wireshark de forma que somente usuários deste grupo possam executá-lo:

chgrp wireshark /usr/bin/dumpcap
chmod 750 /usr/bin/dumpcap

Setar as permissões para o setcap funcionar:

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
Verifique se a mudança ocorreu:
getcap /usr/bin/dumpcap
A resposta deve ser:
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip 

Após isto o usuário poderá executar o wireshark!

Tela do Wiresark

Captura de pacotes em modo promíscuo

A captura de pacotes em modo promíscuo, captura qualquer pacote circulando na rede local. Para tal, selecione a inteface na qual o wireshark deve realizar a captura:

  • Selecione a guia Capture/Interfaces;
  • Selecione a interface de rede apropriada.

Verifique a quantidade e o tipo dos pacotes sendo capturados. Procure identificar pacotes de protocolos conhecidos.

Para facilitar a análise dos pacotes, é importante utilizar filtros para protocolos específicos.

Captura de pacotes IP

Para facilitar a captura e visualização dos pacotes IP ajustar o filtro de pacotes:

  • Selecione a guia Capture/Options e selecione o filtro ip only;
  • Inicie a captura de pacotes o Wireshark capturar pacotes;
  • Analise em detalhes um pacote IP, identificando os diversos campos do cabeçalho do pacote.

Captura de pacotes ICMP

Para facilitar a captura e visualização dos pacotes ICMP ajustar o filtro de pacotes:

  • Selecione a guia Capture/Options e selecione NOVO filtro;
  • Edite o campo Filter name e inclua IP and ICMP;
  • Edite o campo Filter string e inclua ip and icmp;
  • Inicie a captura de pacotes o Wireshark capturar pacotes;

Ping

Pacotes ICMP echo request e echo reply
Pacotes que implementam o ping.
  • Execute um ping com uma máquina de um colega do laboratório;
  • Análise pacotes capturados e identifique os pacotes echo request e echo reply.

Traceroute

Pacotes IP e ICMP e tempo de vida expirado (time exceed) porta inalcançável (port enreachable)
Pacotes que implementam o traceroute.
  • Execute um traceroute com o servidor Wiki ou outro servidor externo;
  • Pesquise na Internet sobre o funcionamento do traceroute;
  • Análise pacotes capturados e relacione com o funcionamento do traceroute:
    • Analise os TTL dos pacotes IP enviados pelo traceroute;
    • Analise o pacote ICMP tempo de vida expirado (time exceed) porta inalcançável (port enreachable) recebidos como resposta do traceroute..

Captura de pacotes TCP

Para facilitar a captura e visualização dos pacotes TCP ajustar o filtro de pacotes:

  • Selecione a guia Capture/Options e selecione o filtro tcp only;
  • Inicie a captura de pacotes o Wireshark capturar pacotes;
  • Acesse um servidor Web a partir de um navegador;
  • Analise os pacotes capturados procurando identificar:
    • Pacotes relativos à abertura de conexão;
    • O envio do pedido HTTP (GET) do navegador ao servidor;
    • Os dados solicitados sendo enviados do servidor ao cliente.
    • Os números de seqüência e reconhecimento utilizados pela máquina cliente e servidora.
    • Os flags TCP utilizados em cada pacote (S, A, P, ...).
  • Analise o conteúdo ASCII dos pacotes HTTP.

Referências


--Evandro.cantu (discussão) 10h37min de 24 de novembro de 2016 (BRST)