Wireshark: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(18 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
=Laboratório: Captura de pacotes com Wireshark=
=Captura de pacotes com Wireshark=


O '''Wireshark''' é um programa que permite capturar e analisar o tráfego de rede.  
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 ou switches, o wireshark permite capturar todo o tráfego circulando.
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 so 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.
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 e execução: Somente o administrador (usuário ''root'') pode instalar e executar o aplicativo Wireshark.  
;Instalação: Somente o administrador (usuário ''root'') pode instalar o '''Wireshark'''.  
:Instalação:
:Para instalar, digite o comando:
  sudo apt-get install wireshark
  sudo apt-get install wireshark


:Execução:
;Execução do Wireshark: Somente o '''administrador''' (usuário '''''root''''') pode executar o '''Wireshark'''.
sudo wireshark&


:Tela do Wiresark:
===Como habilitar o wireshark para utilização por um usuário normal===
Referência: <ref>https://www.vivaolinux.com.br/dica/Sniffing-com-Wireshark-como-um-usuario-comum</ref>.
 
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:
[[Arquivo:Wireshark.png | 600px]]
[[Arquivo:Wireshark.png | 600px]]


==Captura de pacotes com Wireshark==
==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.


;Exemplo: Captura de pacotes TCP em modo promíscuo, isto é, qualquer pacote circulando na rede local.
==Captura de pacotes ICMP==
*Selecione a guia '''Capture/Options''';
Para facilitar a captura e visualização dos pacotes ICMP ajustar o filtro de pacotes:
*Selecione o filtro '''TCP only''';
*Selecione a guia '''''Capture/Options''''' e selecione NOVO filtro;
*Deixe o Wireshark capturar alguns pacotes e interrompa a captura;
*Edite o campo ''Filter name'' e inclua '''IP and ICMP''';
*Análise dos pacotes capturados.
*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===
<references />


----
----
;Autoria: Evandro Cantú / IFPR - Câmpus Foz do Iguaçu
--[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 10h37min de 24 de novembro de 2016 (BRST)
----
----


[[Categoria:Redes de Computadores]]
[[Categoria:Redes de Computadores]]

Edição atual tal como às 18h51min de 18 de setembro de 2019

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)