Tutorial aprofundado no Wireshark

Tutorial aprofundado no Wireshark
Wireshark é uma ferramenta de inspeção de tráfego de rede aberta e gratuita. Ele captura e exibe pacotes em tempo real para análise offline em um formato legível pelo homem com detalhes microscópicos. Requer algum conhecimento sólido de redes básicas e é considerado uma ferramenta essencial para administradores de sistemas e especialistas em segurança de rede.

O Wireshark é a ferramenta de fato de Facto para vários problemas de rede que variam de solução de problemas de rede, exame de problemas de segurança, inspecionando o tráfego de rede de um aplicativo suspeito, implementações de protocolo de depuração, juntamente com fins de aprendizado de protocolos de rede, etc.

O projeto Wireshark foi iniciado em 1998. Graças à contribuição voluntária do especialista em rede global, continua a fazer atualizações para novas tecnologias e padrões de criptografia. Portanto, é de longe uma das melhores ferramentas de analisador de pacotes e é utilizada como uma ferramenta comercial padrão por várias agências governamentais, institutos educacionais e organizações sem fins lucrativos.

A ferramenta Wireshark é composta por um rico conjunto de recursos. Alguns deles são os seguintes:

  • Multiplataform: está disponível para sistemas UNIX, Mac e Window.
  • Ele captura pacotes de várias mídias de rede, eu.e., LAN sem fio, Ethernet, USB, Bluetooth, etc.
  • Ele abre arquivos de pacotes capturados por outros programas como Oracle Snoop e Atmsnoop, NMAP, TCPDUMP, Microsoft Network Monitor, Snort e muitos outros.
  • Ele salva e exporta dados de pacotes capturados em vários formatos (CSV, XML, texto simples, etc.).
  • Ele fornece suporte de descrição para protocolos, incluindo SSL, WPA/WPA2, IPSEC e muitos outros.
  • Inclui filtros de captura e exibição.

No entanto, o Wireshark não o alertará sobre nenhuma atividade maliciosa. Isso só ajudará você a inspecionar e identificar o que está acontecendo em sua rede. Além disso, ele apenas analisará o protocolo/atividades de rede e não executará outras atividades, como enviar/interceptar pacotes.

Este artigo fornece um tutorial aprofundado que começa com o básico (i.e., Filtragem, camadas de rede Wireshark, etc.) e leva você à profundidade da análise de tráfego.

Filtros Wireshark

Wireshark vem com poderosos motores de filtro, filtros de captura e filtros de exibição, para remover o ruído da rede ou o tráfego já capturado. Esses filtros restringem o tráfego não criado e exibem apenas os pacotes que você deseja ver. Esse recurso ajuda os administradores de rede a solucionar os problemas em questão.

Antes de entrar nos detalhes dos filtros. Caso você esteja se perguntando como capturar o tráfego de rede sem nenhum filtro, você pode pressionar Ctrl+E ou ir para a opção Capture na interface Wireshark e clicar em Iniciar.

Agora, vamos nos aprofundar nos filtros disponíveis.

Capture filtro

Wireshark fornece suporte para reduzir o tamanho de uma captura de pacotes brutos, permitindo que você use um filtro de captura. Mas ele apenas captura o tráfego de pacotes que corresponde ao filtro e desconsidera o resto. Esse recurso ajuda a monitorar e analisar o tráfego de um aplicativo específico usando a rede.

Não confunda este filtro com filtros de exibição. Não é um filtro de exibição. Este filtro aparece na janela principal necessária para definir antes de iniciar a captura de pacotes. Além disso, você não pode modificar este filtro durante a captura.

Você pode ir para o Capturar opção da interface e selecione Filtros de captura.

Você será solicitado com uma janela, como mostrado no instantâneo. Você pode escolher qualquer filtro da lista de filtros ou adicionar/criar um novo filtro clicando no + botão.

Exemplos da lista de filtros de captura úteis:

  • host ip_address - Captura o tráfego, apenas entre o endereço IP de comunicação específico
  • Net 192.168.0.0/24 - Captura o tráfego entre as faixas de endereço IP/Cidrs
  • Porta 53 - captura o tráfego DNS
  • TCP retrato 2051-3502 - Captura o tráfego TCP da faixa de porta 2051-3502
  • Porto não 22 e não 21 - Capture todo o tráfego, exceto SSH e FTP

Exibir filtro

Os filtros de exibição permitem que você oculte alguns pacotes do tráfego de rede já capturado. Esses filtros podem ser adicionados acima da lista capturada e podem ser modificados em tempo real. Agora você pode controlar e restringir os pacotes em que deseja se concentrar enquanto esconde os pacotes desnecessários.

Você pode adicionar filtros na barra de ferramentas do filtro de exibição logo acima do primeiro painel contendo informações do pacote. Este filtro pode ser usado para exibir pacotes com base no protocolo, endereço IP de origem, endereço IP de destino, portas, valor e informações dos campos, comparação entre campos e muito mais.

Isso mesmo! Você pode construir uma combinação de filtros usando operadores lógicos como ==.!=, ||, &&, etc.

Alguns exemplos de filtros de exibição de um único protocolo TCP e um filtro de combinação são mostrados abaixo:

Camadas de rede no Wireshark

Além da inspeção de pacotes, o Wireshark apresenta camadas OSI que ajudam no processo de solução de problemas. Wireshark mostra as camadas em ordem inversa, como:

  1. Camada física
  2. Camada de link de dados
  3. Camada de rede
  4. Camada de transporte
  5. Camada de aplicação

Observe que o Wireshark nem sempre mostra a camada física. Vamos agora cavar em cada camada para entender o aspecto importante da análise de pacotes e o que cada camada apresenta no Wireshark.

Camada física

A camada física, como mostrado no instantâneo a seguir, apresenta o resumo físico do quadro, como informações de hardware. Como administrador de rede, você geralmente não extrai informações dessa camada.

Camada de link de dados

A próxima camada de link de dados contém o endereço de cartão de origem e de destino. É relativamente simples, pois entrega apenas o quadro do laptop ao roteador ou do próximo quadro adjacente no meio físico.

Camada de rede

A camada de rede apresenta os endereços IP de origem e destino, versão IP, comprimento do cabeçalho, comprimento total do pacote e cargas de outras informações.

Camada de transporte

Nesta camada, o Wireshark exibe informações sobre a camada de transporte, que consiste na porta SRC, porta DST, comprimento do cabeçalho e número de sequência que muda para cada pacote.

Camada de aplicação

Na camada final, você pode ver que tipo de dados está sendo enviado sobre o meio e qual aplicativo está sendo usado, como FTP, HTTP, SSH, etc.

Análise de tráfego

Análise de tráfego ICMP

O ICMP é usado para relatar e testar erros, determinando se os dados atingem o destino pretendido no prazo ou não. O utilitário ping usa mensagens ICMP para testar a velocidade da conexão entre os dispositivos e relatar quanto tempo o pacote leva para chegar ao seu destino e depois voltar.

O ping usa a mensagem ICMP_ECHO_REQUEST para o dispositivo na rede, e o dispositivo responde por ICMP_ECHO_REPLY MENSAGEM. Para capturar pacotes no Wireshark, inicie a função de captura do Wireshark, abra o terminal e execute o seguinte comando:

Ubuntu $ ubuntu: ~ $ ping google.com

Usar Ctrl+c Para encerrar o processo de captura de pacotes no Wireshark. No instantâneo abaixo, você pode notar o ICMP pacote enviado = pacote ICMP recebido Com 0% de perda de pacotes.

No painel Capture Wireshark, selecione o primeiro pacote ICMP_ECHO_REQUEST e observe os detalhes abrindo o painel Wireshark Middle.

Na camada de rede, você pode notar a fonte Src como meu ip_address, enquanto o destino DST ip_address é do servidor do Google, enquanto a camada IP menciona o protocolo para ser ICMP.

Agora, aumentamos o zoom nos detalhes do pacote ICMP, expandindo o protocolo da mensagem de controle da Internet e decodifica as caixas destacadas no instantâneo abaixo:

  • Tipo: campo de 08 bits definido como 8 significa mensagem de solicitação de eco
  • Código: sempre zero para pacotes ICMP
  • Soma de verificação: 0x46c8
  • Número do identificador (BE): 19797
  • Número do identificador (LE): 21837
  • Número da sequência (BE): 1
  • Número da sequência (LE): 256

O identificador e os números de sequência são correspondidos para ajudar na identificação das respostas para eco. Da mesma forma, antes da transmissão de pacotes, a soma de verificação é calculada e adicionada ao campo a ser comparada com a soma de verificação no pacote de dados recebido.

Agora, no pacote de resposta ICMP, observe a camada IPv4. Os endereços de origem e destino trocaram.

Na camada ICMP, verifique e compare os seguintes campos importantes:

  • Tipo: campo de 08 bits definido como 0 significa Mensagem de resposta de eco
  • Código: sempre 0 para pacotes ICMP
  • Soma de verificação: 0x46c8
  • Número do identificador (BE): 19797
  • Número do identificador (LE): 21837
  • Número da sequência (BE): 1
  • Número da sequência (LE): 256

Você pode observar que a resposta do ICMP ecoa a mesma solicitação de soma, identificador e número de sequência.

Análise de tráfego HTTP

HTTP é um protocolo de camada de aplicação de transferência de hipertexto. É usado pela World Wide Web e define regras quando o cliente/servidor HTTP transmite/recebe comandos HTTP. Os métodos HTTP mais usados ​​ae postagem e recebem:

PUBLICAR: Este método é usado para enviar informações confidenciais com segurança ao servidor que não aparecem no URL.

PEGAR: Este método é geralmente usado para recuperar dados da barra de endereços de um servidor da web.

Antes de nos aprofundarmos na análise de pacotes HTTP, primeiro demonstraremos brevemente o TCP de três vias no Wireshark.

TCP de três vias

Em um aperto de mão de três vias, o cliente inicia uma conexão enviando um pacote SYN e recebendo uma resposta do Syn-ACK do servidor, que é reconhecido pelo cliente. Usaremos o comando NMAP TCP Connect Scan para ilustrar o aperto de mão TCP entre cliente e servidor.

ubuntu $ ubuntu: ~ $ nmap -st google.com

No painel de captura de pacotes Wireshark, role até o topo da janela para observar vários traços de três vias estabelecidos com base em portas específicas.

Use o TCP.porta == 80 filtro para ver se a conexão é estabelecida via porta 80. Você pode notar o aperto completo de três vias, eu.e., Syn, Syn-acz, e ACK, destacado no topo do instantâneo, ilustrando uma conexão confiável.

Análise de pacotes HTTP

Para análise de pacotes HTTP, vá para o seu navegador e cole o URL da documentação do Wireshark: http: // www.máquina de waffles.com e baixe o guia do usuário pdf. Enquanto isso, o Wireshark deve estar capturando todos os pacotes.

Aplique um filtro HTTP e procure o Http get solicitação enviada ao servidor pelo cliente. Para visualizar um pacote HTTP, selecione -o e expanda a camada de aplicativo no painel do meio. Pode haver muitos cabeçalhos em um pedido, dependendo do site e do navegador também. Analisaremos os cabeçalhos presentes em nosso pedido no instantâneo abaixo.

  • Método de solicitação: O método de solicitação HTTP é obter
  • Hospedar: identifica o nome do servidor
  • Agente de usuário: Informa sobre o tipo de navegador do lado do cliente
  • Aceite, aceite, codificação, aceite-se-linguagem: Informa o servidor sobre o tipo de arquivo, aceito a codificação no lado do cliente, eu.e., gzip, etc., e a linguagem aceita
  • Controle de cache: mostra como as informações solicitadas são armazenadas em cache
  • Pragma: mostra o nome do cookie e valores que o navegador segura para o site
  • Conexão: Cabeçalho que controla se a conexão permanece aberta após a transação

No Http ok Pacote de servidor para cliente, observando as informações na camada de protocolo de transferência de hipertexto mostra “200 ok““. Esta informação indica uma transferência bem -sucedida normal. No pacote http ok, você pode observar diferentes cabeçalhos em comparação com o Http get pacote. Esses cabeçalhos contêm informações sobre o conteúdo solicitado.

  • Versão de resposta: Informa sobre a versão HTTP
  • Código de status, frase de resposta: Enviado pelo servidor
  • Data: A hora em que o servidor recebeu o pacote HTTP Get
  • Servidor: Detalhes do servidor (nginx, apache, etc.)
  • Tipo de conteúdo: tipo de conteúdo (JSON, TXT/HTML, etc.)
  • Comprimento do conteúdo: comprimento total de conteúdo; Nosso arquivo é 39696 bytes

Nesta seção, você aprendeu como o HTTP funciona e o que acontece sempre que solicitamos conteúdo na web.

Conclusão

Wireshark é o mais popular e poderoso Sniffer de rede e ferramenta de análise. É amplamente utilizado em tarefas diárias de análise de pacotes em várias organizações e institutos. Neste artigo, estudamos alguns tópicos iniciantes a médios do Wireshark no Ubuntu. Aprendemos o tipo de filtros oferecidos pela Wireshark para análise de pacotes. Cobrimos o modelo de camada de rede no Wireshark e realizamos uma análise de pacotes ICMP e HTTP aprofundada.

No entanto, aprender e entender vários aspectos desta ferramenta é uma longa jornada difícil. Portanto, existem muitas outras palestras e tutoriais online disponíveis para ajudá -lo em torno de tópicos específicos do Wireshark. Você pode seguir o guia oficial do usuário disponível no site Wireshark. Além disso, depois de construir o entendimento básico da análise de protocolos, também é aconselhado a usar uma ferramenta como Varonis que aponta para a ameaça potencial e depois use o Wireshark para investigar para melhor entender.