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:
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:
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:
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:
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:
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.
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.
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.