Wireshark
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)