Wireshark

Tutorial detalhado do WireShark

Tutorial detalhado do WireShark
O Wireshark é uma ferramenta de inspeção de tráfego de rede gratuita e de código aberto. Ele captura e exibe pacotes em tempo real para análise offline em um formato legível por humanos com detalhes microscópicos. Requer algum conhecimento sólido de rede básica e é considerada uma ferramenta essencial para administradores de sistema e especialistas em segurança de rede.

O Wireshark é a ferramenta de uso de fato para vários problemas de rede que variam de solução de problemas de rede, exame de problemas de segurança, inspeção de tráfego de rede de um aplicativo suspeito, implementações de protocolo de depuração, juntamente com propósitos de aprendizagem de protocolo de rede, etc.

O projeto Wireshark foi iniciado em 1998. Graças à contribuição voluntária do especialista em rede global, ele continua a fazer atualizações para novas tecnologias e padrões de criptografia. Portanto, é de longe uma das melhores ferramentas de análise 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 de um rico conjunto de recursos. Alguns deles são os seguintes:

No entanto, o Wireshark não irá avisá-lo de qualquer atividade maliciosa. Isso só ajudará você a inspecionar e identificar o que está acontecendo em sua rede. Além disso, irá apenas analisar protocolo / atividades de rede e não realizará nenhuma outra atividade, como envio / interceptação de pacotes.

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

Filtros Wireshark

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

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

Agora, vamos nos aprofundar nos filtros disponíveis.

Filtro de Captura

O Wireshark fornece suporte na redução do tamanho de uma captura de pacote bruto, 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. Este 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 que é necessário 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.

Será exibida uma janela, conforme 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:

Filtro de exibição

Filtros de exibição permitem que você esconda alguns pacotes do tráfego de rede já capturado. Esses filtros podem ser adicionados acima da lista capturada e podem ser modificados rapidamente. Agora você pode controlar e restringir os pacotes nos quais deseja se concentrar, enquanto oculta 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 de 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 auxiliam no processo de solução de problemas. O Wireshark mostra as camadas em ordem reversa, 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. Agora vamos 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, conforme 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 enlace de dados contém o endereço da placa de rede de origem e destino. É relativamente simples, pois só entrega o quadro do laptop para o roteador ou o 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 pelo 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 relatórios e testes de erros, determinando se os dados chegam ao destino pretendido a tempo 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 pela mensagem ICMP_echo_reply. Para capturar pacotes no Wireshark, inicie a função Capture 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 Pacote ICMP enviado = pacote ICMP recebido com 0% de perda de pacotes.

No painel de captura do Wireshark, selecione o primeiro pacote ICMP_echo_request e observe os detalhes abrindo o painel do meio do Wireshark.

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 que o protocolo é ICMP.

Agora, ampliamos os detalhes do pacote ICMP expandindo Internet Control Message Protocol e decodificamos as caixas destacadas no instantâneo abaixo:

O identificador e os números de sequência são combinados para ajudar na identificação das respostas às solicitações de eco. Da mesma forma, antes da transmissão do pacote, a soma de verificação é calculada e adicionada ao campo para 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 foram trocados.

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

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

Análise de tráfego HTTP

HTTP é um protocolo de camada de aplicativo de transferência de hipertexto. É usado pela rede mundial de computadores e define regras quando o cliente / servidor HTTP transmite / recebe comandos HTTP. Os métodos HTTP mais comumente usados ​​são POST e GET:

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

OBTER: este método é geralmente usado para recuperar dados da barra de endereço de um servidor web.

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

Handshake de três vias TCP

Em um handshake de três vias, o cliente inicia uma conexão enviando um pacote SYN e recebendo uma resposta SYN-ACK do servidor, que é confirmada pelo cliente. Usaremos o comando Nmap TCP connect scan para ilustrar o handshake TCP entre o cliente e o servidor.

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

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

Use o tcp.porta == 80 filtro para ver se a conexão é estabelecida através da porta 80. Você pode notar o handshake completo, eu.e., SYN, SYN-ACK, e ACK, destacado na parte superior 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 em PDF. Nesse ínterim, o Wireshark deve estar capturando todos os pacotes.

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

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

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

Conclusão

O Wireshark é a ferramenta de análise e farejador de rede mais popular e poderosa. É amplamente utilizado nas tarefas diárias de análise de pacotes em várias organizações e institutos. Neste artigo, estudamos alguns tópicos de nível iniciante a médio do Wireshark no Ubuntu. Aprendemos os tipos de filtros oferecidos pelo Wireshark para análise de pacotes. Cobrimos o modelo de camada de rede no Wireshark e realizamos análises de pacotes ICMP e HTTP em profundidade.

No entanto, aprender e compreender vários aspectos desta ferramenta é uma jornada longa e 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 do Wireshark. Além disso, depois de ter construído o entendimento básico da análise de protocolo, também é aconselhável usar uma ferramenta como o Varonis que aponta para a ameaça potencial e, em seguida, usar o Wireshark para investigar e compreender melhor.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...
Tutorial Unity3D
Introdução ao Unity 3D Unity 3D é um poderoso motor de desenvolvimento de jogos. É uma plataforma cruzada que permite criar jogos para celular, web, d...