Escolar Documentos
Profissional Documentos
Cultura Documentos
Prefácio
Prefácio
O Wireshark é o principal analisador de protocolo de rede do mundo, mas o rico conjunto de recursos pode ser
assustador para quem não está familiarizado. Este documento é parte de um esforço da equipe do Wireshark
para melhorar a usabilidade do Wireshark. Esperamos que você ache útil e aguardamos seus comentários.
Este livro explica todos os recursos básicos e avançados do Wireshark. Como o Wireshark se tornou um
programa muito complexo, nem todos os recursos podem ser explicados neste livro.
Este livro não pretende explicar o sniffing de rede em geral e não fornecerá detalhes sobre protocolos
de rede específicos. Muitas informações úteis sobre esses tópicos podem ser encontradas no
Wireshark Wiki em https://gitlab.com/wireshark/wireshark/wikis/.
Ao ler este livro, você aprenderá como instalar o Wireshark, como usar os elementos básicos da interface gráfica
do usuário (como o menu) e o que está por trás de alguns dos recursos avançados que nem sempre são óbvios
à primeira vista. Esperançosamente, ele irá guiá-lo em torno de alguns problemas comuns que freqüentemente
aparecem para novos (e às vezes até avançados) usuários do Wireshark.
Reconhecimentos
Os autores gostariam de agradecer a toda a equipe do Wireshark por sua ajuda. Em particular, os autores
gostariam de agradecer:
• Gerald Combs, por iniciar o projeto Wireshark e financiamento para fazer esta documentação.
• Guy Harris, por muitas dicas úteis e muita paciência na revisão deste documento.
Os autores também gostariam de agradecer às seguintes pessoas por seus comentários úteis sobre este
documento:
• Pat Eyler, por suas sugestões para melhorar o exemplo de geração de backtrace.
Os autores gostariam de agradecer aos autores da página de manual e README para o projeto Wireshark de
quem as seções deste documento emprestam pesadamente:
Machine Translated by Google
• Scott Renfro de cuja página de manual mergecap mergecap: Mesclando vários arquivos de captura em um
é derivado.
• Ashok Narayanan de cuja página de manual text2pcap text2pcap: A conversão de hexdumps ASCII em capturas de rede é derivada.
Foi originalmente escrito em DocBook/XML e convertido para AsciiDoc por Gerald Combs.
Convenções tipográficas
A tabela a seguir mostra as convenções tipográficas usadas neste guia.
Negrito
Comandos que devem ser executados pelo Execute cmake -G Ninja...
Monoespaço do utilizador
Chave Atalho de teclado Pressione Ctrl + Baixo para mover para o próximo
pacote.
próximo pacote.
Machine Translated by Google
Advertências
Isso é um aviso
AVISO
Você deve prestar atenção a um aviso, caso contrário, pode ocorrer perda de dados.
Este é um cuidado
CUIDADO
Aja com cuidado (ou seja, tenha cuidado).
$ # Este é um comentário $
git config --global log.abbrevcommit true
# # Este é um comentário #
ninja install
PowerShell
C Código Fonte
#include "config.h"
Introdução
O que é Wireshark?
Wireshark é um analisador de pacotes de rede. Um analisador de pacotes de rede apresenta os dados de pacotes capturados com o
máximo de detalhes possível.
Você pode pensar em um analisador de pacotes de rede como um dispositivo de medição para examinar o que está acontecendo dentro
de um cabo de rede, assim como um eletricista usa um voltímetro para examinar o que está acontecendo dentro de um cabo elétrico (mas
em um nível mais alto, é claro).
No passado, essas ferramentas eram muito caras, proprietárias ou ambas. No entanto, com o advento do Wireshark, isso mudou. O
Wireshark está disponível gratuitamente, é de código aberto e é um dos melhores analisadores de pacotes disponíveis atualmente.
Recursos
• Arquivos abertos contendo dados de pacotes capturados com tcpdump/WinDump, Wireshark e muitos outros programas de captura de
pacotes.
• …e muito mais!
No entanto, para realmente apreciar seu poder, você deve começar a usá-lo.
O Wireshark captura pacotes e permite que você examine seu conteúdo. mostra o Wireshark capturando alguns pacotes e
esperando que você os examine.
O Wireshark pode capturar tráfego de vários tipos de mídia de rede diferentes, incluindo Ethernet, LAN sem fio, Bluetooth,
USB e muito mais. Os tipos de mídia específicos suportados podem ser limitados por vários fatores, incluindo seu hardware
e sistema operacional. Uma visão geral dos tipos de mídia suportados pode ser encontrada em https://gitlab.com/wireshark/
wireshark/wikis/CaptureSetup/ NetworkMedia.
O Wireshark pode abrir capturas de pacotes de um grande número de programas de captura. Para obter uma lista de formatos de entrada,
consulte Formatos de arquivo de entrada.
Machine Translated by Google
O Wireshark pode salvar pacotes capturados em vários formatos, incluindo aqueles usados por outros programas de captura.
Para obter uma lista de formatos de saída, consulte Formatos de arquivo de saída.
Existem dissecadores de protocolo (ou decodificadores, como são conhecidos em outros produtos) para muitos protocolos: veja
Protocolos e Campos de Protocolo.
Software livre
Wireshark é um projeto de software de código aberto e é lançado sob a GNU General Public License (GPL). Você pode usar o
Wireshark livremente em qualquer número de computadores que desejar, sem se preocupar com chaves de licença ou taxas ou
algo assim. Além disso, todo o código-fonte está disponível gratuitamente sob a GPL. Por causa disso, é muito fácil para as
pessoas adicionarem novos protocolos ao Wireshark, seja como plug-ins ou embutidos na fonte, e geralmente o fazem!
• O Wireshark não é um sistema de detecção de intrusão. Ele não irá avisá-lo quando alguém fizer coisas estranhas em sua
rede que ele/ela não tem permissão para fazer. No entanto, se coisas estranhas acontecerem, o Wireshark pode ajudá-lo a
descobrir o que realmente está acontecendo.
• O Wireshark não manipulará as coisas na rede, apenas “medirá” as coisas a partir dela.
O Wireshark não envia pacotes na rede ou faz outras coisas ativas (exceto resolução de nome de domínio, mas isso pode
ser desabilitado).
Requisitos de sistema
A quantidade de recursos que o Wireshark precisa depende do seu ambiente e do tamanho do arquivo de captura que você está
analisando. Os valores abaixo devem ser adequados para arquivos de captura de tamanho pequeno a médio, não mais do que
algumas centenas de MB. Arquivos de captura maiores exigirão mais memória e disco
espaço.
Uma rede ocupada pode produzir arquivos de captura enormes. A captura até mesmo em uma rede de 100
NOTA megabits pode produzir centenas de megabytes de dados de captura em um curto espaço de tempo. Um
computador com um processador rápido e muita memória e espaço em disco é sempre uma boa ideia.
Embora o Wireshark use um processo separado para capturar pacotes, a análise de pacotes é de thread único e não se beneficiará muito
de sistemas multi-core.
Microsoft Windows
O Wireshark deve oferecer suporte a qualquer versão do Windows que ainda esteja dentro de sua vida útil de suporte estendida.
No momento da redação, isso inclui Windows 10, 8.1, Server 2019, Server 2016, Server 2012 R2 e Server 2012. Também requer o seguinte:
instalado automaticamente em versões anteriores se o Microsoft Windows Update estiver ativado. Caso contrário, você deve instalar
o KB2999226 ou KB3118401.
• 500 MB de espaço disponível em disco. Os arquivos de captura requerem espaço em disco adicional.
• Qualquer monitor moderno. 1280 × 1024 ou resolução superior é recomendada. O Wireshark usará as resoluções HiDPI ou Retina, se
disponíveis. Usuários avançados acharão vários monitores úteis.
ÿ Ethernet. Qualquer placa suportada pelo Windows deve funcionar. Veja as páginas wiki sobre captura Ethernet e descarga para
problemas que possam afetar seu ambiente.
ÿ 802.11. Veja a página wiki do Wireshark. Capturar informações 802.11 brutas pode ser difícil
sem equipamento especial.
Versões mais antigas do Windows que estão fora da janela de suporte do ciclo de vida estendido da Microsoft não são mais suportadas.
Geralmente é difícil ou impossível dar suporte a esses sistemas devido a circunstâncias fora de nosso controle, como bibliotecas de
terceiros das quais dependemos ou devido a recursos necessários que estão presentes apenas em versões mais recentes do Windows,
como segurança reforçada ou gerenciamento de memória.
• O Wireshark 3.6 foi o último ramo de lançamento a oferecer suporte oficial ao Windows de 32 bits.
• O Wireshark 3.2 foi a última ramificação de lançamento a suportar oficialmente o Windows 7 e o Windows Server
2008 R2.
• Wireshark 2.2 foi a última ramificação de lançamento para suportar Windows Vista e Windows Server 2008
sem R2
• O Wireshark 1.12 foi a última ramificação de lançamento a oferecer suporte ao Windows Server 2003.
• O Wireshark 1.10 foi o último ramo de lançamento a oferecer suporte oficial ao Windows XP.
Mac OS
Wireshark suporta macOS 10.14 e posterior. Semelhante ao Windows, as versões macOS suportadas dependem de bibliotecas de
terceiros e dos requisitos da Apple. O hardware Apple Silicon é suportado nativamente a partir da versão 4.0
• O Wireshark 3.6 foi a última ramificação de lançamento a oferecer suporte ao macOS 10.13.
• O Wireshark 3.4 foi o último ramo de lançamento a oferecer suporte ao macOS 10.12.
• Wireshark 2.6 foi o último ramo de lançamento para suportar Mac OS X 10.6 e 10.7 e OS X 10.8 para
10.11.
• O Wireshark 2.0 foi o último ramo de lançamento a oferecer suporte ao OS X em Intel de 32 bits.
• O Wireshark 1.8 foi o último ramo de lançamento a oferecer suporte ao Mac OS X em PowerPC.
Os requisitos do sistema devem ser comparáveis às especificações listadas acima para Windows.
O Wireshark é executado na maioria das plataformas UNIX e semelhantes a UNIX, incluindo Linux e a maioria das variantes BSD.
Os requisitos do sistema devem ser comparáveis às especificações listadas acima para Windows.
Pacotes binários estão disponíveis para a maioria das distribuições Unices e Linux, incluindo as seguintes plataformas:
• Alpine Linux
• ArchLinux
• Ubuntu canônico
• Debian GNU/Linux
• FreeBSD
• GentooLinux
• HP-UX
• NetBSD
• OpenPKG
• Oráculo Solaris
Se um pacote binário não estiver disponível para sua plataforma, você pode baixar o código-fonte e tentar
construí-lo. Por favor, relate suas experiências para wireshark-dev[AT]wireshark.org.
Machine Translated by Google
Uma nova versão do Wireshark normalmente fica disponível a cada seis semanas.
Se você deseja ser notificado sobre novos lançamentos do Wireshark, você deve se inscrever na lista de discussão de
anúncios do wireshark. Você encontrará mais detalhes em Listas de discussão.
Cada versão inclui uma lista de hashes de arquivo que são enviados para a lista de discussão wireshark-announce e
colocados em um arquivo chamado SIGNATURES-xyztxt. As mensagens de anúncio são arquivadas em https://
www.wireshark.org/lists/wireshark-announce/ e os arquivos SIGNATURES podem ser encontrados em https://
www.wireshark.org/download/src/all-versions/. Ambos são assinados por GPG e incluem instruções de verificação para
Windows, Linux e macOS. Conforme observado acima, você também pode verificar downloads no Windows e macOS
usando os recursos de validação de assinatura de código nesses sistemas.
Ethereal foi lançado inicialmente após várias pausas no desenvolvimento em julho de 1998 como versão 0.2.0.
Em poucos dias, patches, relatórios de bugs e palavras de encorajamento começaram a chegar e o Ethereal estava a
caminho do sucesso.
Não muito tempo depois, Gilbert Ramirez viu seu potencial e contribuiu com um dissecador de baixo nível para ele.
Em outubro de 1998, Guy Harris estava procurando por algo melhor do que o tcpview, então ele começou a aplicar
patches e contribuir com dissecadores para o Ethereal.
No final de 1998, Richard Sharpe, que ministrava cursos de TCP/IP, viu seu potencial nesses cursos e começou a
examiná-lo para ver se ele suportava os protocolos de que precisava. Embora não o fizesse naquele ponto, novos
protocolos poderiam ser facilmente adicionados. Então ele começou a contribuir com dissecadores e patches.
A lista de pessoas que contribuíram para o projeto tornou-se muito longa desde então, e quase todas começaram com
um protocolo que precisavam e que o Wireshark ainda não tinha. Então, eles copiaram um dissecador existente e
contribuíram com o código de volta para a equipe.
Em 2008, após dez anos de desenvolvimento, o Wireshark finalmente chegou à versão 1.0. Este lançamento foi
Machine Translated by Google
o primeiro considerado completo, com os recursos mínimos implementados. Seu lançamento coincidiu com o primeiro Wireshark
Developer and User Conference, chamado Sharkfest.
Em 2015, foi lançado o Wireshark 2.0, que apresentava uma nova interface de usuário.
Também houve um grande número de pessoas que contribuíram com dissecadores de protocolo para o Wireshark, e espera-se
que isso continue. Você pode encontrar uma lista das pessoas que contribuíram com código para o Wireshark verificando a caixa
de diálogo sobre do Wireshark, ou nos autores página no site do Wireshark.
Wireshark é um projeto de software de código aberto e é lançado sob a GNU General Public License (GPL) versão 2. Todo o
código-fonte está disponível gratuitamente sob a GPL. Você está convidado a modificar o Wireshark para atender às suas próprias
necessidades, e seria apreciado se você contribuísse com suas melhorias de volta para a equipe do Wireshark.
Você ganha três benefícios ao contribuir com suas melhorias para a comunidade:
1. Outras pessoas que consideram suas contribuições úteis irão apreciá-las, e você saberá que ajudou outras pessoas da mesma
forma que os desenvolvedores do Wireshark ajudaram você.
3. Os mantenedores e desenvolvedores do Wireshark manterão seu código, corrigindo-o quando forem feitas alterações na API
ou outras alterações e, geralmente, mantendo-o em sintonia com o que está acontecendo com o Wireshark. Portanto, quando
o Wireshark for atualizado (o que é frequente), você poderá obter uma nova versão do Wireshark no site e suas alterações já
serão incluídas sem nenhum esforço adicional de sua parte.
O código-fonte do Wireshark e os kits binários para algumas plataformas estão disponíveis na página de download do site do
Wireshark: https://www.wireshark.org/download.html.
Wiki
E o melhor de tudo, se você quiser contribuir com seu conhecimento sobre um tópico específico (talvez um protocolo de
rede que você conheça bem), você pode editar as páginas wiki com seu navegador da web.
O site de perguntas e respostas do Wireshark em https://ask.wireshark.org/ oferece um recurso onde perguntas e respostas
se juntam. Você pode pesquisar perguntas feitas anteriormente e ver quais respostas foram dadas por pessoas que sabiam
sobre o assunto. As respostas são classificadas, para que você possa escolher facilmente as melhores. Se sua pergunta
não foi discutida antes, você mesmo pode postar uma.
Perguntas frequentes
NOTA Antes de enviar qualquer e-mail para as listas de discussão abaixo, certifique-se de ler o FAQ. Muitas
vezes, responderá a quaisquer perguntas que você possa ter. Isso economizará muito tempo para você
e para os outros. Tenha em mente que muitas pessoas estão inscritas nas listas de discussão.
Você encontrará as perguntas frequentes dentro do Wireshark clicando no item de menu Ajuda/Conteúdo e selecionando a página de perguntas
Uma versão online está disponível no site da Wireshark em https://www.wireshark.org/faq.html. Você pode preferir esta
versão on-line, pois geralmente é mais atualizada e o formato HTML é mais fácil de
usar.
Listas de discussão
wireshark-announce
Informações sobre novos lançamentos de programas, que geralmente aparecem a cada seis semanas.
usuários de wireshark
Tópicos de interesse dos usuários do Wireshark. As pessoas normalmente postam perguntas sobre o uso do Wireshark
e outros (espero) fornecem respostas.
Machine Translated by Google
wireshark-dev
Tópicos de interesse para desenvolvedores do Wireshark. Se você deseja desenvolver um dissecador de protocolo ou
atualizar a interface do usuário, junte-se a esta lista.
Você pode se inscrever em cada uma dessas listas no site da Wireshark: https://www.wireshark.org/ lists/. A partir daí, você pode
escolher em qual lista de e-mail deseja se inscrever clicando no botão Inscrever-se/Cancelar inscrição/Opções sob o título da
lista relevante. Os links para os arquivos também estão incluídos nessa página.
GORJETA
Você pode pesquisar nos arquivos da lista para ver se alguém fez a mesma pergunta algum tempo antes e
talvez já tenha uma resposta. Dessa forma, você não precisa esperar até que alguém responda à sua pergunta.
Relatando problemas
Antes de relatar qualquer problema, certifique-se de ter instalado a versão mais recente do Wireshark.
NOTA
2. Informações sobre a plataforma em que você executa o Wireshark (Windows, Linux, etc. e 32 bits, 64 bits,
etc).
4. Se você receber uma mensagem de erro/aviso, copie o texto dessa mensagem (e também algumas linhas antes e depois
dela, se houver) para que outras pessoas possam encontrar o local onde as coisas deram errado. Por favor, não dê algo
como: “Recebo um aviso ao fazer x”, pois isso não dará uma boa ideia de onde procurar.
Se você enviar arquivos de captura para as listas de e-mail, certifique-se de que eles não contenham
nenhuma informação sensível ou confidencial, como senhas ou informações de identificação pessoal
AVISO
(PII).
Em muitos casos, você pode usar uma ferramenta como TraceWrangler para limpar um arquivo de captura
antes de compartilhá-lo.
NOTA Não envie arquivos grandes (> 1 MB) para as listas de discussão. Em vez disso, forneça um link para
download. Para bugs e solicitações de recursos, você pode criar um problema no GitLab Issues e carregue
o arquivo lá.
Machine Translated by Google
Você pode obter essas informações de rastreamento com os seguintes comandos no UNIX ou Linux (observe as crases):
$ gdb `onde está o wireshark | cortar -f2 -d: | cut -d' ' -f2` core >& backtrace.txt backtrace
^D
Se você não tiver o gdb disponível, terá que verificar o depurador do seu sistema operacional.
Como em todas as coisas, deve haver um começo e assim é com o Wireshark. Para usar o Wireshark você deve
primeiro instalá-lo. Se estiver executando Windows ou macOS, você pode baixar um lançamento oficial em https://
www.wireshark.org/download.html, instale-o e pule o restante deste capítulo.
Se você estiver executando outro sistema operacional, como Linux ou FreeBSD, talvez queira instalar a partir do
código-fonte. Várias distribuições Linux oferecem pacotes Wireshark, mas geralmente fornecem versões
desatualizadas. Nenhuma outra versão do UNIX envia o Wireshark até agora. Por esse motivo, você precisará
saber onde obter a versão mais recente do Wireshark e como instalá-la.
Este capítulo mostra como obter o código-fonte e os pacotes binários e como construir o Wireshark a partir do
código-fonte, caso você decida fazê-lo.
1. Baixe o pacote relevante para suas necessidades, por exemplo, fonte ou distribuição binária.
2. Para distribuições de fonte, compile a fonte em um binário. Isso pode envolver a construção e/ou
instalar outros pacotes necessários.
3. Instale os binários em seus destinos finais.
Componentes de instalação
• Wireshark - O analisador de protocolo de rede que todos nós conhecemos e principalmente amamos.
• TShark - Um analisador de protocolo de rede de linha de comando. Se você ainda não experimentou, deveria.
ÿ Plug-ins de tipo de arquivo - suporte a arquivo de captura - Estenda o suporte de escuta telefônica para tipos de arquivo de captura.
(por exemplo, usbdump)
ÿ Mate - Meta Analysis and Tracing Engine - Extensão(ões) configurável(is) pelo usuário da tela
mecanismo de filtro, consulte MATE para obter detalhes.
ÿ SNMP MIBs - SNMP MIBs para uma análise SNMP mais detalhada.
ÿ TRANSUM - análise de desempenho - Plugin para calcular elemento de tempo de resposta (RTE)
Estatisticas.
ÿ Plug-in de Estatísticas de Árvore - Estatísticas estendidas. (veja stats_tree em WSDG; Comprimentos de pacotes em
WSUG)
• Ferramentas - ferramentas de linha de comando adicionais para trabalhar com arquivos de captura e solucionar problemas
ÿ DFTest - Mostra o código de byte do filtro de exibição, para depurar rotinas dfilter.
ÿ Editcap - Copie pacotes para um novo arquivo, opcionalmente cortando pacotes, omitindo-os ou salvando
para um formato diferente.
ÿ MDBResolve - ferramenta de resolução de banco de dados MaxMind - lê endereços IPv4 e IPv6 e imprime
suas informações de geolocalização de IP.
ÿ Randpkt - Cria um arquivo de rastreamento pcap cheio de pacotes aleatórios. (randpkt produz muito mal
pacotes)
ÿ Etwdump - Fornece uma interface para ler o rastreamento de eventos do Rastreamento de Eventos para Windows (ETW)
Machine Translated by Google
(ETL).
ÿ Randpktdump - Fornece uma interface para o gerador de pacotes aleatórios. (ver também randpkt)
ÿ Sshdump, Ciscodump e Wifidump - fornecem captura remota por meio de SSH. (tcpdump,
Cisco EPC, wi-fi)
ÿ UDPdump - Fornece interface de captura para receber pacotes UDP transmitidos da rede
dispositivos.
• Documentação - Instalação local do Guia do Usuário e FAQ. Os botões de ajuda na maioria das caixas de diálogo exigirão
uma conexão com a Internet para mostrar as páginas de ajuda se o Guia do usuário não estiver instalado localmente.
Tarefas adicionais
• Associar extensões de arquivo de rastreamento com Wireshark - Associar arquivos de rastreamento de rede padrão a
Wireshark.
Local de instalação
Instalando o Npcap
Se você não tiver o Npcap instalado, não poderá capturar o tráfego de rede ao vivo, mas ainda poderá abrir arquivos de captura
salvos. Por padrão, a versão mais recente do Npcap será instalada. Se você não deseja fazer isso ou se deseja reinstalar o Npcap,
pode marcar a caixa Instalar Npcap conforme necessário.
• /S executa o instalador ou desinstalador silenciosamente com valores padrão. O instalador silencioso não
instalar Npcap.
• /desktopicon instalação do ícone da área de trabalho, =sim - forçar a instalação, =não - não instalar,
caso contrário, use as configurações padrão. Esta opção pode ser útil para um instalador silencioso.
Machine Translated by Google
• /quicklaunchicon instalação do ícone de inicialização rápida, =sim - forçar a instalação, =não - não instalar, caso
contrário, use as configurações padrão.
• /EXTRACOMPONENTS lista separada por vírgulas de componentes opcionais a serem instalados. Os seguintes
binários extcap são suportados.
ÿ ciscodump - Fornece interfaces para capturar de um roteador Cisco remoto por meio de SSH
ÿ randpktdump - Fornece uma interface para gerar capturas aleatórias usando randpkt
ÿ sshdump - Fornece interfaces para capturar de um host remoto por meio de SSH usando um
capturar binário
Exemplo:
Como mencionado acima, o instalador do Wireshark também instala o Npcap. Se você preferir instalar o Npcap
manualmente ou quiser usar uma versão diferente daquela incluída no instalador do Wireshark, você pode baixar o
Npcap no site principal do Npcap em https://npcap.com/.
Atualizar Npcap
As atualizações do Wireshark também podem incluir uma nova versão do Npcap. As instruções de atualizações manuais
do Npcap podem ser encontradas no site do Npcap em https://npcap.com/. Você pode ter que reiniciar sua máquina
depois de instalar uma nova versão do Npcap.
Desinstalar o Wireshark
Você pode desinstalar o Wireshark usando o painel de controle Programas e Recursos . Selecione a entrada “Wireshark”
para iniciar o procedimento de desinstalação.
O desinstalador do Wireshark fornece várias opções para remoção. O padrão é remover o núcleo
Machine Translated by Google
componentes, mas mantenha suas configurações pessoais e Npcap. O Npcap é mantido caso outros programas precisem dele.
Desinstalar Npcap
Você pode desinstalar o Npcap independentemente do Wireshark usando a entrada Npcap no painel de controle Programas e
Recursos . Lembre-se que se você desinstalar o Npcap não conseguirá capturar nada com o Wireshark.
Para obter mais informações sobre como obter fontes e construir o Wireshark para Windows a partir das fontes
• https://www.wireshark.org/docs/wsdg_html_chunked/ChSrcObtain
• https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWindows
Você também pode dar uma olhada no Development Wiki (https://gitlab.com/wireshark/wireshark/ wikis/Development) para obter a
documentação de desenvolvimento mais recente disponível.
Para capturar pacotes, você deve instalar o daemon de inicialização “ChmodBPF”. Você pode fazer isso abrindo o arquivo Install
ChmodBPF.pkg no Wireshark .dmg ou no próprio Wireshark abrindo Wireshark › About Wireshark selecionando a guia “Folders” e
O pacote do instalador inclui Wireshark junto com ChmodBPF e pacotes de caminho do sistema. Consulte o arquivo Leia-me
primeiro.html incluído para obter mais detalhes.
Construir RPMs a partir do código-fonte do Wireshark resulta em vários pacotes (a maioria das distribuições segue
o mesmo sistema):
Muitas distribuições usam o yum ou uma ferramenta de gerenciamento de pacotes semelhante para facilitar a
instalação do software (incluindo suas dependências). Se sua distribuição usa yum, use o seguinte comando para
instalar o Wireshark junto com a GUI do Qt:
Se você construiu seus próprios RPMs a partir das fontes do Wireshark, você pode instalá-los executando, por
exemplo:
Se o comando acima falhar devido a dependências ausentes, instale as dependências primeiro e repita a etapa
acima.
Ao instalar pacotes Wireshark não-raiz, os usuários não obterão direitos automaticamente para
NOTA capturar pacotes. Para permitir que usuários não root capturem pacotes, siga o procedimento
descrito em https://gitlab.com/wireshark/wireshark/blob/master/packaging/debian/ README.Debian
(/usr/share/doc/wireshark-common/README.Debian.gz)
Use o seguinte comando para instalar o Wireshark no Gentoo Linux com todos os recursos extras:
pkg_add -r wireshark
A construção do Wireshark requer o ambiente de construção adequado, incluindo um compilador e muitas bibliotecas
de suporte. Para obter mais informações, consulte o Guia do desenvolvedor em:
• https://www.wireshark.org/docs/wsdg_html_chunked/ChSrcObtain
• https://www.wireshark.org/docs/wsdg_html_chunked/ChapterSetup#ChSetupUNIX
Atualizando o Wireshark
Por padrão, o Wireshark no Windows e no macOS verificará se há novas versões e o notificará quando estiverem
disponíveis. Se você tiver a preferência Verificar atualizações desativada ou se executar o Wireshark em um ambiente
isolado, você deve se inscrever na lista de discussão wireshark-announce para ser notificado sobre novas versões.
Consulte Listas de discussão para obter detalhes sobre como se inscrever nesta lista.
Novas versões do Wireshark geralmente são lançadas a cada quatro a seis semanas. A atualização do Wireshark é
feita da mesma forma que a instalação. Basta baixar e executar o instalador no Windows ou baixar e arrastar o
aplicativo no macOS. Uma reinicialização geralmente não é necessária e todas as suas configurações pessoais
permanecerão inalteradas.
Oferecemos dois canais de atualização, Stable e Development. O canal Stable é o padrão e só instala pacotes de
ramificações de lançamento estáveis (número par). O canal de Desenvolvimento instala pacotes candidatos a
lançamento e desenvolvimento quando eles estão disponíveis, e lançamentos estáveis caso contrário. Para configurar
seu canal de lançamento, vá em Preferências › Avançado e procure por “update.channel”. Consulte Preferências
para obter detalhes.
Machine Translated by Google
Interface de usuário
Introdução
Até agora você instalou o Wireshark e provavelmente está ansioso para começar a capturar seus primeiros pacotes.
Nos próximos capítulos exploraremos:
Inicie o Wireshark
GORJETA
Ao iniciar o Wireshark, é possível especificar configurações opcionais usando a linha de comando. Consulte
Iniciar o Wireshark na linha de comando para obter detalhes.
Os capítulos a seguir contêm muitas capturas de tela do Wireshark. Como o Wireshark é executado em muitas plataformas
diferentes com muitos gerenciadores de janela diferentes, diferentes estilos aplicados e há diferentes versões do kit de
ferramentas da GUI subjacente usado, sua tela pode parecer diferente das capturas de tela fornecidas. Mas como não há
diferenças reais na funcionalidade, essas capturas de tela ainda devem ser bem compreensíveis.
A janela principal
Vejamos a interface de usuário do Wireshark. A janela principal mostra o Wireshark como você normalmente o veria após
alguns pacotes serem capturados ou carregados (como fazer isso será descrito mais adiante).
Machine Translated by Google
A janela principal do Wireshark consiste em partes que são comumente conhecidas de muitas outras GUIs
programas.
2. A barra de ferramentas principal (consulte A barra de ferramentas “Principal”) fornece acesso rápido a itens usados com frequência de
o cardápio.
3. A barra de ferramentas de filtro (consulte A barra de ferramentas "Filtro") permite que os usuários definam filtros de exibição para filtrar quais
4. O painel da lista de pacotes (consulte o painel “Lista de pacotes”) exibe um resumo de cada pacote capturado. Ao clicar nos pacotes neste
5. O painel de detalhes do pacote (consulte O painel “Detalhes do pacote”) exibe o pacote selecionado no pacote
6. O painel de bytes de pacotes (consulte o painel "Bytes de pacotes") exibe os dados do pacote selecionado em
7. O painel do diagrama de pacotes (consulte o painel "Diagrama de pacotes") exibe o pacote selecionado no
8. A barra de status (consulte A barra de status) mostra algumas informações detalhadas sobre o estado atual do programa e os dados
capturados.
Machine Translated by Google
A lista de pacotes e a navegação detalhada podem ser feitas inteiramente a partir do teclado. A navegação do teclado mostra uma lista
de teclas que permitem que você se mova rapidamente em um arquivo de captura. Veja os itens do menu Ir para teclas de navegação
adicionais.
Acelerador Descrição
Tab ou Shift + Tab Mova-se entre os elementos da tela, por exemplo, das barras de ferramentas para a lista de pacotes e
ÿ
Mover para o próximo pacote ou item de detalhe.
ÿ
Mover para o pacote anterior ou item de detalhe.
Ctrl + ÿ ou F8 Mover para o próximo pacote, mesmo se a lista de pacotes não estiver em foco.
Ctrl + ÿ ou F7 Mover para o pacote anterior, mesmo se a lista de pacotes não estiver em foco.
ÿ
No detalhe do pacote, fecha o item da árvore selecionada. Se já estiver fechado, salta para o
nó pai.
ÿ
No detalhe do pacote, abre o item da árvore selecionada.
Shift + ÿ No detalhe do pacote, abre o item da árvore selecionada e todas as suas subárvores.
Ajuda › Sobre o Wireshark › Atalhos de teclado mostrará uma lista de todos os atalhos na janela principal. Além disso, digitar em
qualquer lugar na janela principal começará a preencher um filtro de exibição.
Machine Translated by Google
O cardápio
O menu principal do Wireshark está localizado na parte superior da janela principal (Windows, Linux) ou na parte superior da tela
principal (macOS). Um exemplo é mostrado no menu.
Alguns itens de menu serão desativados (esmaecidos) se o recurso correspondente não estiver disponível. Por
NOTA exemplo, você não pode salvar um arquivo de captura se não tiver capturado ou carregado nenhum pacote.
Figura 3. O Menu
Arquivo
Este menu contém itens para abrir e mesclar arquivos de captura, salvar, imprimir ou exportar arquivos de captura no todo ou em
parte e para sair do aplicativo Wireshark. Consulte o menu “Arquivo”.
Editar
Este menu contém itens para localizar um pacote, referência de tempo ou marcar um ou mais pacotes, lidar com perfis de
configuração e definir suas preferências; (recortar, copiar e colar não estão implementados atualmente). Veja o menu “Editar”.
Visualizar
Este menu controla a exibição dos dados capturados, incluindo colorização de pacotes, zoom da fonte, exibição de um pacote em
uma janela separada, expansão e redução de árvores nos detalhes do pacote, …. Consulte o menu “Visualizar”.
Vai
Este menu contém itens para ir para um pacote específico. Consulte o menu “Ir”.
Capturar
Este menu permite iniciar e parar capturas e editar filtros de captura. Veja a “Captura”
Cardápio.
Analisar
Este menu contém itens para manipular filtros de exibição, habilitar ou desabilitar a dissecação de protocolos, configurar
decodificações especificadas pelo usuário e seguir um fluxo TCP. Consulte o menu “Analisar”.
Estatisticas
Este menu contém itens para exibir várias janelas de estatísticas, incluindo um resumo dos pacotes que foram capturados, exibir
estatísticas de hierarquia de protocolo e muito mais. Consulte o menu “Estatísticas”.
Machine Translated by Google
Telefonia
Este menu contém itens para exibir várias janelas de estatísticas relacionadas à telefonia, incluindo uma análise de mídia, diagramas de fluxo,
Sem fio
Este menu contém itens para exibir estatísticas sem fio Bluetooth e IEEE 802.11.
Ferramentas
Este menu contém várias ferramentas disponíveis no Wireshark, como a criação de regras ACL de firewall.
Consulte o menu “Ferramentas”.
Ajuda
Este menu contém itens para ajudar o usuário, por exemplo, acesso a alguma ajuda básica, páginas de manual das várias ferramentas de
linha de comando, acesso online a algumas das páginas da Web e a caixa de diálogo usual sobre.
Cada um desses itens de menu é descrito com mais detalhes nas seções a seguir.
O menu “Arquivo”
O menu do arquivo Wireshark contém os campos mostrados nos itens do menu Arquivo.
Machine Translated by Google
Importar de Hex Dump… Este item de menu abre a caixa de diálogo de arquivo de
importação que permite importar um arquivo de texto contendo
um despejo hexadecimal para uma nova captura temporária.
Isso é discutido com mais detalhes em Import Hex Dump.
Machine Translated by Google
Perto Ctrl + W Este item de menu fecha a captura atual. Se você não salvou a
Salve ÿ Ctrl + S Este item de menu salva a captura atual. Se você não definiu um nome
captura como”).
esmaecido.
Você não pode salvar uma captura ao vivo enquanto a captura estiver
Salvar como… Shift + Ctrl + S Este item de menu permite que você salve o arquivo de captura atual em qualquer
Conjunto de arquivos › Listar arquivos Este item de menu permite mostrar uma lista de arquivos em um
Conjunto de arquivos › Próximo arquivo Se o arquivo carregado atualmente fizer parte de um conjunto de
Conjunto de arquivos › Arquivo anterior Se o arquivo carregado atualmente fizer parte de um conjunto de
Exportar pacotes especificados… Este item de menu permite exportar todos (ou alguns) dos
dados).
Machine Translated by Google
Imprimir… Ctrl + P Este item de menu permite imprimir todos (ou alguns) dos
pacotes no arquivo de captura. Ele abre a caixa de diálogo
de impressão do Wireshark (que é discutida mais adiante
em Pacotes de impressão).
O Menu “Editar”
O menu Editar do Wireshark contém os campos mostrados nos itens do menu Editar.
Machine Translated by Google
Localizar pacote… Ctrl + F Este item de menu abre uma barra de ferramentas que permite
localizar um pacote por vários critérios. Há mais informações
sobre como encontrar pacotes em Encontrar pacotes.
Encontre o próximo Ctrl + N Este item de menu tenta encontrar o próximo pacote que
corresponda às configurações de “Find Packet…”.
Localizar anterior Ctrl + B Este item de menu tenta encontrar o pacote anterior que
corresponda às configurações de “Find Packet…”.
Marcar/Desmarcar Pacote Ctrl + M Este item de menu marca o pacote atualmente selecionado.
Consulte Marcação de pacotes para obter detalhes.
Marcar todos os pacotes exibidos Ctrl + Shift + M Este item de menu marca todos os pacotes exibidos.
Desmarcar todos exibidos Ctrl + Alt + M Este item de menu desmarca todos os pacotes exibidos.
pacotes
Pacote Ignorar/Não Ignorar Ctrl + D Este item de menu marca o pacote atualmente selecionado
como ignorado. Consulte Ignorando pacotes para obter
detalhes.
Ignorar todos os exibidos Ctrl + Shift + D Este item de menu marca todos os pacotes exibidos como
ignorado.
Desconsiderar todos os exibidos Ctrl + Alt + D Este item de menu desmarca todos os pacotes ignorados.
Definir/desativar referência de tempo Ctrl + T Este item de menu define uma referência de tempo no
Desmarcar todas as referências de tempo Ctrl + Alt + T Este item de menu remove todas as referências de tempo em
os pacotes.
Referência da próxima vez Ctrl + Alt + N Este item de menu tenta encontrar na próxima vez
pacote referenciado.
Referência de tempo anterior Ctrl + Alt + B Este item de menu tenta localizar o pacote de referência de
tempo anterior.
Mudança de horário… Ctrl + Shift + T Abre a caixa de diálogo “Time Shift”, que permite ajustar os timestamps de
alguns ou de todos os pacotes.
Comentário do pacote… Ctrl + Alt + C Abre a caixa de diálogo “Comentário do pacote”, que permite
adicionar um comentário a um único pacote. Observe que a
capacidade de salvar os comentários do pacote depende do
formato do arquivo. Por exemplo, pcapng suporta comentários,
pcap não.
Perfis de configuração… Ctrl + Shift + A Este item de menu abre uma caixa de diálogo para lidar com perfis
de configuração. Mais detalhes são fornecidos em Perfis de
configuração.
Preferências… Ctrl + Shift + P ou Este item de menu abre uma caixa de diálogo que permite definir
Cmd + , (Mac OS) preferências para muitos parâmetros que controlam o
Wireshark. Você também pode salvar suas preferências para
que o Wireshark as use na próxima vez que você iniciá-lo. Mais
detalhes são fornecidos em Preferências.
Machine Translated by Google
O menu “Visualizar”
O menu Wireshark View contém os campos mostrados nos itens do menu View.
Barra de ferramentas principal Este item de menu oculta ou mostra a barra de ferramentas principal, consulte
Barra de ferramentas de filtro Este item de menu oculta ou mostra a barra de ferramentas do filtro, consulte
Barra de ferramentas sem fio Este item de menu oculta ou mostra a conexão sem fio
Barra de status Este item de menu oculta ou mostra a barra de status, consulte A barra
de status.
Lista de pacotes Este item de menu oculta ou mostra o painel da lista de pacotes, consulte
Bytes de pacote Este item de menu oculta ou mostra o painel de bytes de pacote, consulte o
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir os carimbos de
Data e hora do dia: hora no formato de data e hora do dia, consulte Formatos de
1970-01-01 01:02:03.123456 exibição de hora e referências de hora.
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Segundos desde o primeiro tempo em segundos desde o primeiro formato de pacote
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Segundos desde o pacote tempo em segundos desde o formato de pacote capturado
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Segundos desde o pacote tempo em segundos desde o formato de pacote exibido
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Automático (Formato de Ficheiro data/hora com a precisão fornecida pelo formato de arquivo
Precisão) de captura usado, consulte Formatos de exibição de hora e
referências de hora.
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Segundos: 0 tempo com uma precisão de um segundo, consulte Formatos
de exibição de tempo e referências de tempo.
Machine Translated by Google
Formato de exibição de hora … Selecionar isso diz ao Wireshark para exibir carimbos de
› segundos: 0…. tempo com uma precisão de um segundo, decisegundo,
centissegundo, milissegundo, microssegundo ou
Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de
Resolução de nomes › Resolver Este item permite acionar uma resolução de nome apenas do
Nome pacote atual, consulte Resolução de nomes.
Resolução de nomes › Habilitar Este item permite que você controle se o Wireshark traduz ou
para camada MAC não endereços MAC em nomes, consulte Resolução de nomes.
Resolução de nomes › Habilitar Este item permite que você controle se deseja ou não
Resolução de nomes › Ativar Este item permite que você controle se o Wireshark traduz ou
Colorir Lista de Pacotes Este item permite que você controle se o Wireshark deve ou
não colorir a lista de pacotes.
Rolagem automática na captura ao vivo Este item permite especificar que o Wireshark deve rolar o
painel da lista de pacotes à medida que novos pacotes chegam,
para que você esteja sempre olhando para o último pacote. Se
você não especificar isso, o Wireshark simplesmente adiciona
novos pacotes no final da lista, mas não rola o painel da lista de
pacotes.
Mais Zoom Ctrl + + Aumente o zoom nos dados do pacote (aumente o tamanho
da fonte).
Tamanho normal Ctrl + = Defina o nível de zoom de volta para 100% (defina o tamanho da fonte de
volta ao normal).
Machine Translated by Google
Redimensionar todas as colunas Shift + Ctrl + R Redimensione todas as larguras das colunas para que o conteúdo caiba
afim disso.
Recolher todos Ctrl + ÿ Este item de menu reduz a exibição em árvore de todos
os pacotes na lista de captura.
Colorir conversa Este item de menu abre um submenu que permite colorir os
pacotes no painel da lista de pacotes com base nos endereços
do pacote atualmente selecionado. Isso facilita a distinção de
pacotes pertencentes a diferentes conversas. Colorização de
pacotes.
Colorir conversa › Este item de menu abre uma janela de diálogo na qual uma
Nova regra de coloração… nova regra de coloração permanente pode ser criada com
base na conversa atualmente selecionada.
Regras de Coloração… Este item de menu abre uma caixa de diálogo que
permite colorir os pacotes no painel da lista de pacotes
de acordo com as expressões de filtro que você escolher.
Pode ser muito útil para detectar certos tipos de pacotes,
consulte Colorização de pacotes.
Machine Translated by Google
Tabelas de hash de conversa Mostra as tuplas (combinações de endereço e porta) usadas para identificar
cada conversa.
O Menu “Ir”
O menu Wireshark Go contém os campos mostrados nos itens do menu Go.
Machine Translated by Google
Ir para o pacote… Ctrl + G Abre uma moldura de janela que permite especificar um
número de pacote e, em seguida, vai para esse pacote.
Consulte Ir para um pacote específico para obter detalhes.
Pacote anterior Ctrl + ÿ Mover para o pacote anterior na lista. Isso pode ser usado para
mover para o pacote anterior, mesmo que a lista de pacotes
não tenha o foco do teclado.
Machine Translated by Google
Próximo Pacote Ctrl + ÿ Mover para o próximo pacote na lista. Isso pode ser usado
para mover para o pacote anterior, mesmo que a lista de
pacotes não tenha o foco do teclado.
Entrada anterior do pacote Ctrl + , Mover para o pacote anterior na conversa atual. Isso
Conversação pode ser usado para mover para o
Próximo pacote de entrada Ctrl + . Mover para o próximo pacote na conversa atual.
Conversação Isso pode ser usado para mover para o
O menu “Capturar”
O menu Captura do Wireshark contém os campos mostrados nos itens do menu Captura.
Capturar filtros… Mostra uma caixa de diálogo que permite criar e editar filtros
de captura. Você pode nomear filtros e salvá-los para uso
futuro. Consulte Definindo e salvando filtros.
O Menu “Analisar”
O menu Wireshark Analyze contém os campos mostrados nos itens do menu Analyze.
Filtros de exibição… Exibe uma caixa de diálogo que permite criar e editar
filtros de exibição. Você pode nomear os filtros e salvá-los
para uso futuro. Consulte Definindo e salvando filtros.
Exibir macros de filtro… Mostra uma caixa de diálogo que permite criar e editar
macros de filtro de exibição. Você pode nomear macros de
filtro e salvá-las para uso futuro.
Consulte Definindo e salvando macros de filtro.
Aplicar como coluna Shift + Ctrl + I Adiciona o item de protocolo selecionado no pacote
painel de detalhes como uma coluna para a lista de pacotes.
Preparar como Filtro Altere o filtro de exibição atual, mas não o aplicará.
Dependendo do item de menu escolhido, a string de filtro de
exibição atual será substituída ou anexada pelo campo de
protocolo selecionado no painel de detalhes do pacote.
Siga › Fluxo TCP Abre uma janela que exibe todos os segmentos
TCP capturados que estão na mesma conexão TCP de
um pacote selecionado. Consulte Seguindo fluxos de
protocolo.
Siga › Fluxo UDP Mesma funcionalidade que “Follow TCP Stream”, mas para
UDP “streams”.
Siga › Transmissão TLS Mesma funcionalidade que “Follow TCP Stream”, mas para
fluxos TLS ou SSL. Veja a página wiki em TLS para obter
instruções sobre como fornecer chaves TLS.
Siga › Fluxo HTTP Mesma funcionalidade que “Follow TCP Stream”, mas para
fluxos HTTP.
Machine Translated by Google
O Menu “Estatísticas”
O menu Estatísticas do Wireshark contém os campos mostrados nos itens do menu Estatísticas.
Cada item de menu abre uma nova janela mostrando estatísticas específicas.
Capturar propriedades do arquivo Mostrar informações sobre o arquivo de captura, consulte a caixa de
diálogo “Propriedades do arquivo de captura”.
Machine Translated by Google
F5 Ver F5
O Menu “Telefonia”
O menu Telefonia do Wireshark contém os campos mostrados nos itens do menu Telefonia.
Janela de Análise
O menu “Ferramentas”
O menu Ferramentas do Wireshark contém os campos mostrados nos itens do menu Ferramentas.
Machine Translated by Google
Regras de firewall ACL Isso permite que você crie regras ACL de linha de
comando para vários produtos de firewall diferentes,
incluindo Cisco IOS, Linux Netfilter (iptables), OpenBSD pf
e Windows Firewall (via netsh).
Regras para endereços MAC, endereços IPv4, portas TCP
e UDP e combinações de portas IPv4+ são suportadas.
O menu “Ajuda”
O menu Ajuda do Wireshark contém os campos mostrados nos itens do menu Ajuda.
Local na rede Internet Este item de menu inicia um navegador da Web mostrando
a página da Web em: https://www.wireshark.org/.
perguntas frequentes Este item de menu inicia um navegador da Web mostrando várias
perguntas frequentes.
A abertura de um navegador da Web pode não ser suportada em sua versão do Wireshark. Se este for o
caso, os itens de menu correspondentes serão ocultados.
NOTA
Se a chamada de um navegador da Web falhar em sua máquina, nada acontecer ou o navegador iniciar,
mas nenhuma página for exibida, verifique a configuração do navegador da Web na caixa de diálogo de
preferências.
A barra de ferramentas principal fornece acesso rápido a itens do menu usados com frequência. Esta barra de ferramentas não
pode ser customizada pelo usuário, mas pode ser ocultada através do menu Exibir caso o espaço na tela seja necessário para
mostrar mais pacotes de dados.
Os itens na barra de ferramentas serão ativados ou desativados (esmaecidos) de maneira semelhante aos itens de menu
correspondentes. Por exemplo, a imagem abaixo mostra a barra de ferramentas da janela principal após a abertura de um
arquivo. Vários botões relacionados a arquivos estão habilitados, mas o botão de parada de captura está desabilitado porque
uma captura não está em andamento.
Machine Translated by Google
[Salvar como… ] Arquivo › Salvar como… Salve o arquivo de captura atual em qualquer arquivo
que desejar. Consulte a caixa de diálogo “Salvar arquivo
de captura como” para obter detalhes. Se você tiver um
arquivo de captura temporário aberto, o ícone "Salvar"
será exibido.
[ Fechar ] Arquivo › Fechar Fecha a captura atual. Se você não salvou a captura,
você será solicitado a salvá-la primeiro.
[ Encontrar pacote… ] Editar › Find Packet… Encontre um pacote com base em diferentes critérios.
Consulte Encontrar pacotes para obter detalhes.
[Ir para o primeiro Ir › Primeiro Pacote Ir para o primeiro pacote do arquivo de captura.
Pacote ]
[Ir para o último Ir › Último Pacote Ir para o último pacote do arquivo de captura.
Pacote ]
[Rolagem Automática ao VivoVisualizar › Rolagem Automática Lista de pacotes de rolagem automática ao fazer uma
[ Reduzir o zoom ] Ver › Zoom Out Diminui o zoom dos dados do pacote (reduz o tamanho da fonte).
[ Tamanho normal ] Exibir › Tamanho normal Defina o nível de zoom de volta para 100%.
[ Redimensionar colunas ] Visualizar › Redimensionar Redimensione as colunas para que o conteúdo caiba
colunas nelas.
A barra de ferramentas do filtro permite editar e aplicar filtros de exibição rapidamente. Mais informações sobre filtros de exibição estão
Filtro de entrada A área para inserir ou editar uma string de filtro de exibição, consulte
Construindo Expressões de Filtro de Exibição. Uma verificação de sintaxe
de sua string de filtro é feita enquanto você digita. O fundo ficará vermelho
se você inserir uma string incompleta ou inválida e ficará verde quando você
inserir uma string válida.
Aplicar Aplique o valor atual na área de edição como o novo filtro de exibição.
[Esquilo ls] Botão de filtro Os botões de filtro são atalhos úteis que aplicam um filtro de exibição assim
que você os pressiona. Você pode criar botões de filtro pressionando o botão
[+] , clicando com o botão direito do mouse na área do botão de filtro ou
abrindo a seção Botão de filtro da caixa de diálogo Preferências. O exemplo
mostra um botão de filtro com o rótulo “Esquilos”. Se você tiver muitos botões,
poderá organizá-los em grupos usando “//” como separador de rótulo. Por
exemplo, se você criar botões chamados “Não são esquilos // Coelhos” e
“Não são esquilos // Capivaras”, eles aparecerão na barra de ferramentas
sob um único botão chamado “Não são esquilos”.
Cada linha na lista de pacotes corresponde a um pacote no arquivo de captura. Se você selecionar uma linha neste painel, mais
detalhes serão exibidos nos painéis “Packet Details” e “Packet Bytes”.
Ao dissecar um pacote, o Wireshark colocará as informações dos dissecadores de protocolo nas colunas. Como os protocolos
de nível superior podem sobrescrever informações de níveis inferiores, normalmente você verá apenas as informações do nível
mais alto possível.
Por exemplo, vejamos um pacote contendo TCP dentro de IP dentro de um pacote Ethernet. O dissecador Ethernet gravará seus
dados (como os endereços Ethernet), o dissecador IP sobrescreverá por conta própria (como os endereços IP), o dissecador
TCP sobrescreverá as informações IP e assim por diante.
Existem muitas colunas diferentes disponíveis. Você pode escolher quais colunas são exibidas nas preferências. Consulte
Preferências.
• [ No. ] O número do pacote no arquivo de captura. Este número não mudará, mesmo se um display
filtro é usado.
A primeira coluna mostra como cada pacote está relacionado ao pacote selecionado. Por exemplo, na imagem acima está
selecionado o primeiro pacote, que é uma requisição DNS. O Wireshark mostra uma seta para a direita para a solicitação em si,
seguida por uma seta para a esquerda para a resposta no pacote 2. Por que há uma linha tracejada? Existem mais pacotes DNS
mais abaixo que usam os mesmos números de porta. O Wireshark os trata como pertencentes à mesma conversa e desenha
uma linha conectando-os.
Solicitar.
Resposta.
O pacote selecionado está relacionado a este pacote de alguma outra forma, por exemplo,
como parte da remontagem.
A lista de pacotes possui uma barra de rolagem inteligente que mostra um mapa em miniatura dos pacotes próximos. Cada linha
raster da barra de rolagem corresponde a um único pacote, portanto, o número de pacotes mostrados no mapa depende de sua
exibição física e da altura da lista de pacotes. Uma lista de pacotes alta em uma tela de alta resolução (“Retina”) mostrará alguns
pacotes. Na imagem acima a barra de rolagem mostra o status de mais de 500 pacotes junto com os 15 mostrados na própria
lista de pacotes.
Clicar com o botão direito mostrará um menu de contexto, descrito em Menu pop-up do painel “Lista de pacotes”.
O painel de detalhes do pacote mostra o pacote atual (selecionado no painel “Lista de pacotes”) de forma mais detalhada.
Este painel mostra os protocolos e campos de protocolo do pacote selecionado no painel “Packet List”.
Machine Translated by Google
As linhas de resumo do protocolo (rótulos da subárvore) e os campos do pacote são mostrados em uma árvore que pode ser
expandida e recolhida.
Há um menu de contexto (clique com o botão direito do mouse) disponível. Veja os detalhes no menu pop-up do painel
“Detalhes do pacote”.
• Campos gerados. O próprio Wireshark gerará informações de protocolo adicionais que não estão presentes nos dados
capturados. Essas informações estão entre colchetes (“[” e “]”).
As informações geradas incluem tempos de resposta, análise de TCP, informações de geolocalização de IP e validação
de soma de verificação.
• Ligações. Se o Wireshark detectar um relacionamento com outro pacote no arquivo de captura, ele gerará um link para
esse pacote. Os links são sublinhados e exibidos em azul. Se você clicar duas vezes em um link, o Wireshark pulará para
o pacote correspondente.
O painel “Packet Bytes” mostra um despejo hexadecimal canônico dos dados do pacote. Cada linha contém o deslocamento
de dados, dezesseis bytes hexadecimais e dezesseis bytes ASCII. Os bytes não imprimíveis são substituídos por um ponto
(“.”).
Dependendo dos dados do pacote, às vezes mais de uma página está disponível, por exemplo, quando o Wireshark reagrupou
alguns pacotes em um único bloco de dados. (Consulte Remontagem de pacotes para obter detalhes). Nesse caso, você pode
ver cada fonte de dados clicando na guia correspondente na parte inferior do painel.
O modo padrão de visualização destacará os bytes de um campo onde o ponteiro do mouse está pairando acima. O realce
seguirá o cursor do mouse enquanto ele se move. Se este destaque não for necessário ou desejado, existem dois métodos
para desativar a funcionalidade:
• Temporário Ao manter pressionado o botão Ctrl enquanto move o mouse, o campo destacado será
não mude
• Permanentemente usando o menu de contexto (clique com o botão direito do mouse), o destaque do foco pode ser
ativado/desativado. Esta configuração é armazenada no arquivo recente do perfil selecionado .
Machine Translated by Google
As guias adicionais geralmente contêm dados remontados de vários pacotes ou dados descriptografados.
Este painel mostra os protocolos e campos de protocolo de nível superior do pacote selecionado no painel “Packet List” como uma
série de diagramas.
Há um menu de contexto (clique com o botão direito do mouse) disponível. Para obter detalhes, consulte o menu pop-up do painel
“Diagrama de pacotes”.
A barra de status
A barra de status exibe mensagens informativas.
Machine Translated by Google
Em geral, o lado esquerdo mostrará informações relacionadas ao contexto, a parte do meio mostrará informações sobre o arquivo
de captura atual e o lado direito mostrará o perfil de configuração selecionado. Arraste as alças entre as áreas de texto para
alterar o tamanho.
Esta barra de status é mostrada enquanto nenhum arquivo de captura é carregado, por exemplo, quando o Wireshark é iniciado.
A bala colorida…
à esquerda mostra o nível mais alto de informações especializadas encontrado no arquivo de captura carregado no momento.
Passar o mouse sobre este ícone mostrará uma descrição do nível de informações do especialista e clicar no ícone abrirá a
caixa de diálogo Informações do especialista. Para obter uma descrição detalhada dessa caixa de diálogo e de cada nível de
especialista, consulte Informações para especialistas.
O ícone de edição…
no lado esquerdo permite adicionar um comentário ao arquivo de captura usando a caixa de diálogo Propriedades do arquivo
de captura.
O lado esquerdo…
mostra o nome do arquivo de captura por padrão. Ele também mostra informações de campo ao passar o mouse e selecionar
itens nos painéis de detalhes do pacote e bytes do pacote, bem como notificações gerais.
O meio…
mostra o número atual de pacotes no arquivo de captura. Os seguintes valores são exibidos:
pacotes
Exibido O
marcado
Derrubado
O número de pacotes descartados Exibido apenas se o Wireshark não conseguiu capturar todos os pacotes.
ignorado
O lado direito…
mostra o perfil de configuração selecionado. Clicar nesta parte da barra de status abrirá um menu com todos os perfis
de configuração disponíveis, e selecionar nesta lista alterará o perfil de configuração.
Para obter uma descrição detalhada dos perfis de configuração, consulte Perfis de configuração.
Isso é exibido se você tiver selecionado um campo de protocolo no painel "Detalhes do pacote".
O valor entre parênteses (neste exemplo “ipv6.src”) é o campo de filtro de exibição do item selecionado.
GORJETA
Você pode se familiarizar mais com os campos de filtro de exibição selecionando diferentes itens de
detalhes do pacote.
Isso é exibido se você estiver tentando usar um filtro de exibição que pode ter resultados inesperados.
Machine Translated by Google
• Interrompa a captura em diferentes acionadores, como a quantidade de dados capturados, o tempo decorrido ou o
número de pacotes.
• Filtre os pacotes, reduzindo a quantidade de dados a serem capturados. Consulte Filtragem durante a captura.
• Salvar pacotes em vários arquivos durante uma captura de longo prazo, alternando opcionalmente por um número fixo de
arquivos (um “ringbuffer”). Consulte Capturar arquivos e modos de arquivo.
• Interrompa a captura (ou execute alguma outra ação) dependendo dos dados capturados.
Pré-requisitos
Configurar o Wireshark para capturar pacotes pela primeira vez pode ser complicado. Um guia abrangente “Como configurar
uma captura” está disponível em https://gitlab.com/wireshark/wireshark/wikis/ CaptureSetup.
• Você pode precisar de privilégios especiais para iniciar uma captura ao vivo.
• Você precisa escolher a interface de rede correta para capturar os dados do pacote.
• Você precisa capturar no lugar certo na rede para ver o tráfego que deseja ver.
Se você tiver algum problema ao configurar seu ambiente de captura, consulte o guia mencionado acima.
Comece a Capturar
Os seguintes métodos podem ser usados para iniciar a captura de pacotes com o Wireshark:
• Você pode selecionar uma interface na tela de boas-vindas e, em seguida, selecionar Capturar › Iniciar ou clicar no primeiro
Machine Translated by Google
• Você pode obter informações mais detalhadas sobre as interfaces disponíveis usando as “Opções de captura”
Caixa de Diálogo (Capturar › Opções…).
$ wireshark -i eth0 -k
Isso iniciará a captura do Wireshark na interface eth0. Mais detalhes podem ser encontrados em Iniciar o Wireshark na
linha de comando.
Algumas interfaces permitem ou exigem configuração antes da captura. Isso será indicado por um ícone de configuração
( ) à esquerda do nome da interface. Clicar no ícone mostrará a caixa de diálogo de configuração dessa interface.
Passar o mouse sobre uma interface mostrará todos os endereços IPv4 e IPv6 associados e seu filtro de captura.
O Wireshark não se limita apenas a interfaces de rede - na maioria dos sistemas, você também pode capturar USB,
Machine Translated by Google
Bluetooth e outros tipos de pacotes. Observe também que uma interface pode estar oculta se estiver inacessível ao
Wireshark ou se estiver oculta conforme descrito na caixa de diálogo “Gerenciar interfaces”.
Interface
O nome da interface.
Algumas interfaces permitem ou exigem configuração antes da captura. Isso será indicado por um ícone de
configuração ( ) à esquerda interface.
do nome da interface. Clicar no ícone mostrará a caixa de diálogo de configuração dessa
Tráfego
O tipo de pacote capturado por esta interface. Em alguns casos é possível mudar isso. Consulte Tipo de cabeçalho
da camada de link para obter mais detalhes.
Promíscuo
Permite colocar esta interface em modo promíscuo durante a captura. Observe que outro aplicativo pode substituir
essa configuração.
Machine Translated by Google
Snaplen
O tamanho do instantâneo ou o número de bytes a serem capturados para cada pacote. Você pode definir um comprimento
explícito, se necessário, por exemplo, por motivos de desempenho ou privacidade.
Amortecedor
O tamanho do buffer do kernel que é reservado para capturar pacotes. Você pode aumentar ou diminuir conforme necessário,
mas o padrão geralmente é suficiente.
Modo Monitor
Permite capturar cabeçalhos 802.11 completos e brutos. O suporte depende do tipo de interface, hardware, driver e sistema
operacional. Observe que habilitar isso pode desconectá-lo de sua rede sem fio.
Filtro de Captura
O filtro de captura aplicado a esta interface. Você pode editar o filtro clicando duas vezes sobre ele. Consulte Filtragem durante a
captura para obter mais detalhes sobre os filtros de captura.
Passar o mouse sobre uma interface ou expandi-la mostrará todos os endereços IPv4 e IPv6 associados.
Se “Ativar o modo promíscuo em todas as interfaces” estiver ativado, as configurações individuais do modo promíscuo acima serão
substituídas.
“Filtro de captura para interfaces selecionadas” pode ser usado para definir um filtro para mais de uma interface ao mesmo tempo.
[Gerenciar Interfaces] abre a caixa de diálogo “Gerenciar Interfaces” onde pipes podem ser definidos, interfaces locais escaneadas
ou ocultas, ou interfaces remotas adicionadas.
[Compile Selected BPFs] abre a caixa de diálogo “Compiled Filter Output”, que mostra o bytecode compilado para seu filtro de
captura. Isso pode ajudar a entender melhor o filtro de captura que você criou.
A execução de BPFs pode ser acelerada no Linux ativando a compilação BPF Just In Time executando
GORJETA
$ echo 1 >/proc/sys/net/core/bpf_jit_enable
se ainda não estiver ativado. Para tornar a alteração persistente, você pode usar sysfsutils.
Machine Translated by Google
Arquivo
Este campo permite especificar o nome do arquivo que será usado para o arquivo de captura. É deixado em branco por padrão. Se
deixado em branco, os dados de captura serão armazenados em um arquivo temporário. Consulte Capturar arquivos e modos de
arquivo para obter detalhes. Você também pode clicar no botão à direita deste campo para navegar pelo sistema de arquivos.
Formato de saída
Permite definir o formato do arquivo de captura. pcapng é o padrão e é mais flexível que pcap. pcapng pode ser necessário, por
exemplo, se mais de uma interface for escolhida para captura. Consulte https://gitlab.com/wireshark/wireshark/wikis/Development/
Define as condições para alternar um novo arquivo de captura. Um novo arquivo de captura pode ser criado com base nas seguintes
condições:
Vários arquivos apenas. Forme um buffer de anel dos arquivos de captura com o número de arquivos fornecido.
Mais detalhes sobre arquivos de captura podem ser encontrados em Arquivos de captura e modos de arquivo.
Machine Translated by Google
Opções de exibição
Atualiza o painel de lista de pacotes em tempo real durante a captura. Se você não ativar isso, o Wireshark não exibirá
nenhum pacote até que você pare a captura. Quando você verifica isso, o Wireshark captura em um processo separado e
alimenta as capturas para o processo de exibição.
Role o painel da lista de pacotes à medida que novos pacotes chegam, para que você esteja sempre olhando para o pacote
mais recente. Se você não especificar isso, o Wireshark adiciona novos pacotes à lista de pacotes, mas não rola o painel da
lista de pacotes. Esta opção fica acinzentada se a opção “Atualizar lista de pacotes em tempo real” estiver desativada.
Se esta opção estiver habilitada, a caixa de diálogo de informações de captura descrita em Enquanto uma captura está sendo
executada … será exibida enquanto os pacotes são capturados.
Resolução do nome
Consulte Resolução de nomes para obter mais detalhes sobre cada uma dessas opções.
Machine Translated by Google
Você pode clicar duas vezes em uma linha da interface na guia “Input” ou clicar em [Iniciar] em qualquer guia para iniciar a
captura. Você pode clicar em [Cancelar] para aplicar suas alterações e fechar a caixa de diálogo.
A caixa de diálogo “Gerenciar interfaces” mostra inicialmente a guia “Interfaces locais”, que permite gerenciar o seguinte:
exposição
Se deve ou não mostrar ou ocultar esta interface na tela de boas-vindas e na caixa de diálogo “Opções de captura”.
Nome amigável
Um nome para a interface que é legível por humanos.
Nome da Interface
Comente
A guia “Pipes” permite capturar de um pipe nomeado. Para adicionar um pipe com sucesso, seu pipe nomeado associado já deve
ter sido criado. Clique em [+] e digite o nome do pipe incluindo seu caminho. Alternativamente, [Browse] pode ser usado para
localizar o tubo.
No Microsoft Windows, a guia “Interfaces remotas” permite capturar de uma interface em uma máquina diferente. O serviço
Remote Packet Capture Protocol deve primeiro estar em execução na plataforma de destino antes que o Wireshark possa se
conectar a ela.
No Linux ou Unix, você pode capturar (e fazer isso com mais segurança) por meio de um túnel SSH.
Para adicionar uma nova interface de captura remota, clique em [ + ] e especifique o seguinte:
Hospedar
O endereço IP ou nome do host da plataforma de destino em que o serviço Remote Packet Capture Protocol está atendendo.
A lista suspensa contém os hosts que foram contatados anteriormente com sucesso. A lista pode ser esvaziada escolhendo
“Limpar lista” na lista suspensa.
Porta
Defina o número da porta em que o serviço Remote Packet Capture Protocol está escutando. Deixe em branco para usar a
porta padrão (2002).
autenticação nula
Selecione esta opção se não precisar que a autenticação ocorra para que uma captura remota seja iniciada. Isso depende da
plataforma de destino. Isso é exatamente tão seguro quanto parece, ou seja, não é nada seguro.
autenticação de senha
Permite especificar o nome de usuário e a senha necessários para se conectar ao serviço Remote Packet Capture Protocol.
Cada interface pode opcionalmente ser ocultada. Ao contrário das interfaces locais, elas não são salvas no arquivo de preferências .
Certifique-se de ter acesso externo à porta 2002 na plataforma de destino. Esta é a porta padrão usada pelo
NOTA
serviço Remote Packet Capture Protocol.
Para remover um host incluindo todas as suas interfaces da lista, selecione-o e clique no botão [-] .
Na lista à esquerda, os nomes das interfaces são listados. Os resultados da compilação de um filtro para a interface
selecionada são mostrados à direita.
Por padrão, o Wireshark salva os pacotes em um arquivo temporário. Você também pode dizer ao Wireshark para
salvar em um arquivo específico (“permanente”) e mudar para um arquivo diferente após um determinado tempo
decorrido ou um determinado número de pacotes capturados. Essas opções são controladas na guia “Saída” da caixa
de diálogo “Opções de captura”.
Trabalhar com arquivos grandes (várias centenas de MB) pode ser bastante lento. Se você planeja fazer uma captura
de longo prazo ou de uma rede de alto tráfego, pense em usar uma das opções de “Arquivos múltiplos”. Isso espalhará
GORJETA
os pacotes capturados por vários arquivos menores, que podem ser muito mais agradáveis de se trabalhar.
Usar a opção “Vários arquivos” pode cortar informações relacionadas ao contexto. O Wireshark mantém informações de contexto dos
dados do pacote carregado, para que possa relatar problemas relacionados ao contexto (como um erro de fluxo) e mantém informações
sobre protocolos relacionados ao contexto (por exemplo, onde os dados são trocados na fase de estabelecimento e apenas referidos em
pacotes posteriores). Como ele mantém essas informações apenas para o arquivo carregado, usar um dos vários modos de arquivo pode
cortar esses contextos. Se a fase de estabelecimento for salva em um arquivo e as coisas que você gostaria de ver estiverem em outro,
talvez você não veja algumas das valiosas informações relacionadas ao contexto.
Informações sobre as pastas usadas para os arquivos de captura podem ser encontradas em Arquivos e Pastas.
Nome do arquivo “Criar um “Use um buffer Modo Nome(s) de arquivo resultante(s) usado(s)
novo arquivo…" de anel…”
- - - wiresharkXXXXXX (onde
Único arquivo temporário
XXXXXX é um número único)
- -
foo.cap Arquivo com nome único foo.cap
x -
foo.cap Vários arquivos, foo_00001_20230714110102.cap,
contínuos foo_00002_20230714110318.cap, …
Um arquivo temporário será criado e usado (este é o padrão). Depois que a captura é interrompida, este arquivo pode ser salvo
posteriormente com um nome especificado pelo usuário.
Um único arquivo de captura será usado. Escolha este modo se desejar colocar o novo arquivo de captura em uma pasta específica.
Como o modo “Arquivo com nome único”, mas um novo arquivo é criado e usado depois de atingir uma das várias condições de troca
de arquivo (um dos valores “Próximo arquivo a cada…”).
Muito parecido com “Múltiplos arquivos contínuos”, atingir uma das condições de troca de vários arquivos (um dos valores “Próximo
arquivo a cada…”) mudará para o próximo arquivo. Este será um arquivo recém-criado se o valor de “Ring buffer with n files” não for
alcançado, caso contrário, ele substituirá o mais antigo dos arquivos usados anteriormente (formando assim um “anel”).
Machine Translated by Google
Este modo limitará o uso máximo do disco, mesmo para uma quantidade ilimitada de dados de entrada de captura, mantendo
apenas os últimos dados capturados.
Na maioria dos casos, você não precisará modificar o tipo de cabeçalho da camada de link. Algumas exceções são as seguintes:
Se você estiver capturando em um dispositivo Ethernet, pode ser oferecida a opção de “Ethernet” ou “DOCSIS”.
Se você estiver capturando o tráfego de um Cisco Cable Modem Termination System que está colocando o tráfego DOCSIS na Ethernet
para ser capturado, selecione "DOCSIS", caso contrário, selecione "Ethernet".
Se você estiver capturando em um dispositivo 802.11 em algumas versões do BSD, pode ser oferecida a opção de “Ethernet” ou
“802.11”. “Ethernet” fará com que os pacotes capturados tenham cabeçalhos Ethernet falsos (“cozidos”). “802.11” fará com que eles
tenham cabeçalhos IEEE 802.11 completos. A menos que a captura precise ser lida por um aplicativo que não suporte cabeçalhos
802.11, você deve selecionar “802.11”.
Se você estiver capturando em um cartão Endace DAG conectado a uma linha serial síncrona, pode ser oferecida a opção de “PPP
sobre serial” ou “Cisco HDLC”. Se o protocolo na linha serial for PPP, selecione “PPP over serial” e se o protocolo na linha serial for
Cisco HDLC, selecione “Cisco HDLC”.
Se você estiver capturando em um cartão Endace DAG conectado a uma rede ATM, poderá ser oferecida a opção “RFC 1483 IP-over-
ATM” ou “Sun raw ATM”. Se o único tráfego sendo capturado for IP encapsulado RFC 1483 LLC, ou se a captura precisar ser lida por
um aplicativo que não suporte cabeçalhos SunATM, selecione “RFC 1483 IP-over-ATM”, caso contrário, selecione “Sun raw ATM ”.
Você insere o filtro de captura no campo “Filtro” da caixa de diálogo “Opções de captura” do Wireshark, conforme mostrado na guia de
entrada “Opções de captura”.
Um filtro de captura assume a forma de uma série de expressões primitivas conectadas por conjunções (e/ ou) e opcionalmente
precedidas por não:
Um exemplo é mostrado em Um filtro de captura para telnet que captura o tráfego de e para um determinado host.
Machine Translated by Google
Exemplo 1. Um filtro de captura para telnet que captura o tráfego de e para um determinado host
Este exemplo captura o tráfego telnet de e para o host 10.0.0.5 e mostra como usar duas primitivas e a
conjunção e . Outro exemplo é mostrado em Capturando todo o tráfego telnet não de 10.0.0.5 e mostra como
capturar todo o tráfego telnet, exceto o de 10.0.0.5.
Se não forem especificados, os pacotes serão selecionados para os protocolos TCP e UDP e quando o endereço especificado
aparecer no campo de porta de origem ou de destino.
menor|maior <comprimento>
Essa primitiva permite filtrar pacotes cujo comprimento era menor ou igual ao comprimento especificado ou maior ou igual ao
comprimento especificado, respectivamente.
Essa primitiva permite filtrar o protocolo especificado na camada Ethernet ou na camada IP.
ether|ip broadcast|multicast
Essa primitiva permite criar expressões de filtro complexas que selecionam bytes ou intervalos de bytes em pacotes. Consulte
a página de manual pcap-filter em https://www.tcpdump.org/manpages/pcap filter.7.html para mais detalhes.
Se o Wireshark estiver sendo executado remotamente (usando, por exemplo, SSH, uma janela X11 exportada, um servidor de
terminal, …), o conteúdo remoto deve ser transportado pela rede, adicionando muitos pacotes (geralmente sem importância) ao
tráfego realmente interessante.
Para evitar isso, o Wireshark tenta descobrir se está conectado remotamente (observando algumas variáveis de ambiente
específicas) e cria automaticamente um filtro de captura que corresponde a aspectos da conexão.
SSH_CONNECTION (ssh)
SSH_CLIENT (ssh)
<nome remoto>
EXIBIÇÃO (x11)
<nome remoto>
Machine Translated by Google
No Windows, ele pergunta ao sistema operacional se está sendo executado em um ambiente de Serviços de Área de Trabalho Remota.
Você pode ver a seguinte caixa de diálogo durante a execução de uma captura:
Esta caixa de diálogo mostra uma lista de protocolos e suas atividades ao longo do tempo. Ele pode ser ativado por meio da configuração
“capture.show_info” nas preferências “Avançadas”.
Uma sessão de captura em execução será interrompida de uma das seguintes maneiras:
4. Pressionando Ctrl + E .
5. A captura será interrompida automaticamente se uma das condições de parada for atendida, por exemplo, o
quantidade máxima de dados foi capturada.
Uma sessão de captura em execução pode ser reiniciada com as mesmas opções de captura da última vez, isso removerá todos os pacotes
capturados anteriormente. Isso pode ser útil, se alguns pacotes desinteressantes forem capturados e não houver necessidade de mantê-los.
Reiniciar é uma função de conveniência e equivalente a uma parada de captura seguida de um início de captura imediato. Uma reinicialização
pode ser acionada de uma das seguintes maneiras:
• Pacotes de impressão
ferramentas. O Wireshark então abrirá a caixa de diálogo “Arquivo aberto”, que é discutida com mais detalhes na caixa de diálogo “Abrir arquivo
de captura”.
Se você ainda não salvou o arquivo de captura atual, será solicitado a fazê-lo para evitar a perda de dados. Este aviso pode ser desabilitado
nas preferências.
Além de seu formato de arquivo nativo (pcapng), o Wireshark também pode ler e gravar arquivos de captura de um grande número de outros
programas de captura de pacotes. Consulte Formatos de arquivo de entrada para obter a lista de formatos de captura que o Wireshark entende.
A caixa de diálogo “Abrir arquivo de captura” permite que você procure um arquivo de captura contendo pacotes capturados anteriormente para
exibição no Wireshark. As seções a seguir mostram alguns exemplos da caixa de diálogo “Abrir arquivo” do Wireshark. A aparência desta caixa
de diálogo depende do sistema. No entanto, a funcionalidade deve ser a mesma em todos os sistemas.
• Clique no botão [Cancelar] para voltar ao Wireshark e não carregar um arquivo de captura.
Machine Translated by Google
• Exibir informações de visualização de arquivo, como o tamanho e o número de pacotes em um arquivo selecionado
arquivo de captura.
• Especifique um filtro de leitura com o campo “Filtro de leitura”. Este filtro será usado ao abrir o novo arquivo. O plano de fundo do
campo de texto ficará verde para uma sequência de filtro válida e vermelho para uma inválida.
Os filtros de leitura podem ser usados para excluir vários tipos de tráfego, o que pode ser útil para grandes arquivos de captura.
Eles usam a mesma sintaxe dos filtros de exibição, que são discutidos em detalhes em Filtrando pacotes durante a exibição.
• Opcionalmente, force o Wireshark a ler um arquivo como um tipo específico usando a opção “Detectar arquivo automaticamente
tipo” drop-down.
Esta é a caixa de diálogo comum de abertura de arquivo do Windows junto com algumas extensões do Wireshark.
Machine Translated by Google
Esta é a caixa de diálogo aberta do arquivo Qt comum junto com algumas extensões do Wireshark.
• pcap. O formato padrão usado pela biblioteca de captura de pacotes libpcap . Usado por tcpdump, _Snort,
Nmap, Ntop e muitas outras ferramentas.
• pcapng. Um sucessor flexível e extensível do formato pcap. Wireshark 1.8 e posterior salvam arquivos como pcapng por
padrão. Versões anteriores a 1.8 usavam pcap. Usado pelo Wireshark e pelo tcpdump em versões mais recentes do macOS.
Os seguintes formatos de arquivo de outras ferramentas de captura podem ser abertos pelo Wireshark:
• Saída de texto gerada por Gammu de telefones Nokia DCT3 no modo Netmonitor
Pode não ser possível ler alguns formatos dependentes dos tipos de pacotes capturados. As capturas de Ethernet geralmente são suportadas
para a maioria dos formatos de arquivo, mas pode não ser possível ler outros tipos de pacotes, como PPP ou IEEE 802.11 de todos os formatos
de arquivo.
Nem todas as informações serão salvas em um arquivo de captura. Por exemplo, a maioria dos formatos de arquivo não registra o número de
A caixa de diálogo “Salvar arquivo de captura como” permite salvar a captura atual em um arquivo. A aparência exata desta caixa de diálogo
depende do seu sistema. No entanto, a funcionalidade é a mesma em todos os sistemas. Exemplos são mostrados abaixo.
Este é o diálogo comum de salvamento de arquivos do Windows com algumas extensões adicionais do Wireshark.
• Especifique o formato do arquivo de captura salvo clicando na caixa suspensa “Salvar como”. Você pode escolher entre os
tipos descritos em Formatos de arquivo de saída. Alguns formatos de captura podem não estar disponíveis dependendo dos
tipos de pacotes capturados.
• “Compactar com gzip” irá compactar o arquivo de captura enquanto ele é gravado no disco.
• Clique no botão [Cancelar] para voltar ao Wireshark sem salvar nenhum pacote.
Se você não fornecer uma extensão de arquivo ao nome do arquivo (por exemplo, .pcap) , o Wireshark anexará a extensão de
arquivo padrão para esse formato de arquivo.
Se você deseja salvar alguns dos pacotes em seu arquivo de captura, você pode fazê-lo através da caixa de diálogo “Exportar
pacotes especificados”.
Machine Translated by Google
O Wireshark pode salvar os dados do pacote em seu formato de arquivo nativo (pcapng) e nos formatos de arquivo de outros
analisadores de protocolo para que outras ferramentas possam ler os dados de captura.
NOTA Salvar seu arquivo em um formato diferente pode perder informações como comentários, resolução de nome e
resolução de carimbo de data/hora. Consulte Carimbos de hora para obter mais informações sobre carimbos de
hora.
Os seguintes formatos de arquivo podem ser salvos pelo Wireshark (com as extensões de arquivo conhecidas):
• pcap (*.pcap). O formato padrão usado pela biblioteca de captura de pacotes libpcap . Usado por tcpdump,
_Snort, Nmap, Ntop e muitas outras ferramentas.
Se as ferramentas acima serão ou não mais úteis do que o Wireshark é uma questão diferente ;-)
NOTA O Wireshark examina o conteúdo de um arquivo para determinar seu tipo. Alguns outros analisadores de protocolo
examinam apenas a extensão de um arquivo. Por exemplo, pode ser necessário usar a extensão .cap para abrir um
arquivo usando a versão Windows do Sniffer.
Às vezes, você precisa mesclar vários arquivos de captura em um. Por exemplo, isso pode ser útil se você tiver capturado simultaneamente
de várias interfaces de uma só vez (por exemplo, usando várias instâncias do Wireshark).
• Use o menu Arquivo › Mesclar para abrir a caixa de diálogo “Mesclar”. Consulte “Mesclar com arquivo de captura”
Caixa de Diálogo para detalhes. Este item de menu será desabilitado a menos que você tenha carregado um arquivo de captura.
• Use arrastar e soltar para soltar vários arquivos na janela principal. O Wireshark tentará mesclar os pacotes em ordem cronológica dos
arquivos descartados em um arquivo temporário recém-criado. Se você soltar um único arquivo, ele simplesmente substituirá a captura
existente.
• Use a ferramenta mergecap na linha de comando para mesclar arquivos de captura. Esta ferramenta oferece mais opções para mesclar
arquivos de captura. Consulte mergecap: Mesclando vários arquivos de captura em um para obter detalhes.
Isso permite selecionar um arquivo a ser mesclado no arquivo carregado no momento. Se seus dados atuais não foram salvos, você será
solicitado a salvá-los primeiro.
A maioria dos controles desta caixa de diálogo funcionará da mesma forma descrita na caixa de diálogo “Abrir arquivo de captura”. Consulte
a caixa de diálogo “Abrir arquivo de captura” para obter detalhes.
Anexar pacotes
Mesclar cronologicamente
Anexar pacotes
Esta é a caixa de diálogo comum de abertura de arquivo do Windows com extensões adicionais do Wireshark.
O Wireshark pode ler em um despejo hexadecimal e gravar os dados descritos em um arquivo de captura libpcap temporário. Ele pode ler
despejos hexadecimais com vários pacotes e criar um arquivo de captura de vários pacotes. Ele também é capaz de gerar cabeçalhos
fictícios de Ethernet, IP e UDP, TCP ou SCTP, a fim de criar dumps de pacotes totalmente processáveis a partir de hexdumps apenas de
dados no nível do aplicativo.
Como alternativa, um cabeçalho PDU fictício pode ser adicionado para especificar um dissecador para o qual os dados devem ser passados
Machine Translated by Google
para inicialmente.
Em operação normal, cada linha deve começar com um deslocamento descrevendo a posição no pacote, seguido de dois
pontos, espaço ou tabulação separando-a dos bytes. Não há limite na largura ou no número de bytes por linha, mas as linhas
com apenas bytes hexadecimais sem um deslocamento à esquerda são ignoradas (ou seja, quebras de linha não devem ser
inseridas em linhas longas que quebram). Os deslocamentos têm mais de dois dígitos; eles estão em hexadecimal por
padrão, mas também podem estar em octal ou decimal. Cada pacote deve começar com deslocamento zero, e um
deslocamento zero indica o início de um novo pacote. Os valores de deslocamento devem estar corretos; um valor inesperado
faz com que o pacote atual seja interrompido e o início do próximo pacote seja aguardado. Há também um modo de pacote
único sem deslocamentos.
Os pacotes podem ser precedidos por um indicador de direção ('I' ou 'O') e/ou um timestamp, se indicado. Se ambos
estiverem presentes, o indicador de direção precede o carimbo de data/hora. O formato dos timestamps deve ser especificado.
Se nenhum registro de data e hora for analisado, no caso do primeiro pacote, o horário atual do sistema é usado, enquanto
os pacotes subsequentes são gravados com registros de data e hora um microssegundo depois do pacote anterior.
Outro texto nos dados de entrada é ignorado. Qualquer texto antes do deslocamento é ignorado, incluindo os caracteres de
encaminhamento de e-mail '>'. Qualquer texto em uma linha após os bytes é ignorado, por exemplo, um despejo de caractere
ASCII (mas consulte -a para garantir que os dígitos hexadecimais no despejo de caractere sejam ignorados). Qualquer linha
em que o primeiro caractere que não seja um espaço em branco seja um '#' será ignorado como um comentário. Quaisquer
linhas de texto entre as linhas bytestring são consideradas preâmbulo; o início do preâmbulo é digitalizado em busca do
indicador de direção e carimbo de data/hora conforme mencionado acima e, caso contrário, é ignorado.
Qualquer linha começando com #TEXT2PCAP é uma diretiva e as opções podem ser inseridas após este comando para
serem processadas pelo Wireshark. Atualmente não há diretivas implementadas; no futuro, eles podem ser usados para
fornecer um controle mais refinado sobre o despejo e a maneira como ele deve ser processado, por exemplo, carimbos de
data/hora, tipo de encapsulamento, etc.
Em geral, tirando essas restrições, o Wireshark é bastante liberal quanto à leitura em hexdumps e foi testado com uma
variedade de saídas distorcidas (incluindo o encaminhamento por e-mail várias vezes, com quebra de linha limitada, etc.)
Aqui está um dump de amostra que pode ser importado, incluindo indicador direcional opcional e carimbo de data/hora:
Machine Translated by Google
I 2019-05-14T19:04:57Z
000000 00 e0 1e a7 05 6f 00 10 ........
000008 5a a0 b9 12 08 00 46 00 ........
000010 03 68 00 00 00 00 0a 2e ........ 000018
ee 33 0f 19 08 7f 0f 19 ........ 000020 03 80
94 04 00 00 10 01 ....... .
000028 16 a2 0a 00 03 50 00 0c ........
000030 01 01 0f 19 03 80 11 01 ........
O Wireshark também é capaz de escanear a entrada usando uma expressão regular Perl personalizada, conforme
especificado pelo GRegex do GLib aqui. Usando um regex capturando um único pacote no arquivo fornecido, o Wireshark
pesquisará o arquivo fornecido do início ao penúltimo caractere (o último caractere deve ser \n e é ignorado) para
correspondência de strings não sobrepostas (e não vazias) o regex fornecido e, em seguida, identifique os campos a serem
importados usando subgrupos de captura nomeados. Usando as informações de formato fornecidas para cada campo, eles
são decodificados e traduzidos em um arquivo libpcap padrão, mantendo a ordem dos pacotes.
Observe que cada subgrupo de captura nomeado deve corresponder exatamente uma vez a um pacote, mas eles podem
estar presentes várias vezes no regex.
Deve-se ter cuidado ao descartar as âncoras ^ e $, pois a entrada é pesquisada, não analisada, o que significa que mesmo
as expressões regulares mais incorretas produzirão resultados de aparência válida quando não estiverem ancoradas (no
entanto, não há garantia de que as âncoras evitem isso). Geralmente, é recomendável verificar a sanidade de todos os
arquivos criados usando essa conversão.
Machine Translated by Google
Campos suportados:
O único campo obrigatório. Isso deve corresponder aos dados binários codificados capturados e é usado como os dados reais do
quadro a serem importados.
O campo capturado será analisado de acordo com o formato de carimbo de data/hora fornecido em um carimbo de data/hora.
Se nenhum carimbo de data/hora estiver presente, um contador arbitrário contará segundos e nanossegundos em um para cada pacote.
Espera-se que o campo capturado tenha um caractere de comprimento, quaisquer caracteres restantes são ignorados (por exemplo,
dado "Input" apenas o 'I' é examinado). Esse caractere é comparado a listas de caracteres correspondentes a entrada e saída e o
pacote recebe a direção correspondente. Se nenhuma das listas resultar em correspondência, a direção será definida como desconhecida.
Se este campo não for especificado, todo o arquivo não possui informações direcionais.
Cada pacote pode receber um ID arbitrário que pode ser usado como campo pelo Wireshark. Este campo é considerado um número
inteiro positivo de base 10. Este campo pode, por exemplo, ser usado para reordenar capturas fora de ordem após a importação.
Se este campo não for fornecido, nenhum ID estará presente no arquivo resultante.
Figura 42. A caixa de diálogo “Importar de Hex Dump” no modo Hex Dump
Os controles específicos desta caixa de diálogo de importação são divididos em três seções:
Origem do arquivo
Formato de entrada
Encapsulamento
Origem do arquivo
Insira o nome do arquivo de texto a ser importado. Você pode usar Procurar para procurar um arquivo.
Formato de entrada
Esta seção é dividida em duas alternativas para conversão de entrada, acessíveis nas duas Abas "Hex
Além das entradas específicas do modo de conversão, também existem parâmetros comuns, atualmente apenas o formato timestamp.
Machine Translated by Google
Compensações
Selecione a base dos deslocamentos fornecidos no arquivo de texto a ser importado. Isso geralmente é hexadecimal, mas
decimal e octal também são suportados. Selecione Nenhum quando apenas os bytes estiverem presentes. Estes serão
importados como um único pacote.
Indicação de direção
Marque esta caixa se o arquivo de texto a importar tiver indicadores de direção antes de cada quadro. Eles estão em uma linha
separada antes de cada quadro e começam com I ou i para entrada e O ou o para saída.
Figura 43. A aba "Regular Expression" dentro da caixa de diálogo "Import from Hex Dump".
Este é o regex usado para pesquisar pacotes e metadados dentro do arquivo de entrada. Os subgrupos de captura nomeados
são usados para localizar os campos individuais. As âncoras ^ e $ são definidas para corresponder diretamente antes e depois
das novas linhas \n ou \r\n. Ver GREGEX para uma documentação completa.
Codificação de dados
A codificação usada para os dados binários. As codificações suportadas são hexadecimal simples, -octal, -binary e base64.
Simples aqui significa que nenhum caractere adicional está presente no campo de dados além dos espaços em branco, que são
ignorados. Quaisquer caracteres inesperados abortam o processo de importação.
``
Os espaços em branco ignorados são \r, \n, \t, \v, e apenas para hex :, apenas para base64 =.
Quaisquer bytes incompletos no final do campo são considerados preenchimento para preencher o último byte completo.
Esses bits devem ser zero, no entanto, isso não é verificado.
Indicação de direção
As listas de caracteres que indicam pacotes de entrada vs. pacotes de saída. Esses campos estão disponíveis apenas quando
o regex contém um grupo (?<dir>…) .
itens comuns
Machine Translated by Google
Este é o especificador de formato usado para analisar os carimbos de data/hora no arquivo de texto a ser importado. Ele usa o
mesmo formato que strptime(3) com a adição de %f para frações de segundos preenchidas com zero. A precisão de %f é determinada
a partir de seu comprimento. Os campos mais comuns são %H, %M e %S para horas, minutos e segundos. O formato direto
HH:MM:SS é coberto por %T. Para obter uma definição completa da sintaxe, procure strptime(3),
No modo Regex, este campo só está disponível quando um grupo (?<time>…) está presente.
No modo Hex Dump, se não houver registros de data e hora no arquivo de texto a ser importado, deixe este campo vazio e os
registros de data e hora serão gerados com base na hora da importação.
Encapsulamento
Tipo de encapsulamento
Aqui você pode selecionar o tipo de moldura que está importando. Tudo isso depende de que tipo de mídia o despejo para importar
foi feito. Ele lista todos os tipos que o Wireshark entende, de modo a passar o conteúdo do arquivo de captura para o dissector
correto.
Cabeçalho fictício
Quando o encapsulamento Ethernet é selecionado, você tem a opção de anexar cabeçalhos fictícios aos quadros a serem importados.
Esses cabeçalhos podem fornecer cabeçalhos Ethernet, IP, UDP, TCP ou SCTP artificiais ou blocos de dados SCTP. Ao selecionar
um tipo de cabeçalho fictício, as entradas aplicáveis são habilitadas, outras são acinzentadas e os valores padrão são usados.
Quando o encapsulamento de exportação do Wireshark Upper PDU é selecionado, a opção ExportPDU fica disponível. Isso permite
que você selecione o nome do dissecador para o qual esses quadros serão direcionados.
Você pode não estar interessado nos quadros completos do arquivo de texto, apenas na primeira parte. Aqui você pode definir
quantos dados do início do quadro você deseja importar. Se você deixar isso aberto, o máximo será definido como 256kiB.
Depois que todos os parâmetros de entrada e importação estiverem configurados, clique em [Importar] para iniciar a importação. Se
seus dados atuais não foram salvos antes, você será solicitado a salvá-los primeiro.
Se o botão de importação não desbloquear, verifique se todos os parâmetros de encapsulamento estão no intervalo esperado e se todos
os campos desbloqueados foram preenchidos ao usar o modo regex (o texto do espaço reservado não é usado como padrão).
Quando concluído, um novo arquivo de captura será carregado com os quadros importados do arquivo de texto.
Conjuntos de arquivos
Ao usar a opção “Múltiplos arquivos” ao fazer uma captura (consulte: Capturar arquivos e modos de arquivo), o
Machine Translated by Google
os dados de captura são distribuídos por vários arquivos de captura, chamados de conjunto de arquivos.
Como pode se tornar tedioso trabalhar com um conjunto de arquivos manualmente, o Wireshark fornece alguns recursos para lidar com esses conjuntos de
Um nome de arquivo em um conjunto de arquivos usa o formato Prefix_Number_DateTimeSuffix, que pode ser semelhante a
test_00001_20230714183910.pcap. Todos os arquivos de um conjunto de arquivos compartilham o mesmo prefixo (por exemplo, “teste”) e sufixo (por
Para encontrar os arquivos de um conjunto de arquivos, o Wireshark verifica o diretório onde o arquivo carregado atualmente reside e verifica se há
arquivos que correspondam ao padrão de nome de arquivo (prefixo e sufixo) do arquivo carregado atualmente.
Esse mecanismo simples geralmente funciona bem, mas tem suas desvantagens. Se vários conjuntos de arquivos foram capturados com o mesmo
prefixo e sufixo, o Wireshark irá detectá-los como um único conjunto de arquivos. Se os arquivos forem renomeados ou espalhados por vários diretórios,
Os seguintes recursos no submenu Arquivo › Conjunto de arquivos estão disponíveis para trabalhar com conjuntos de arquivos de maneira conveniente:
• A caixa de diálogo “List Files” listará os arquivos que o Wireshark reconheceu como parte do
conjunto de arquivos atual.
• [ Próximo arquivo ] fecha o arquivo atual e abre o próximo arquivo no conjunto de arquivos.
• [Arquivo anterior] fecha o arquivo atual e abre o arquivo anterior no conjunto de arquivos.
Nome do arquivo
O nome do arquivo. Se você clicar no nome do arquivo (ou no botão de opção à esquerda dele), o arquivo atual será fechado e
o arquivo de captura correspondente será aberto.
Criado
Última modificação
Tamanho
O tamanho do arquivo.
A última linha conterá informações sobre o diretório usado atualmente, onde todos os arquivos do conjunto de arquivos podem ser
encontrados.
O conteúdo desta caixa de diálogo é atualizado cada vez que um arquivo de captura é aberto/fechado.
Exportando Dados
O Wireshark fornece uma variedade de opções para exportar pacotes de dados. Esta seção descreve as funções gerais
Machine Translated by Google
maneiras de exportar dados do aplicativo Wireshark principal. Existem muitas outras maneiras de exportar ou extrair dados de
arquivos de captura, incluindo processar a saída do tshark e personalizar o Wireshark e o TShark usando scripts Lua.
Isso é semelhante à caixa de diálogo “Salvar” , mas permite salvar pacotes específicos. Isso pode ser útil para cortar pacotes
irrelevantes ou indesejados de um arquivo de captura. Consulte Intervalo de pacotes para obter detalhes sobre os controles de
intervalo.
Isso permite que você salve a lista de pacotes, os detalhes do pacote e os bytes do pacote como texto simples, CSV, JSON e
outros formatos.
Machine Translated by Google
O formato pode ser selecionado no menu suspenso “Exportar como” e ainda mais personalizado usando os controles “Intervalo de pacotes” e
“Formato de pacotes” . Alguns controles não estão disponíveis para alguns formatos, principalmente CSV e JSON. Os seguintes formatos são
suportados:
Texto simples
Quadro 1: 1454 bytes no fio (11632 bits), 1454 bytes capturados (11632 bits)
Ethernet II, Src: 00:50:56:c0:00:01, Dst: 00:0c:29:42:12:13 Internet Protocol
Version 4, Src: 200.121.1.131 (200.121.1.131), Dst: 172.16. 0.122 (172.16.0.122) 0100 ....
= Versão: 4
.... 0101 = Comprimento do Cabeçalho: 20 bytes (5)
Campo de Serviços Diferenciados: 0x00 (DSCP: CS0, ECN: Não-ECT)
Comprimento Total: 1440
Identificação: 0x0141 (321)
Flags: 0x0000 ...0
0000 0000 0000 = Deslocamento do fragmento: 0 Tempo
de vida: 106 Protocolo: TCP (6)
Se você quiser importar quaisquer pacotes exportados anteriormente de um arquivo de texto simples, é recomendável
fazer o seguinte:
• Desative Editar › Preferências › Protocolos › Dados “Mostrar dados não dissecados em novos
GORJETA
CSV
"Não.","Hora","Fonte","Destino","Protocolo","Comprimento","SSID","Informações","Tamanho do Win"
"2","0.000011","172.16.0.122","200.121.1.131","TCP","54","","[TCP reconheceu segmento não visto] 80 > 10554 [ACK] Seq=1 Ack=11201 Vitória=53200 Len=0","53200"
"3","0.025738","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Spurious Retransmission] 10554 > 80 [ACK] Seq=1401 Ack=1 Win =65535 Len=1400 [segmento TCP de uma PDU remontada]","65535"
"4","0.025749","172.16.0.122","200.121.1.131","TCP","54","","[TCP Window Update] [TCP ACKed unseed segment] 80 > 10554 [ACK] Seq =1 Ack=11201 Vitória=63000 Len=0","63000"
"5","0.076967","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Previous segment not capture] [TCP Spurious Retransmission] 10554 > 80 [ACK] Seq=4201 Ack=1 Win=65535 Len=1400 [segmento TCP de uma PDU remontada]","65535"
JSON
{ "_index": "packets-2014-06-22", "_type": "doc", "_score": null, "_source": { "layers": { "frame": { "frame.encap_type": "1", "frame.time": "22 de junho
"frame.cap_len": " 86", "frame.marked": "0", "frame.ignored": "0", "frame.protocols": "eth:ethertype:ipv6:icmpv6", "frame.coloring_rule.name": "ICMP" ,
ÿ
Machine Translated by Google
"eth.addr_resolved": "33:33:ff:9e:e3:8e", "eth.addr.oui": "3355647", "eth.dst.lg": "1", "eth.lg": "1", "eth.dst.ig": "1", "eth.ig": "1" }, "eth.src": "00:01:5c:62:8c:46", "eth. src_tree": { "eth.src_resolved": "00:01:5c:62:8c:46", "eth.src.oui": "348", "eth.src.oui_resolved": "Cadant Inc.", "eth.addr": "00:01:5c:62:8c:46", "eth.addr_resolved": "00:01:5c:62:8c:46", "eth.addr.oui": "348 ", "eth.addr.oui_resolved": "Cadant Inc.", "eth.src.lg": "0", "eth.lg": "0", "eth.src.ig": "0", "eth.ig": "0" }, "eth.type": "0x000086dd" }, "ipv6": { "ipv6.version": "6", "ip.version": "6", "ipv6. tclass": "0x00000000", "ipv6.tclass_tree": { "ipv6.tclass.dscp": "0", "ipv6.tclass.ecn": "0" }, "ipv6.flow": "0x00000000", " ipv6.plen": "32", "ipv6.nxt": "58", "ipv6.hlim": "255", "ipv6.src": "2001:558:4080:16::1", "ipv6 .addr": "2001:558:4080:16::1", "ipv6.src_host": "2001:558:4080:16::1", "ipv6.host": "2001:558:4080:16 ::1", "ipv6.dst": "ff02::1:ff9e:e38e", "ipv6.addr": "ff02::1:ff9e:e38e", "ipv6.dst_host": "ff02: :1:ff9e:e38e", "ipv6.host": "ff02::1:ff9e:e38e", "ipv6.geoip.src_summary": "EUA, ASN 7922, Comcast Cable Communications, LLC", "ipv6.geoip .src_summary_tree": { "ipv6.geoip.src_country": "Estados Unidos", "ipv6.geoip.country": "Estados Unidos", "ipv6.geoip.src_country_iso": "EUA",
ÿ
Machine Translated by Google
"ipv6.geoip.country_iso": "US", "ipv6.geoip.src_asnum": "7922", "ipv6.geoip.asnum": "7922", "ipv6.geoip.src_org": "Comcast Cable Communications, LLC ", "ipv6.geoip.org": "Comcast Cable Communications,
LLC", "ipv6.geoip.src_lat": "37.751", "ipv6.geoip.lat": "37.751", "ipv6.geoip.src_lon": "-97.822", "ipv6.geoip.lon": "-97.822" } }, "icmpv6": { "icmpv6.type": "135", "icmpv6.code": "0", "icmpv6.checksum" : "0x00005b84",
"icmpv6.checksum.status": "1", "icmpv6.reservado": "00:00:00:00", "icmpv6.nd.ns.target_address": "2001:558:4080: 16:be36:e4ff:fe9e:e38e", "icmpv6.opt": { "icmpv6.opt.type": "1", "icmpv6.opt.length": "1",
}}]
Exporte os bytes selecionados no painel “Packet Bytes” para um arquivo binário bruto.
Machine Translated by Google
Nome do arquivo
A extensão do arquivo.
A caixa de diálogo “Exportar PDUs para Arquivo…” permite filtrar as Unidades de Dados de Protocolo (PDUs) capturadas e exportá-las para o arquivo. Ele permite
que você exporte PDUs remontados evitando camadas inferiores, como HTTP sem TCP, e PDUs descriptografados sem os protocolos inferiores, como HTTP sem
TLS e TCP.
1. No menu principal, selecione Arquivo › Exportar PDUs para arquivo…. O Wireshark abrirá um correspondente
2. Para selecionar os dados de acordo com suas necessidades, digite opcionalmente um valor de filtro no campo Filtro de
exibição . Para obter mais informações sobre a sintaxe do filtro, consulte os Filtros do Wireshark página man.
3. No campo abaixo do campo Filtro de exibição , você pode escolher o nível do qual deseja
exporte as PDUs para o arquivo. Existem sete níveis:
uma. Usuário DLT. Você pode exportar um protocolo, que é enquadrado na tabela do tipo de link de dados do usuário sem
a necessidade de reconfigurar a tabela do usuário DLT. Para obter mais informações, consulte o artigo Como dissecar
qualquer coisa página.
b. DVB-CI. Você pode usá-lo para o protocolo Digital Video Broadcasting (DVB).
d. Camada OSI 3. Você pode usá-la para exportar PDUs encapsulados nos protocolos IPSec ou SCTP.
e. Camada OSI 4. Você pode usá-la para exportar PDUs encapsulados nos protocolos TCP ou UDP.
f. Camada OSI 7. Você pode usá-lo para exportar os seguintes protocolos: CredSSP sobre TLS, Diameter, protocolos
encapsulados em TLS e DTLS, H.248, Megaco, RELOAD framing, SIP, SMPP.
Como desenvolvedor, você pode adicionar qualquer dissector à lista existente ou definir uma nova
NOTA
entrada na lista usando as funções em epan/exported_pdu.h.
4. Para concluir a exportação de PDUs para arquivo, clique no botão [OK] no canto inferior direito. Isso fechará o arquivo
originalmente capturado e abrirá os resultados exportados como um arquivo temporário na janela principal do Wireshark.
5. Você pode salvar o arquivo temporário como qualquer arquivo capturado. Consulte Salvando pacotes capturados para
detalhes.
O arquivo produzido tem um tipo de encapsulamento Wireshark Upper PDU que tem suporte um pouco
NOTA limitado fora do Wireshark, mas é muito flexível e pode conter PDUs para qualquer protocolo para o qual
exista um Wireshark dissector.
Machine Translated by Google
A caixa de diálogo “Strip Headers…” permite filtrar tipos de encapsulamento conhecidos em qualquer camada de protocolo em que
apareçam e exportá-los para um novo arquivo de captura, removendo protocolos de nível inferior.
Ele permite exportar pacotes e quadros remontados sem camadas inferiores, como GPF, GRE, GSE, GTP-U, MPLS, MPE, PPP e muito
mais. Se o Wireshark executou a descriptografia, você pode exportar o IP descriptografado de protocolos como IEEE 802.11 ou IPSec
sem precisar salvar as chaves de criptografia.
1. No menu principal, selecione Arquivo › Tirar cabeçalhos…. O Wireshark abrirá uma caixa de diálogo correspondente.
2. Para selecionar os dados de acordo com suas necessidades, digite opcionalmente um valor de filtro no campo Filtro de exibição .
Para obter mais informações sobre a sintaxe do filtro, consulte os Filtros do Wireshark página man.
3. No campo abaixo do campo Display Filter você pode escolher o tipo de encapsulamento que deseja
encontre e exporte para o arquivo. Existem dois encapsulamentos suportados:
uma. Ethernet. Você pode usá-lo para exportar Ethernet encapsulado em outros protocolos.
b. IP. Você pode usá-lo para exportar IPv4 e IPv6 encapsulados em outros protocolos.
Como desenvolvedor, você pode adicionar encapsulamentos à lista usando as funções em epan/
NOTA
exported_pdu.h.
4. Para finalizar a exportação para arquivo, clique no botão [ OK ] no canto inferior direito. Isso fechará o arquivo originalmente
capturado e abrirá os resultados exportados como um arquivo temporário na janela principal do Wireshark.
5. Você pode salvar o arquivo temporário como qualquer arquivo capturado. Consulte Salvando pacotes capturados para
detalhes.
Os novos arquivos de captura produzidos têm tipos de encapsulamento padrão e podem ser lidos em
NOTA
praticamente qualquer ferramenta.
O Transport Layer Security (TLS) criptografa a comunicação entre um cliente e um servidor. O uso mais comum é a navegação na web
via HTTPS.
A descriptografia do tráfego TLS requer segredos TLS. Você pode obtê-los na forma de chaves de sessão armazenadas em um "arquivo
de registro de chave" ou usando um arquivo de chave privada RSA. Para obter mais detalhes, consulte a página wiki do TLS.
A opção de menu Arquivo › Exportar Chaves de Sessão TLS… gera um novo "arquivo de registro de chave" que contém os segredos
da sessão TLS conhecidos pelo Wireshark. Esse recurso é útil se você costuma descriptografar sessões TLS usando o arquivo de chave
privada RSA. A chave privada RSA é muito sensível porque pode ser usada para descriptografar outras sessões TLS e representar o
servidor. As chaves de sessão podem ser usadas apenas para descriptografar
Machine Translated by Google
sessões do arquivo de captura de pacotes. No entanto, as chaves de sessão são o mecanismo preferido para compartilhar dados
pela Internet.
1. No menu principal, selecione Arquivo › Exportar Chaves de Sessão TLS…. O Wireshark abrirá um
caixa de diálogo correspondente Janela Exportar Chaves de Sessão TLS.
Este recurso verifica os fluxos do protocolo selecionado no arquivo de captura aberto no momento ou captura em execução e permite
ao usuário exportar objetos remontados para o disco. Por exemplo, se você selecionar HTTP, poderá exportar documentos HTML,
imagens, executáveis e quaisquer outros arquivos transferidos por HTTP para o disco. Se você tiver uma captura em execução, esta
lista será atualizada automaticamente a cada poucos segundos com quaisquer novos objetos vistos. Os objetos salvos podem então
ser abertos ou examinados independentemente do Wireshark.
Machine Translated by Google
Colunas:
Pacote
O número do pacote no qual este objeto foi encontrado. Em alguns casos, pode haver vários objetos no mesmo pacote.
nome de anfitrião
Tipo de conteúdo
Tamanho
Nome do arquivo: o nome do arquivo para este objeto. Cada protocolo gera o nome do arquivo de forma diferente. Por exemplo, HTTP
usa a parte final do URI e IMF usa o assunto do e-mail.
Entradas:
Filtro de texto
Ajuda
Salvar tudo
Salva todos os objetos (incluindo aqueles não exibidos) usando o nome de arquivo da coluna de nome de arquivo.
Você será perguntado em qual diretório ou pasta salvá-los.
Perto
Salve ÿ
Salva o objeto atualmente selecionado como um nome de arquivo que você especificar. O nome de arquivo padrão para salvar
é obtido da coluna de nome de arquivo da lista de objetos.
Imprimindo Pacotes
Para imprimir pacotes, selecione o item de menu Arquivo › Imprimir… . O Wireshark exibirá a caixa de diálogo “Imprimir” conforme
mostrado abaixo.
A caixa de diálogo “Imprimir” mostra uma área de visualização que mostra o resultado da alteração das configurações do formato do pacote. Você pode
aumentar e diminuir o zoom usando as teclas + e - e redefinir o nível de zoom usando a tecla 0.
Formato do pacote
Permite especificar o que será impresso. Consulte o quadro “Formato do pacote” para obter detalhes.
Linha de resumo
Inclua uma linha de resumo para cada pacote. A linha conterá os mesmos campos da lista de pacotes.
Detalhes
bytes
Intervalo de pacotes
Selecione os pacotes a serem impressos. Consulte o quadro “Intervalo de pacotes” para obter detalhes.
Por padrão, é definido o botão [Exibido] , que apenas exporta ou imprime os pacotes que correspondem ao filtro de exibição atual.
Selecionar [Capturado] exportará ou imprimirá todos os pacotes. Você pode limitar ainda mais o que exporta ou imprime para o seguinte:
Todos os pacotes
pacote selecionado
pacotes marcados
Alcance
Permite especificar manualmente um intervalo de pacotes, por exemplo, 5,10-15,20- processará o pacote número cinco, os pacotes
do pacote dez ao quinze (inclusive) e todos os pacotes do número vinte até o final da captura.
O quadro do formato do pacote também faz parte das caixas de diálogo “Export Packet Dissections” e “Print” .
Você pode usá-lo para especificar quais partes da dissecação são exportadas ou impressas.
Cada uma das configurações abaixo corresponde à lista de pacotes, detalhes de pacotes e bytes de pacotes na janela principal.
Exporte ou imprima cada linha de resumo conforme mostrado no painel “Lista de pacotes”.
Detalhes do pacote
Todos recolhidos
Exporte ou imprima como se a árvore “Detalhes do pacote” estivesse no estado “todos recolhidos”.
Como exibido
Exporte ou imprima como se a árvore “Detalhes do pacote” estivesse no estado “conforme exibido”.
Tudo expandido
Exporte ou imprima como se a árvore “Detalhes do pacote” estivesse no estado “tudo expandido”.
Bytes de pacote
Para impressão e alguns formatos de exportação, coloque cada pacote em uma página separada. Por exemplo, ao exportar para
um arquivo de texto, isso colocará um caractere de feed de formulário entre cada pacote.
Machine Translated by Google
Você pode então expandir qualquer parte da árvore para visualizar informações detalhadas sobre cada protocolo em cada
pacote. Clicar em um item na árvore destacará os bytes correspondentes na visualização de bytes. Um exemplo com um
pacote TCP selecionado é mostrado no Wireshark com um pacote TCP selecionado para visualização.
Ele também possui o número de confirmação no cabeçalho TCP selecionado, que aparece na exibição de bytes como os
bytes selecionados.
Você também pode selecionar e visualizar pacotes da mesma forma enquanto o Wireshark está capturando se você
selecionou “Atualizar lista de pacotes em tempo real” na caixa de diálogo “Preferências de captura”.
Além disso, você pode visualizar pacotes individuais em uma janela separada, conforme mostrado em Visualizando um
pacote em uma janela separada. Você pode fazer isso clicando duas vezes em um item na lista de pacotes ou selecionando
o pacote em que está interessado no painel da lista de pacotes e selecionando Exibir › Mostrar pacote em nova janela.
Isso permite que você compare facilmente dois ou mais pacotes, mesmo em vários arquivos.
Machine Translated by Google
Além de clicar duas vezes na lista de pacotes e usar o menu principal, há várias outras maneiras de abrir uma nova janela de
pacotes:
• Mantenha pressionada a tecla shift e clique duas vezes em um link de quadro nos detalhes do pacote.
Menus pop-up
Você pode abrir um menu pop-up sobre a “Lista de pacotes”, seu título de coluna, “Detalhes do pacote” ou “Bytes do pacote”
clicando com o botão direito do mouse no item correspondente.
A tabela a seguir fornece uma visão geral de quais funções estão disponíveis neste cabeçalho, onde encontrar a função correspondente
no menu principal e uma descrição de cada item.
Tabela 18. Os itens de menu do menu pop-up do cabeçalho da coluna “Lista de pacotes”
Item Descrição
Editar coluna Abra a barra de ferramentas do editor de colunas para esta coluna.
Não., Hora, Fonte, et al. Mostre ou oculte uma coluna selecionando seu item.
Remover coluna Remova esta coluna, semelhante a excluí-la na caixa de diálogo “Preferências”.
A tabela a seguir fornece uma visão geral de quais funções estão disponíveis neste painel, onde encontrar a função correspondente
no menu principal e uma breve descrição de cada item.
correspondente
cardápio
item
Ignorar pacote (alternar) Editar Ignore ou inspecione este pacote enquanto analisa o arquivo de captura.
tempo (alternar)
Mudança de horário Editar Abre a caixa de diálogo “Time Shift”, que permite ajustar os timestamps de
alguns ou de todos os pacotes.
Comentário do pacote… Editar Abre a caixa de diálogo “Comentário do pacote”, que permite adicionar um
comentário a um único pacote. Observe que a capacidade de salvar os
comentários do pacote depende do formato do arquivo. Por exemplo, pcapng
suporta comentários, pcap não.
Machine Translated by Google
correspondente
cardápio
item
Editar nome resolvido Permite inserir um nome para resolver o endereço selecionado.
Aplicar como filtro Analisar Substitua ou acrescente imediatamente o filtro de exibição atual com base na
lista de pacotes mais recente ou no item de detalhes do pacote selecionado.
O primeiro item do submenu mostra o filtro e
Preparar como Filtro Analisar Altere o filtro de exibição atual com base na lista de pacotes mais recente ou no
item de detalhes do pacote selecionado, mas não o aplique. O primeiro item
do submenu mostra o filtro e os itens subseqüentes mostram as diferentes
maneiras pelas quais o filtro pode ser alterado.
Colorir conversa Crie uma nova regra de coloração com base nas informações de endereço do
pacote selecionado.
Siga › Fluxo TCP Analisar Abre uma janela que exibe todos os segmentos TCP capturados que
estão na mesma conexão TCP de um pacote selecionado. Consulte
Seguindo fluxos de protocolo.
Siga › Fluxo UDP Analisar Mesma funcionalidade de “Follow TCP Stream”, mas para UDP
“fluxos”.
Siga › DCCP Stream Analisar Mesma funcionalidade de “Follow TCP Stream”, mas para DCCP
fluxos.
Siga › Transmissão TLS Analisar Mesma funcionalidade de “Seguir fluxo TCP”, mas para fluxos TLS ou SSL.
Veja a página wiki sobre SSL para obter instruções sobre como fornecer
chaves TLS.
Siga › Fluxo HTTP Analisar Mesma funcionalidade de “Follow TCP Stream”, mas para HTTP
fluxos.
Copiar › Resumo como texto Copie os campos de resumo exibidos na área de transferência como texto
separado por tabulações.
Machine Translated by Google
correspondente
cardápio
item
Copiar › …como CSV Copie os campos de resumo exibidos na área de transferência como texto
separado por vírgula.
Copiar › …como YAML Copie os campos de resumo exibidos na área de transferência como dados
YAML.
Copiar › Como Filtro Prepare um filtro de exibição com base no item atualmente selecionado e
copie esse filtro para a área de transferência.
Copiar › Bytes como Hex + ASCII Copie os bytes do pacote para a área de transferência no formato “hexdump”
completo.
Jogar fora
Copiar › …como Hex Dump Copie os bytes do pacote para a área de transferência no formato
“hexdump” sem a parte ASCII.
Copiar › …como texto imprimível Copie os bytes do pacote para a área de transferência como texto
ASCII, excluindo caracteres não imprimíveis.
Copiar › …como um fluxo hexadecimal Copie os bytes do pacote para a área de transferência como uma lista não pontuada
de dígitos hexadecimais.
Copiar › …como binário bruto Copie os bytes do pacote para a área de transferência como binário bruto. Os
dados são armazenados na área de transferência usando o tipo MIME
“application/octet-stream”.
Decodificar como… Analisar Altere ou aplique uma nova relação entre dois dissecadores.
Mostrar Pacote em Novo Exibir Mostra o pacote selecionado em uma janela separada. o
Janela janela separada mostra apenas os detalhes e bytes do pacote.
Consulte Visualizando um pacote em uma janela separada para obter detalhes.
A tabela a seguir fornece uma visão geral de quais funções estão disponíveis neste painel, onde encontrar a função
correspondente no menu principal e uma breve descrição de cada item.
correspondente
cardápio
item
Recolher todos Exibir O Wireshark mantém uma lista de todas as subárvores de protocolo que são
expandidas e a usa para garantir que as subárvores corretas sejam
expandidas quando você exibe um pacote. Este item de menu reduz a
exibição em árvore de todos os pacotes na lista de captura.
Aplicar como coluna Use o item de protocolo selecionado para criar uma nova coluna na
lista de pacotes.
Machine Translated by Google
correspondente
cardápio
item
Aplicar como filtro Analisar Substitua ou acrescente imediatamente o filtro de exibição atual com base na
lista de pacotes mais recente ou no item de detalhes do pacote selecionado.
O primeiro item do submenu mostra o filtro e
Preparar como Filtro Analisar Altere o filtro de exibição atual com base na lista de pacotes mais recente ou no
item de detalhes do pacote selecionado, mas não o aplique. O primeiro item
do submenu mostra o filtro e os itens subseqüentes mostram as diferentes
maneiras pelas quais o filtro pode ser alterado.
Colorir com filtro Este item de menu usa um filtro de exibição com as informações do item de
protocolo selecionado para construir uma nova regra de coloração.
Siga › Fluxo TCP Analisar Abre uma janela que exibe todos os segmentos TCP capturados que
estão na mesma conexão TCP de um pacote selecionado. Consulte
Seguindo fluxos de protocolo.
Siga › Fluxo UDP Analisar Mesma funcionalidade de “Follow TCP Stream”, mas para UDP
“fluxos”.
Siga › Transmissão TLS Analisar Mesma funcionalidade de “Seguir fluxo TCP”, mas para fluxos TLS ou SSL. Veja
a página wiki sobre SSL para obter instruções sobre como fornecer chaves
TLS.
Siga › Fluxo HTTP Analisar Mesma funcionalidade de “Follow TCP Stream”, mas para HTTP
fluxos.
Copiar › Todos os itens visíveis Editar Copie os detalhes do pacote conforme exibido.
Copiar › Todos visíveis selecionados Editar Copie o detalhe do pacote selecionado e seus filhos conforme
Itens de árvore exibido.
Copiar › Descrição Editar Copie o texto exibido do campo selecionado para a área de transferência do
sistema.
Copiar › Valor Editar Copie o valor do campo selecionado para a área de transferência
do sistema.
Copiar › Como Filtro Editar Prepare um filtro de exibição com base no item atualmente selecionado
e copie-o para a área de transferência.
Machine Translated by Google
correspondente
cardápio
item
Copiar › Bytes como Hex + ASCII Copie os bytes do pacote para a área de transferência no formato “hexdump”
completo.
Jogar fora
Copiar › …como Hex Dump Copie os bytes do pacote para a área de transferência no formato “hexdump”
Copiar › …como texto imprimível Copie os bytes do pacote para a área de transferência como texto ASCII,
Copiar › …como um fluxo hexadecimal Copie os bytes do pacote para a área de transferência como uma lista não pontuada
de dígitos hexadecimais.
Copiar › …como binário bruto Copie os bytes do pacote para a área de transferência como binário bruto. Os dados
stream”.
Copiar › …as String com escape Copie os bytes do pacote para a área de transferência como escape no estilo C
sequências.
Exportar bytes de pacote… Arquivo Este item de menu é igual ao item de menu Arquivo com o mesmo nome. Ele
permite que você exporte bytes de pacotes brutos para um arquivo binário.
Página do Protocolo Wiki Abra a página wiki do protocolo selecionado em seu navegador da web.
Filtrar Referência de Campo Abra a página da web de referência do campo de filtro para o protocolo selecionado
Decodificar como… Analisar Altere ou aplique uma nova relação entre dois dissecadores.
Ir para o pacote vinculado Vai Se o campo selecionado tiver um pacote correspondente, como a solicitação
Mostrar pacote vinculado em Vai Se o campo selecionado tiver um pacote correspondente, como a solicitação
Nova janela correspondente para uma resposta DNS, mostre o pacote selecionado em uma janela
detalhes.
A tabela a seguir fornece uma visão geral de quais funções estão disponíveis neste painel, juntamente com uma breve descrição de cada item.
Item Descrição
Copiar bytes como Hex + ASCII Copie os bytes do pacote para a área de transferência no formato “hexdump” completo.
Jogar fora
… como Hex Dump Copie os bytes do pacote para a área de transferência no formato “hexdump” sem a parte ASCII.
…como texto imprimível Copie os bytes do pacote para a área de transferência como texto ASCII, excluindo caracteres
não imprimíveis.
…como um fluxo hexadecimal Copie os bytes do pacote para a área de transferência como uma lista não pontuada de dígitos
hexadecimais.
…como binário bruto Copie os bytes do pacote para a área de transferência como binário bruto. Os dados são
… como string de escape Copie os bytes do pacote para a área de transferência como sequências de escape no estilo C.
Mostrar bytes como hexadecimais Exibe os dados de bytes como dígitos hexadecimais.
Mostrar bytes como bits Exiba os dados de byte como dígitos binários.
Machine Translated by Google
Item Descrição
Mostrar texto com base no pacote Mostra os dados “hexdump” com texto.
A tabela a seguir fornece uma visão geral de quais funções estão disponíveis neste painel, juntamente com uma breve descrição de
cada item.
Item Descrição
Mostrar valores de campo Exiba o valor atual para cada campo no diagrama de pacotes.
Salvar diagrama como… Salve o diagrama de pacotes em um arquivo de imagem (PNG, BMP, JPEG).
Copiar como Imagem Raster Copie o diagrama de pacotes para a área de transferência no formato raster (ARGB32).
Os filtros de exibição permitem que você se concentre nos pacotes nos quais está interessado, enquanto oculta os atualmente
desinteressantes. Eles permitem que você exiba apenas pacotes com base em:
• Protocolo
• A presença de um campo
Para exibir apenas pacotes contendo um determinado protocolo, digite o nome do protocolo na barra de ferramentas do filtro de
exibição da janela do Wireshark e pressione Enter para aplicar o filtro. A filtragem no protocolo TCP mostra um exemplo do que
acontece quando você digita tcp na barra de ferramentas do filtro de exibição.
Não se esqueça de pressionar enter ou clicar no botão aplicar filtro de exibição após inserir a expressão de
NOTA
filtro.
Como você deve ter notado, agora apenas os pacotes contendo o protocolo TCP são exibidos, então os pacotes 1-10 estão
ocultos e o pacote número 11 é o primeiro pacote exibido.
Ao usar um filtro de exibição, todos os pacotes permanecem no arquivo de captura. O filtro de exibição altera
NOTA
apenas a exibição do arquivo de captura, mas não seu conteúdo!
Para remover o filtro, clique no botão [Limpar] à direita do campo do filtro de exibição. Todos os pacotes ficarão visíveis novamente.
Machine Translated by Google
Os filtros de exibição podem ser muito poderosos e são discutidos com mais detalhes em Construindo Filtros de Exibição
Expressões
Também é possível criar filtros de exibição com a caixa de diálogo Exibir expressão de filtro . Mais informações sobre a caixa de
diálogo Exibir expressão de filtro estão disponíveis na caixa de diálogo “Exibir expressão de filtro”.
Existem muitos exemplos de filtro de exibição na página Wireshark Wiki Display Filter em: https://gitlab.com/
GORJETA
wireshark/wireshark/wikis/DisplayFilters.
O filtro de exibição mais simples é aquele que exibe um único protocolo. Para exibir apenas pacotes contendo um determinado
protocolo, digite o protocolo na barra de ferramentas do filtro de exibição do Wireshark. Por exemplo, para exibir apenas pacotes
TCP, digite tcp na barra de ferramentas do filtro de exibição do Wireshark. Da mesma forma, para exibir apenas pacotes
contendo um campo específico, digite o campo na barra de ferramentas do filtro de exibição do Wireshark. Por exemplo, para
exibir apenas solicitações HTTP, digite http.request na barra de ferramentas do filtro de exibição do Wireshark.
Você pode filtrar qualquer protocolo compatível com o Wireshark. Você também pode filtrar qualquer campo que um dissecador
adicionar à exibição em árvore, se o dissecador tiver adicionado uma abreviação para esse campo. Uma lista completa dos
protocolos e campos disponíveis está disponível no item de menu Exibir › Internos › Protocolos suportados.
Comparando valores
Você pode criar filtros de exibição que comparam valores usando vários operadores de comparação diferentes. Por exemplo,
para exibir apenas pacotes de ou para o endereço IP 192.168.0.1, use ip.addr==192.168.0.1.
Uma lista completa de operadores de comparação disponíveis é mostrada em Operadores de comparação de filtro de exibição.
Operadores do tipo inglês e C são intercambiáveis e podem ser misturados em uma string de filtro.
GORJETA
O significado de != (todos diferentes) foi alterado no Wireshark 3.6. Antes costumava significar "qualquer
NOTA
diferente".
Todos os campos de protocolo têm um tipo. Tipos de campo de filtro de exibição fornece uma lista dos tipos com exemplos de
como usá-los em filtros de exibição.
Pode ser 8, 16, 24, 32 ou 64 bits. Você pode expressar números inteiros em decimal, octal, hexadecimal ou binário.
Os seguintes filtros de exibição são equivalentes:
ip.len le 1500
ip.len le 02734
ip.len le 0x5dc
ip.len le 0b10111011100
Pode ser 8, 16, 24, 32 ou 64 bits. Tal como acontece com inteiros sem sinal, você pode usar decimal, octal, hexadecimal ou
binário.
boleano
Um campo booleano está presente independentemente de seu valor ser verdadeiro ou falso. Por exemplo, tcp.flags.syn
está presente em todos os pacotes TCP contendo o sinalizador, seja o sinalizador SYN 0 ou 1. Para corresponder apenas
pacotes TCP com o sinalizador SYN definido, você precisa usar tcp.flags.syn == 1 ou tcp.flags.syn == Verdadeiro.
endereço Ethernet
6 bytes separados por dois pontos (:), ponto (.) ou traço (-) com um ou dois bytes entre os separadores:
eth.dst == ff:ff:ff:ff:ff:ff
eth.dst == ff-ff-ff-ff-ff-ff
eth.dst == ffff.ffff.ffff
endereço IPv4
ip.addr == 192.168.0.1
A notação Classless InterDomain Routing (CIDR) pode ser usada para testar se um endereço IPv4 está em uma
determinada sub-rede. Por exemplo, este filtro de exibição encontrará todos os pacotes na rede 129.111 Classe-B:
ip.addr == 129.111.0.0/16
endereço IPv6
ipv6.addr == ::1
Assim como os endereços IPv4, os endereços IPv6 podem corresponder a uma sub-rede.
Cadeia de texto
http.request.uri == "https://www.wireshark.org/"
Strings são uma sequência de bytes. Funções como lower() usam ASCII, caso contrário, nenhuma codificação específica
é assumida. Os literais de string são especificados com aspas duplas. Os caracteres também podem ser especificados
usando uma sequência de escape de byte usando hex \xhh ou octal \ddd, onde h e d são dígitos numéricos hexadecimais
e octais, respectivamente:
Como alternativa, uma sintaxe de string bruta pode ser usada. Essas strings são prefixadas com r ou R e tratam a barra
invertida como um caractere literal.
Data e hora
O valor de um campo de tempo absoluto é expresso como uma string, usando um dos dois formatos acima.
Os segundos fracionários podem ser omitidos ou especificados com precisão de nanossegundos; zeros extras à direita
Machine Translated by Google
são permitidos, mas não outros dígitos. A cadeia de caracteres não pode receber um sufixo de fuso horário e sempre
é analisada como no fuso horário local, mesmo para campos exibidos em UTC.
No primeiro formato, os nomes dos meses abreviados devem estar em inglês, independentemente da localidade. No
segundo formato, qualquer número de campos de tempo pode ser omitido, na ordem do menos significativo (segundos)
ao mais, mas pelo menos a data inteira deve ser especificada:
No segundo formato, um T pode aparecer entre a data e a hora como na ISO 8601, mas não quando tempos menos
significativos são descartados.
Alguns exemplos
O filtro de exibição acima corresponde aos pacotes que contêm a sequência de 3 bytes 0x81, 0x60, 0x03 em qualquer
lugar no cabeçalho UDP ou carga útil.
O filtro de exibição acima corresponde a pacotes em que o cabeçalho SIP To contém a string "a1762" em qualquer lugar
do cabeçalho.
O filtro de exibição acima corresponde a pacotes HTTP em que o cabeçalho HOST contém acme.org, acme.com ou
acme.net. As comparações não diferenciam maiúsculas de minúsculas.
Esse filtro de exibição corresponderá a todos os pacotes que contêm o campo “tcp.flags” com o bit 0x02, ou seja, o bit
SYN definido.
Literais de string contendo expressões regulares são analisados duas vezes. Uma vez pelo mecanismo de filtro de
exibição do Wireshark e novamente pela biblioteca PCRE2. É importante ter isso em mente ao usar o operador "matches"
com sequências de escape regex e caracteres especiais.
Por exemplo, o quadro de expressão de filtro corresponde a "AB\x43" e usa a string "ABC" como padrão de entrada para
PCRE. No entanto, o quadro de expressão correspondente a "AB\\x43" usa a string "AB\x43" como padrão. Neste caso,
ambas as expressões fornecem o mesmo resultado porque Wireshark e PCRE suportam o mesmo
Machine Translated by Google
Um exemplo em que isso falha muito é foo corresponde a "bar\x28". Como 0x28 é o código ASCII para ( a entrada
padrão para PCRE é "bar(". Esta expressão regular é sintaticamente inválida (falta o parêntese de fechamento). Para
corresponder a um parêntese literal em uma expressão regular de filtro de exibição, ela deve ser escapada (duas
vezes) com barras invertidas.
O uso de strings brutas evita muitos problemas com o operador "matches" e os requisitos de escape
GORJETA
duplo.
Combinando Expressões
Você pode combinar expressões de filtro no Wireshark usando os operadores lógicos mostrados em Display Filter
Operações Lógicas
xor ^^
== 0.6.29 xor tr.src[0:3] == 0.6.29
Operador de fatia
O Wireshark permite que você selecione uma subsequência de uma sequência de maneiras bastante elaboradas. Depois de um
rótulo, você pode colocar um par de colchetes [] contendo uma lista separada por vírgulas de especificadores de intervalo.
eth.src[0:3] == 00:00:83
O exemplo acima usa o formato n:m para especificar um único intervalo. Nesse caso, n é o deslocamento inicial e m
é o comprimento do intervalo que está sendo especificado.
eth.src[1-2] == 00:83
O exemplo acima usa o formato nm para especificar um único intervalo. Neste caso, n é o deslocamento inicial e m é
o deslocamento final.
Machine Translated by Google
eth.src[:4] == 00:00:83:00
O exemplo acima usa o formato :m, que leva tudo desde o início de uma sequência até o deslocamento m. É equivalente a 0:m
eth.src[4:] == 20:20
O exemplo acima usa o formato n:, que leva tudo do deslocamento n até o final do
seqüência.
eth.src[2] == 83
O exemplo acima usa o formato n para especificar um único intervalo. Neste caso, o elemento na sequência no deslocamento n
é selecionado. Isso é equivalente a n:1.
eth.src[0:3,1-2,:4,4:,2] ==
00:00:83:00:83:00:00:83:00:20:20:83
O Wireshark permite que você encadeie intervalos únicos em uma lista separada por vírgulas para formar intervalos compostos,
conforme mostrado acima.
O Operador de Camadas
Um campo pode ser restrito a uma determinada camada na pilha de protocolos usando o operador de camada (#), seguido de
um número decimal:
ip.addr#2 == 192.168.30.40
corresponde apenas à camada interna (segunda) do pacote. As camadas usam semântica de empilhamento simples e as
camadas de protocolo são contadas sequencialmente a partir de 1. Por exemplo, em um pacote que contém dois cabeçalhos
IPv4, o endereço de origem externo (primeiro) pode corresponder a "ip.src#1" e o interno (segundo ) endereço de origem pode
ser correspondido com "ip.src#2".
Para intervalos mais complicados, a mesma sintaxe usada com fatias é válida:
tcp.port#[2-4]
significa camadas número 2, 3 ou 4 inclusive. O símbolo de hash é necessário para distinguir um intervalo de camada de uma
fatia.
Machine Translated by Google
Operador de associação
O Wireshark permite que você teste um campo para associação em um conjunto de valores ou campos. Após o nome do campo,
use o operador in seguido pelos itens definidos entre chaves {}. Por exemplo, para exibir pacotes com origem TCP ou porta de
destino 80, 443 ou 8080, você pode usar tcp.port em {80, 443, 8080}. Os elementos do conjunto devem ser separados por vírgulas.
O conjunto de valores também pode conter intervalos: tcp.port em {443,4430..4434}.
O filtro de exibição
é equivalente a
NOTA
não é equivalente a
Isso ocorre porque os operadores de comparação ficam satisfeitos quando qualquer campo corresponde ao
filtro, portanto, um pacote com uma porta de origem 56789 e uma porta de destino 80 também corresponderia
ao segundo filtro, pois 56789 >= 4430 && 80 <= 4434 é verdadeiro. Por outro lado, o operador de associação
testa um único campo em relação à condição de intervalo.
Os conjuntos não se limitam apenas a números, outros tipos também podem ser usados:
http.request.method em {"HEAD",
"GET"} ip.addr em {10.0.0.5 .. 10.0.0.9, 192.168.1.1..192.168.1.9}
frame.time_delta em {10 .. 10.5}
Operadores aritméticos
Você pode realizar as operações aritméticas em campos numéricos mostrados em Display Filter Arithmetic
Operações
Subtração A - B Subtrair B de A
*
Multiplicação A B Multiplique A vezes B
Funções
O idioma do filtro de exibição tem várias funções para converter campos, consulte Funções de filtro de exibição.
Função Descrição
abdômen
Retorna o valor absoluto para o argumento.
As funções superior e inferior podem ser usadas para forçar correspondências que não diferenciam maiúsculas de minúsculas:
lower(http.server) contém "apache".
Para localizar solicitações HTTP com URIs de solicitação longos: len(http.request.uri) > 100. Observe que a função len
produz o comprimento da string em bytes em vez de caracteres (de vários bytes).
Normalmente, um quadro IP possui apenas dois endereços (origem e destino), mas no caso de erros de ICMP ou
tunelamento, um único pacote pode conter ainda mais endereços. Esses pacotes podem ser encontrados com
count(ip.addr) > 2.
A função string converte um valor de campo em uma string, adequada para uso com operadores como "corresponde" ou
"contém". Campos inteiros são convertidos em sua representação decimal. Pode ser usado com endereços IP/Ethernet
(assim como outros), mas não com campos de string ou byte.
Machine Translated by Google
Para corresponder endereços IP que terminam em 255 em um bloco de sub-redes (172.16 a 172.31):
As funções max() e min() pegam qualquer número de argumentos do mesmo tipo e retornam o maior/menor respectivamente do
conjunto.
À medida que os protocolos evoluem, eles às vezes mudam de nome ou são substituídos por padrões mais novos. Por exemplo, o
DHCP se estende e substituiu amplamente o BOOTP e o TLS substituiu o SSL. Se um dissecador de protocolo usou originalmente
os nomes e campos mais antigos para um protocolo, a equipe de desenvolvimento do Wireshark pode atualizá-lo para usar os nomes
e campos mais novos. Nesses casos, eles adicionarão um alias do nome do protocolo antigo para o novo para facilitar a transição.
Por exemplo, o dissecador DHCP foi originalmente desenvolvido para o protocolo BOOTP, mas a partir do Wireshark 3.0 todos os
campos de filtro de exibição “bootp” foram renomeados para seus equivalentes “dhcp”.
Você ainda pode usar os nomes de filtros antigos por enquanto, por exemplo, “bootp.type” é equivalente a “dhcp.type”, mas o
Wireshark mostrará o aviso “"bootp" está obsoleto” quando você usá-lo. O suporte para os campos obsoletos pode ser removido no
futuro.
Em alguns casos particulares, as expressões relacionais (igual, menor que, etc.) podem ser ambíguas. O nome do filtro de um
protocolo ou campo de protocolo pode conter qualquer letra e dígito em qualquer ordem, possivelmente separados por pontos. Isso
pode ser indistinguível de um valor literal (geralmente valores numéricos em hexadecimal). Por exemplo, o valor semântico de fc
pode ser o protocolo Fibre Channel ou o número 0xFC em hexadecimal porque o prefixo 0x é opcional para números hexadecimais.
Qualquer valor que corresponda a um protocolo registrado ou nome de filtro de campo de protocolo é interpretado semanticamente
como tal. Se não corresponder a um nome de protocolo, aplicam-se as regras normais de análise de valores literais.
Portanto, no caso de 'fc', o token léxico é interpretado como "Fibre Channel" e não 0xFC. No caso de 'fd' seria interpretado como
0xFD porque é um valor literal hexadecimal bem formado (de acordo com as regras de sintaxe de linguagem de filtro de exibição) e
não há nenhum protocolo registrado com o nome de filtro 'fd'.
Machine Translated by Google
A forma como os valores ambíguos são interpretados pode mudar no futuro. Para evitar esse problema e resolver a ambigüidade,
há uma sintaxe adicional disponível. Os valores prefixados com um ponto são sempre tratados como um nome de protocolo. O ponto
representa a raiz do namespace do protocolo e é opcional).
Valores prefixados com dois pontos são sempre interpretados como uma matriz de bytes.
Se você estiver escrevendo um script ou achar que sua expressão pode não estar dando os resultados esperados devido à
ambigüidade sintática de alguma expressão de filtro, é aconselhável usar a sintaxe explícita para indicar o significado correto dessa
expressão.
A caixa de diálogo “Display Filter Expression” é uma excelente maneira de aprender a escrever strings de filtro de
GORJETA
exibição do Wireshark.
Quando você abrir a caixa de diálogo Exibir Expressão de Filtro pela primeira vez, verá uma árvore de nomes de campos, organizados
por protocolo e uma caixa para selecionar uma relação.
Nome do campo
Selecione um campo de protocolo na árvore de campos de protocolo. Cada protocolo com campos filtráveis é listado no nível
superior. Você pode pesquisar uma entrada de protocolo específica inserindo as primeiras letras do nome do protocolo. Ao expandir
um nome de protocolo, você pode obter uma lista dos nomes de campo disponíveis para filtragem desse protocolo.
Relação
Selecione uma relação na lista de relações disponíveis. O is present é uma relação unária que é verdadeira se o campo selecionado
estiver presente em um pacote. Todas as outras relações listadas são relações binárias que requerem dados adicionais (por
exemplo, um valor para corresponder) para serem concluídas.
Ao selecionar um campo da lista de nomes de campo e selecionar uma relação binária (como a relação de igualdade ==), você terá
a oportunidade de inserir um valor e, possivelmente, algumas informações de intervalo.
Valor
Você pode inserir um valor apropriado na caixa de texto Valor . O Valor também indicará o tipo de valor para o Nome do Campo que
você selecionou (como cadeia de caracteres).
Valores predefinidos
Alguns dos campos de protocolo têm valores predefinidos disponíveis, muito parecidos com enumerações em C. Se o campo de
protocolo selecionado tiver esses valores definidos, você pode escolher um deles aqui.
Procurar
Permite pesquisar um nome ou descrição de campo completo ou parcial. As expressões regulares são suportadas. Por exemplo,
procurar por “tcp.*flag” mostra os campos de sinalizadores TCP suportados por uma ampla variedade de dissecadores, enquanto
“^tcp.flag” mostra apenas os campos de sinalizadores TCP suportados pelo dissecador TCP.
Alcance
[ Ajuda ]
[ OK ]
Quando tiver criado uma expressão satisfatória, clique em [OK] e uma string de filtro será criada para você.
[Cancelar]
Você pode deixar a caixa de diálogo “Add Expression…” sem nenhum efeito clicando no botão [Cancelar] .
Machine Translated by Google
Para criar ou editar filtros de captura, selecione Gerenciar filtros de captura no menu de favoritos do filtro de captura ou
Capturar › Filtros de captura… no menu principal. Os filtros de exibição podem ser criados ou editados selecionando
Gerenciar filtros de exibição no menu de favoritos do filtro de exibição ou Analisar › Filtros de exibição… no menu
principal. O Wireshark abrirá a caixa de diálogo correspondente, conforme mostrado nas caixas de diálogo “Filtros de
captura” e “Filtros de exibição”. As duas caixas de diálogo parecem e funcionam de maneira semelhante. Ambos são
descritos aqui e as diferenças são anotadas conforme necessário.
[+]
Adiciona um novo filtro à lista. Você pode editar o nome ou a expressão do filtro clicando duas vezes sobre ele.
O nome do filtro é usado nesta caixa de diálogo para identificar o filtro para sua conveniência e não é usado em
nenhum outro lugar. Você pode criar vários filtros com o mesmo nome, mas isso não é muito útil.
Ao digitar uma string de filtro, a cor de fundo mudará dependendo da validade do filtro semelhante à captura principal
e barras de ferramentas de filtro de exibição.
[-]
Exclua o filtro selecionado. Isso ficará acinzentado se nenhum filtro for selecionado.
[ Cópia de ]
Copie o filtro selecionado. Isso ficará acinzentado se nenhum filtro for selecionado.
Machine Translated by Google
[ OK ]
[Cancelar]
lembrando e redigitando alguns dos filtros mais complexos que você usa.
Para definir e salvar suas próprias macros de filtro, siga as etapas abaixo:
2. Para adicionar uma nova macro de filtro, clique no botão [+] no canto inferior esquerdo. Uma nova linha aparecerá
na tabela Display Filter Macros acima.
3. Insira o nome de sua macro na coluna Nome . Insira sua macro de filtro na coluna Texto .
4. Para salvar suas modificações, clique no botão [ OK ] no canto inferior direito da Tela
Janela Filtrar macros.
Para saber mais sobre a sintaxe de macro de filtro de exibição, consulte Macros de filtro de exibição.
Machine Translated by Google
Encontrar pacotes
Você pode encontrar pacotes facilmente depois de capturar alguns pacotes ou ler um arquivo de captura salvo anteriormente.
Basta selecionar Edit › Find Packet… no menu principal. O Wireshark abrirá uma barra de ferramentas entre a barra de
ferramentas principal e a lista de pacotes mostrada na barra de ferramentas “Find Packet”.
Filtro de exibição
Insira uma string de filtro de exibição no campo de entrada de texto e clique no botão [Localizar] . + Por exemplo, para
encontrar o handshake triplo para uma conexão do host 192.168.0.1, use a seguinte string de filtro:
ip.src==192.168.0.1 e tcp.flags.syn==1
O valor a ser encontrado terá sua sintaxe verificada enquanto você o digita. Se a verificação de sintaxe do seu valor for
bem-sucedida, o fundo do campo de entrada ficará verde, se falhar, ficará vermelho. Para mais detalhes veja Filtrando
Pacotes Durante a Visualização
Valor Hexadecimal
Por exemplo, use “ef:bb:bf” para localizar o próximo pacote que contém a marca de ordem de byte UTF-8.
String
Expressão regular
Pesquise os dados do pacote usando expressões regulares compatíveis com Perl. Os padrões de PCRE estão além do
escopo deste documento, mas digitar “pcre test” em seu mecanismo de pesquisa favorito deve retornar vários sites que
o ajudarão a testar e explorar suas expressões.
O comando “Voltar”
Volte no histórico de pacotes, funciona muito como o histórico de páginas na maioria dos navegadores da web.
O comando “Avançar”
Vá em frente no histórico de pacotes, funciona de forma muito parecida com o histórico de páginas na maioria dos navegadores da web.
Esta barra de ferramentas pode ser aberta selecionando Go › Go to packet… no menu principal. Ele aparece entre a barra de
ferramentas principal e a lista de pacotes, semelhante à barra de ferramentas "Find Packet".
Quando você insere um número de pacote e pressiona [Ir para o pacote] , o Wireshark pulará para esse pacote.
Se for selecionado um campo de protocolo que aponte para outro pacote no arquivo de captura, este comando saltará para esse
pacote.
Como esses campos de protocolo agora funcionam como links (assim como em seu navegador da Web), é mais fácil simplesmente
clicar duas vezes no campo para pular para o campo correspondente.
Pacotes de Marcação
Você pode marcar pacotes no painel “Packet List”. Um pacote marcado será mostrado com fundo preto, independentemente das
regras de coloração definidas. Marcar um pacote pode ser útil para localizá-lo posteriormente durante a análise em um grande arquivo
de captura.
As informações do pacote marcado não são armazenadas no arquivo de captura ou em qualquer outro lugar. Ele será perdido quando
o arquivo de captura for fechado.
Machine Translated by Google
Você pode usar a marcação de pacotes para controlar a saída de pacotes ao salvar, exportar ou imprimir. Para fazer isso, uma opção no
intervalo de pacotes está disponível, consulte o quadro “Intervalo de pacotes”.
Existem várias maneiras de marcar e desmarcar pacotes. No menu Editar , você pode selecionar o seguinte:
• Marcar/Desmarcar pacote alterna o estado marcado de um único pacote. Esta opção também está disponível no menu de contexto
da lista de pacotes.
Você também pode marcar e desmarcar um pacote clicando nele na lista de pacotes com o botão do meio do mouse.
Ignorando Pacotes
Você pode ignorar pacotes no painel “Packet List”. O Wireshark então fingirá que eles não existem no arquivo de captura. Um pacote
ignorado será mostrado com fundo branco e primeiro plano cinza, independentemente das regras de coloração definidas.
As informações do pacote ignorado não são armazenadas no arquivo de captura ou em qualquer outro lugar. Ele será perdido quando o
arquivo de captura for fechado.
Existem várias maneiras de ignorar e designorar pacotes. No menu Editar , você pode selecionar o seguinte:
• Ignorar/Remover pacote alterna o estado ignorado de um único pacote. Esta opção também é
disponível no menu de contexto da lista de pacotes.
Uma descrição detalhada de timestamps, fusos horários e similares pode ser encontrada em: Time Stamps.
O formato de apresentação do carimbo de data/hora e a precisão na lista de pacotes podem ser escolhidos usando o menu Exibir, consulte
o menu “Exibir”.
• Data e hora do dia: 1970-01-01 01:02:03.123456 A data e hora absolutas do dia em que
o pacote foi capturado.
Machine Translated by Google
• Hora do dia: 01:02:03.123456 A hora absoluta do dia em que o pacote foi capturado.
• Segundos desde o primeiro pacote capturado: 123,123456 O tempo relativo ao início da captura
arquivo ou a primeira “Referência de Tempo” antes deste pacote (veja Referência de Tempo de Pacote).
• Segundos desde o pacote capturado anterior: 1,123456 O tempo relativo ao pacote capturado anterior
pacote.
• Segundos desde o pacote exibido anterior: 1,123456 O tempo relativo ao pacote anterior
pacote exibido.
• Segundos desde a época (01/01/1970): 1234567890.123456 A hora relativa à época (meia-noite UTC de 1º de janeiro de
1970).
• Automático (do arquivo de captura) A precisão do carimbo de data/hora do formato do arquivo de captura carregado
ser usado (o padrão).
Exemplo de precisão: se você tiver um carimbo de data/hora e for exibido usando "Segundos desde o pacote anterior", o valor
pode ser 1,123456. Isso será exibido usando a configuração “Automática” para arquivos libpcap (que é microssegundos). Se
você usar Segundos, mostrará apenas 1 e, se usar Nanossegundos, mostrará 1,123456000.
O usuário pode definir referências de tempo para pacotes. Uma referência de tempo é o ponto de partida para todos os cálculos
de tempo de pacote subseqüentes. Será útil se você quiser ver os valores de tempo relativos a um pacote especial, por
exemplo, o início de uma nova solicitação. É possível definir várias referências de tempo no arquivo de captura.
As referências de tempo não serão salvas permanentemente e serão perdidas quando você fechar o arquivo de captura.
A referência de tempo só será útil se o formato de exibição de tempo for definido como “Segundos desde o primeiro pacote
capturado”. Se um dos outros formatos de exibição de tempo for usado, a referência de tempo não terá efeito (e também não
fará sentido).
Para trabalhar com referências de tempo, escolha um dos itens de referência de tempo no menu: menu [Editar] ou no menu
pop-up do painel “Lista de pacotes”. Veja o menu “Editar”.
• Definir referência de tempo (alternar) Alterna o estado de referência de tempo do pacote atualmente selecionado para
ligado ou desligado.
• Localizar anterior Localizar o pacote com referência de tempo anterior no painel “Lista de pacotes”.
Machine Translated by Google
Um pacote com referência de tempo será marcado com a string *REF* na coluna Time (veja o pacote número
10). Todos os pacotes subseqüentes mostrarão o tempo desde a última referência de tempo.
Machine Translated by Google
Tópicos Avançados
Introdução
Para filtrar um fluxo específico, selecione um pacote TCP, UDP, DCCP, TLS, HTTP, HTTP/2, QUIC ou SIP na lista de
pacotes do fluxo/conexão em que você está interessado e, em seguida, selecione o item de menu Analisar ›
Siga › TCP Stream (ou use o menu de contexto na lista de pacotes). O Wireshark definirá um filtro de exibição apropriado
e exibirá uma caixa de diálogo com os dados do fluxo dispostos, conforme mostrado na caixa de diálogo “Follow TCP
Stream”.
Seguir um fluxo de protocolo aplica um filtro de exibição que seleciona todos os pacotes no fluxo atual.
Algumas pessoas abrem a caixa de diálogo “Follow TCP Stream” e a fecham imediatamente como uma
GORJETA
maneira rápida de isolar um determinado fluxo. Fechar a caixa de diálogo com o botão “Voltar” redefinirá
o filtro de exibição se esse comportamento não for desejado.
O conteúdo do stream é exibido na mesma sequência em que apareceu na rede. Os caracteres não imprimíveis são
substituídos por pontos. O tráfego do cliente para o servidor é vermelho, enquanto o tráfego
Machine Translated by Google
do servidor para o cliente é de cor azul. Essas cores podem ser alteradas abrindo Editar ›
Preferências e em Aparência › Fonte e cores, selecionando cores diferentes para as opções [ Exemplo de texto do cliente "Follow
Stream"] e [ Exemplo de texto do servidor "Follow Stream"] .
O conteúdo do stream não será atualizado durante a captura ao vivo. Para obter o conteúdo mais recente, você terá que reabrir a caixa
de diálogo.
[ Ajuda ]
[ Imprimir ]
[ Salvar como… ]
[ Voltar ]
[ Perto ]
Por padrão, o Wireshark exibe os dados do cliente e do servidor. Você pode selecionar Toda a conversa para alternar entre os dois,
cliente para servidor ou servidor para dados do cliente.
ASCII
Nesta visualização, você vê os dados de cada direção em ASCII. Obviamente melhor para protocolos baseados em ASCII, por
exemplo, HTTP.
Matrizes C
Isso permite que você importe os dados do fluxo para seu próprio programa C.
EBCDIC
Despejo HEX
Isso permite que você veja todos os dados. Isso exigirá muito espaço na tela e é melhor usado com protocolos binários.
Machine Translated by Google
UTF-8
UTF-16
YAML
• A seção de peers onde para cada peer você encontrou o índice de peer, o endereço do host e a porta
número.
• A seção de pacotes onde para cada pacote você encontrou o número do pacote na captura original, o índice do par , o índice
do pacote para este par, o timestamp em segundos e os dados na codificação base64.
pares: - ponto: 0
índice: 0
timestamp: 1599485409.693955274 dados: !!binário | aGVsbG8K - pacote: 3 pares: 1 índice: 0 timestamp: 1599485423.885866692
# Pacote 1
peer0_0: !!binary |
aGVsbG8K
# Pacote 3
peer1_0: !!binário |
Ym9uam91cgo=
ÿ
codificação
Cru
Isso permite que você carregue os dados de fluxo inalterados em um programa diferente para um exame mais aprofundado. A
tela terá a mesma aparência da configuração ASCII, mas “Salvar como” resultará em um arquivo binário.
Você pode pesquisar texto inserindo-o na caixa de entrada "Localizar" e pressionando [ Localizar próximo ].
A caixa de diálogo HTTP/2 Stream é semelhante à caixa de diálogo "Follow TCP Stream", exceto por um campo de diálogo "Substream"
adicional. Fluxos HTTP/2 são identificados por um índice de fluxo HTTP/2 (nome do campo http2.streamid) que são exclusivos dentro
de uma conexão TCP. O seletor “Stream” determina a conexão TCP enquanto o seletor “Substream” é usado para escolher o HTTP/2
Stream ID.
O protocolo QUIC é semelhante, o primeiro número seleciona o número de conexão QUIC enquanto o campo "Substream" seleciona o
QUIC Stream ID.
A chamada SIP é mostrada com a mesma caixa de diálogo, apenas o filtro é baseado no campo sip.Call-ID. A contagem de fluxos é
fixada em 0 e o campo é desativado.
Esta caixa de diálogo também pode ser usada para decodificar bytes de campo de base64, zlib compactado ou imprimível entre aspas
e mostrar os bytes decodificados como saída configurável. Também é possível selecionar um subconjunto de bytes definindo o byte
inicial e o byte final.
[ Ajuda ]
[ Imprimir ]
[ Cópia de ]
[ Salvar como ]
[ Perto ]
Nenhum
Base64
Compactado Isso
dígitos hexadecimais
Isso decodificará a partir de uma sequência de dígitos hexadecimais. Os caracteres não hexadecimais são ignorados.
Citado-Imprimível
ROT-13
ASCII
Nesta exibição, você vê os bytes como ASCII. Todos os caracteres de controle e bytes não ASCII são substituídos por ponto.
ASCII e controle
Nesta visualização, todos os caracteres de controle são mostrados usando um símbolo UTF-8 e todos os bytes não ASCII são substituídos
por ponto.
Matriz C
Isso permite que você importe os dados do campo para seu próprio programa C.
EBCDIC
Despejo Hexadecimal
Isso permite que você veja todos os dados. Isso exigirá muito espaço na tela e é melhor usado com protocolos binários.
HTML
Isso permite que você veja todos os dados formatados como um documento HTML. O HTML suportado é o que é suportado
pela classe Qt QTextEdit.
Imagem
Isso tentará converter os bytes em uma imagem. Os formatos mais populares são suportados, incluindo PNG, JPEG, GIF e
BMP.
ISO 8859-1
Cru
Isso permite que você carregue os dados de fluxo inalterados em um programa diferente para um exame mais aprofundado.
A tela mostrará dados HEX, mas “Salvar como” resultará em um arquivo binário.
UTF-8
UTF-16
YAML
Você pode pesquisar texto inserindo-o na caixa de entrada "Localizar" e pressionando [ Localizar próximo ].
Informações especializadas
O Wireshark rastreia quaisquer anomalias e outros itens de interesse que encontra em um arquivo de captura e os mostra na
caixa de diálogo Informações especializadas. O objetivo é dar a você uma ideia melhor do comportamento de rede incomum ou
notável e permitir que usuários novatos e experientes encontrem problemas de rede mais rapidamente do que varrer manualmente
a lista de pacotes.
A informação especializada é o ponto de partida para a investigação, não o ponto de parada. Cada
AVISO rede é diferente e cabe a você verificar se as informações especializadas do Wireshark se aplicam à
sua situação específica. A presença de informações especializadas não indica necessariamente um
problema e a ausência de informações especializadas não significa necessariamente que está tudo
bem.
Machine Translated by Google
A quantidade de informações especializadas depende em grande parte do protocolo que está sendo usado. Enquanto os
dissecadores para alguns protocolos comuns, como TCP e IP, mostrarão informações detalhadas, outros dissecadores mostrarão
pouco ou nenhum.
A seguir, descrevemos os componentes de uma única entrada de informações especializadas junto com a interface de usuário
especialista.
As entradas de informações especializadas são agrupadas por nível de gravidade (descrito abaixo) e contêm o seguinte:
resposta …
Seq=12761 Vitória=0
Len=0
Gravidade
Cada item de informação especializada tem um nível de gravidade. Os seguintes níveis são usados, do mais baixo ao mais alto. O
Wireshark os marca usando cores diferentes, que são mostradas entre parênteses:
Bate-papo (azul)
Informações sobre o fluxo de trabalho usual, por exemplo, um pacote TCP com o sinalizador SYN definido.
Nota (ciano)
Eventos notáveis, por exemplo, um aplicativo retornou um código de erro comum, como HTTP 404.
Avisar (amarelo)
Avisos, por exemplo, o aplicativo retornou um código de erro incomum, como um problema de conexão.
Erro (vermelho)
Resumo
Grupo
Juntamente com os níveis de gravidade, os itens de informações especializadas são categorizados por grupo. Atualmente estão
implementados os seguintes grupos:
Suposição O
campo do protocolo tem dados incompletos e foi analisado com base no valor presumido.
soma de verificação
Comente
Comentário do pacote.
Depurar
Informações de depuração. Você não deve ver este grupo nas versões de lançamento do Wireshark.
Descriptografia
Um problema de descriptografia.
Obsoleto O
Malformado
Pacote malformado ou dissecador tem um bug. A dissecação deste pacote foi abortada.
Protocolo
Violação da especificação de um protocolo (por exemplo, valores de campo inválidos ou comprimentos ilegais). A dissecação deste
pacote provavelmente continuou.
Remontar
Problemas durante a remontagem, por exemplo, nem todos os fragmentos estavam disponíveis ou ocorreu uma exceção durante a
remontagem.
Solicitar Código
Uma solicitação de aplicativo (por exemplo, File Handle == x). Geralmente é atribuído o nível de gravidade do Bate-papo.
Código de resposta
Um código de resposta do aplicativo indica um possível problema, por exemplo, página HTTP 404 não encontrada.
Segurança
Seqüência
Um número de sequência de protocolo era suspeito, por exemplo, não era contínuo ou uma retransmissão foi detectada.
Machine Translated by Google
não decodificado
Dissecção incompleta ou dados não podem ser decodificados por outros motivos.
Protocolo
Você pode abrir a caixa de diálogo de informações do especialista selecionando Analisar › Informações do especialista ou clicando no
indicador de nível do especialista na barra de status principal.
Clicar com o botão direito do mouse em um item permitirá que você aplique ou prepare um filtro com base no item, copie seu texto de resumo
e outras tarefas.
Mostrar apenas itens de informações especializadas presentes em pacotes que correspondam ao filtro de exibição atual.
Agrupe os itens por seu resumo em vez dos grupos descritos acima.
Procurar
Mostre apenas itens que correspondam à string de pesquisa, como “dns”. As expressões regulares são suportadas.
Machine Translated by Google
Exposição…
Permite mostrar ou ocultar cada nível de gravidade. Por exemplo, você pode desmarcar as gravidades de bate-
papo e nota, se desejar.
[ Ajuda ]
Leva você a esta seção do Guia do usuário.
[ Perto ]
A árvore de detalhes do pacote marca os campos com informações especializadas com base na cor do nível de
severidade, por exemplo, severidades de “Aviso” têm fundo amarelo. Essa cor é propagada para o item de protocolo
de nível superior na árvore para facilitar a localização do campo que gerou a informação do especialista.
Para a captura de tela de exemplo acima, o valor IP "Time to live" é muito baixo (apenas 1), então o campo de
protocolo correspondente é marcado com um fundo ciano. Para facilitar a localização desse item na árvore de
pacotes, o item de nível superior do protocolo IP também é marcado em ciano.
Está disponível uma coluna opcional da lista de pacotes “Gravidade das informações especializadas” que exibe a gravidade
mais significativa de um pacote ou permanece vazia se tudo parecer OK. Esta coluna não é exibida por padrão, mas pode
ser facilmente adicionada usando a página Colunas de preferências descrita em Preferências.
Análise TCP
Por padrão, o dissecador TCP do Wireshark rastreia o estado de cada sessão TCP e fornece informações adicionais quando
problemas ou possíveis problemas são detectados. A análise é feita uma vez para cada pacote TCP quando um arquivo de
captura é aberto pela primeira vez. Os pacotes são processados na ordem em que aparecem na lista de pacotes. Você pode
habilitar ou desabilitar esse recurso por meio de “Analisar números de sequência TCP”
Preferência do dissecador TCP.
Para análise de dados ou protocolos sobrepostos ao TCP (como HTTP), consulte Remontagem do TCP.
Os sinalizadores de análise TCP são adicionados à árvore do protocolo TCP em “análise SEQ/ACK”. Cada bandeira é
descrita abaixo. Termos como “próximo número de sequência esperado” e “próximo número de confirmação esperado”
referem-se ao seguinte”:
Machine Translated by Google
O último número de sequência visto mais o comprimento do segmento. Definido quando não há sinalizadores de análise e
para sondas de janela zero. Inicialmente é zero e calculado com base no pacote anterior no mesmo fluxo TCP. Observe
que isso pode não ser o mesmo que o campo do protocolo tcp.nxtseq.
O último número de sequência visto para segmentos. Definido quando não há sinalizadores de análise e para sondas de
janela zero.
Sempre definido. Observe que isso não é o mesmo que o próximo número de confirmação esperado.
Sempre atualizado para cada pacote. Observe que isso não é o mesmo que o próximo número de confirmação esperado.
Definido quando o próximo número de confirmação esperado é definido para a direção reversa e é menor que o número de
confirmação atual.
• O próximo número de sequência esperado e o último número de confirmação visto são diferentes de zero (ou seja,
a conexão foi estabelecida).
• Na direção direta, o tamanho do segmento é maior que zero ou o SYN ou FIN está definido.
TCP Keep-Alive
Definido quando o tamanho do segmento é zero ou um, o número de sequência atual é um byte menor que o próximo número
de sequência esperado e nenhum SYN, FIN ou RST é definido.
• Na direção direta, o comprimento do segmento é maior que zero ou o SYN ou FIN está definido.
• O último segmento chegou dentro do limite RTT fora de ordem. O limite é o valor mostrado no campo
“iRTT” (tcp.analysis.initial_rtt) em “SEQ/ACK analysis” se estiver presente, ou o valor padrão de 3ms se não estiver.
Substitui “Retransmissão”.
Definido quando o sinalizador SYN é definido (não SYN+ACK), temos uma conversa existente usando os mesmos endereços
e portas, e o número de sequência é diferente do número de sequência inicial da conversa existente.
Definido quando o número de sequência atual é maior que o próximo número de sequência esperado.
• Os dados para este fluxo foram confirmados. Ou seja, o último número de confirmação visto foi
definido.
Retransmissão TCP
• Na direção direta, o comprimento do segmento é maior que zero ou o sinalizador SYN ou FIN está definido.
Definido quando o tamanho do segmento é diferente de zero, conhecemos o tamanho da janela na direção reversa e o tamanho do
nosso segmento excede o tamanho da janela na direção reversa.
• O tamanho da janela é diferente de zero e não é igual ao tamanho da última janela vista.
TCP ZeroWindow
Definido quando o tamanho da janela de recebimento é zero e nenhum SYN, FIN ou RST está definido.
Machine Translated by Google
O campo da janela em cada cabeçalho TCP anuncia a quantidade de dados que um receptor pode aceitar. Se o receptor não
puder aceitar mais dados, ele definirá o valor da janela como zero, o que informa ao remetente para pausar sua transmissão.
Em alguns casos específicos, isso é normal — por exemplo, uma impressora pode usar uma janela zero para pausar a
transmissão de um trabalho de impressão enquanto carrega ou inverte uma folha de papel.
No entanto, na maioria dos casos, isso indica um problema de desempenho ou capacidade na extremidade receptora. Pode
levar muito tempo (às vezes vários minutos) para retomar uma conexão pausada, mesmo que a condição subjacente que
causou a janela zero desapareça rapidamente.
TCP ZeroWindowProbe
Definido quando o número de sequência é igual ao próximo número de sequência esperado, o tamanho do segmento é um e
o tamanho da última janela vista na direção reversa era zero.
Se o único byte de dados de um Zero Window Probe for descartado pelo receptor (não confirmado), um segmento subsequente
não deve ser sinalizado como retransmissão se todas as seguintes condições forem verdadeiras para esse segmento: * O
tamanho do segmento é maior que um . * O próximo número de sequência esperado é
um a menos que o número de sequência atual.
TCP ZeroWindowProbeAck
• O último pacote visto na direção reversa foi uma sondagem de janela zero.
• 1: SYN
• 2: SYN-ACK
• 4: ACK
• 8: DADOS
• 16: FIN
• 32: RST
Por exemplo, uma conversa contendo apenas um handshake de três vias será encontrada com o filtro
'tcp.completeness==7' (1+2+4) enquanto uma conversa completa com transferência de dados será encontrada com um filtro
mais longo como fechar uma a conexão pode ser associada a pacotes FIN ou RST, ou mesmo a ambos: 'tcp.completeness==31
ou tcp.completeness==47 ou tcp.completeness==63'
Carimbos de hora
Carimbos de tempo, suas precisões e tudo isso podem ser bastante confusos. Esta seção fornecerá informações sobre o
que está acontecendo enquanto o Wireshark processa carimbos de data/hora.
Enquanto os pacotes são capturados, cada pacote é carimbado com a hora que chega. Esses carimbos de hora serão salvos
no arquivo de captura, portanto, também estarão disponíveis para análise (posterior).
Então, de onde vêm esses carimbos de data/hora? Durante a captura, o Wireshark obtém os carimbos de data/hora da
biblioteca libpcap (Npcap), que por sua vez os obtém do kernel do sistema operacional. Se os dados de captura forem
carregados de um arquivo de captura, o Wireshark obviamente obterá os dados desse arquivo.
Internos do Wireshark
O formato interno que o Wireshark usa para manter um carimbo de hora do pacote consiste na data (em dias desde 1.1.1970)
e na hora do dia (em nanossegundos desde a meia-noite). Você pode ajustar a maneira como o Wireshark exibe os dados
de registro de data e hora na lista de pacotes, consulte o item “Formato de exibição de hora” no menu “Visualizar” para obter
detalhes.
Ao ler ou gravar arquivos de captura, o Wireshark converte os dados de registro de data e hora entre o formato do arquivo
de captura e o formato interno conforme necessário.
Durante a captura, o Wireshark usa a biblioteca de captura libpcap (Npcap) que suporta resolução de microssegundos. A
menos que você esteja trabalhando com hardware de captura especializado, essa resolução deve ser adequada.
Cada formato de arquivo de captura que o Wireshark conhece suporta carimbos de data/hora. A precisão do carimbo de data/
hora suportada por um formato de arquivo de captura específico difere amplamente e varia de um segundo “0” a um
nanossegundo “0,123456789”. A maioria dos formatos de arquivo armazena os carimbos de hora com uma precisão fixa (por
exemplo, microssegundos), enquanto alguns formatos de arquivo são capazes de armazenar a própria precisão do carimbo de hora
Machine Translated by Google
O formato de arquivo de captura libpcap comum usado pelo Wireshark (e muitas outras ferramentas) suporta apenas uma resolução
fixa de microssegundos “0,123456”.
Gravar dados em um formato de arquivo de captura que não fornece a capacidade de armazenar a precisão real levará à perda de
informações. Por exemplo, se você carregar um arquivo de captura com resolução de nanossegundos e armazenar os dados de
captura em um arquivo libpcap (com resolução de microssegundos), o Wireshark obviamente deve reduzir a precisão de
nanossegundos para microssegundos.
Precisão
As pessoas costumam perguntar “Qual precisão de carimbo de data/hora é fornecida pelo Wireshark?”. Bem, o Wireshark não cria
nenhum carimbo de tempo, mas simplesmente os obtém de “algum outro lugar” e os exibe. Portanto, a precisão dependerá do
sistema de captura (sistema operacional, desempenho etc.) que você usa.
Por causa disso, a pergunta acima é difícil de responder de maneira geral.
Os adaptadores de rede conectados por USB geralmente fornecem uma precisão de carimbo de data/hora
muito ruim. Os pacotes que chegam precisam percorrer “uma estrada longa e sinuosa” para percorrer o cabo
USB até chegarem ao kernel. Como os pacotes de entrada são marcados com a hora quando são processados
NOTA
pelo kernel, esse mecanismo de marcação de hora torna-se muito impreciso.
Não use placas de rede conectadas por USB quando precisar de precisão de carimbo de data/hora.
Fusos horários
Se você viajar pelo planeta, os fusos horários podem ser confusos. Se você obtiver um arquivo de captura de algum lugar do mundo,
os fusos horários podem ser muito mais confusos ;-)
Em primeiro lugar, há duas razões pelas quais você pode não precisar pensar em fusos horários:
• Você só está interessado nas diferenças de tempo entre os carimbos de hora do pacote e não precisa
para saber a data e hora exatas dos pacotes capturados (o que geralmente acontece).
• Você não obtém arquivos de captura de fusos horários diferentes do seu, então simplesmente não há problemas de fuso horário.
Por exemplo, todos em sua equipe estão trabalhando no mesmo fuso horário que você.
Machine Translated by Google
As pessoas esperam que a hora reflita o pôr do sol. O amanhecer deve ser de manhã, talvez por volta das 06:00 e o
anoitecer, talvez às 20:00. Obviamente, esses horários variam de acordo com a estação. Seria muito confuso se todos na
Terra usassem o mesmo horário global, pois isso corresponderia ao pôr do sol apenas em uma pequena parte do mundo.
Por esse motivo, a Terra é dividida em vários fusos horários diferentes, cada zona com uma hora local que corresponde ao
pôr do sol local.
A hora base do fuso horário é UTC (Tempo Universal Coordenado) ou Zulu Time (militar e de aviação). O termo mais antigo
GMT (Greenwich Mean Time) não deve ser usado, pois está ligeiramente incorreto (até 0,9 segundos de diferença em
relação ao UTC). A hora base UTC é igual a 0 (com base em Greenwich, Inglaterra) e todos os fusos horários têm um
deslocamento para UTC entre -12 a +14 horas!
Por exemplo: Se você mora em Berlim, está em um fuso horário uma hora antes do UTC, portanto, está no fuso horário
“+1” (diferença horária em horas em relação ao UTC). Se são 3 horas em Berlim, são 2 horas em UTC “no mesmo momento”.
Esteja ciente de que em alguns lugares da Terra não use fusos horários com deslocamentos de horas uniformes (por
exemplo, Nova Deli usa UTC+05:30)!
O horário de verão (DST), também conhecido como horário de verão, destina-se a “economizar” um pouco da luz do dia
durante os meses de verão. Para fazer isso, muitos países (mas não todos!) adicionam uma hora de horário de verão ao
deslocamento UTC já existente. Portanto, pode ser necessário levar mais uma hora (ou, em casos muito raros, até duas
horas!) De diferença em seus “cálculos de fuso horário”.
Infelizmente, a data em que o horário de verão realmente entra em vigor é diferente em todo o mundo.
Você também pode notar que os hemisférios norte e sul têm horários de verão opostos (por exemplo, enquanto é verão na
Europa, é inverno na Austrália).
Lembre-se: o UTC permanece o mesmo durante todo o ano, independentemente do horário de verão!
Mais informações sobre fuso horário e horário de verão podem ser encontradas em https://wwp.greenwichmeantime.com/ e https://
www.timeanddate.com/worldclock/.
Se você trabalha com pessoas de todo o mundo, é muito útil definir corretamente a hora e o fuso horário do seu computador.
Você deve definir a hora e o fuso horário do seu computador na sequência correta:
Dessa forma, você informará ao seu computador a hora local e também a diferença de horário para o UTC. Muitas
organizações simplesmente definem o fuso horário em seus servidores e equipamentos de rede para UTC para facilitar a
coordenação e a solução de problemas.
Se você viaja pelo mundo, é um erro comum ajustar as horas do relógio do computador para o horário
local. Não ajuste as horas, mas sim a configuração do fuso horário! Para o seu computador, a hora é
GORJETA
essencialmente a mesma de antes, você simplesmente está em um fuso horário diferente com um horário
local diferente.
Você pode usar o Network Time Protocol (NTP) para ajustar automaticamente seu computador para a hora correta,
sincronizando-o com os servidores de relógio NTP da Internet. Os clientes NTP estão disponíveis para todos os sistemas
operacionais suportados pelo Wireshark (e para muito mais), para ver exemplos em http://www.ntp.org/.
O formato de arquivo de captura nativo do Wireshark (formato libpcap) e alguns outros formatos de arquivo de captura,
como os formatos Windows Sniffer, *Peek, Sun snoop e versões mais recentes dos formatos Microsoft Network Monitor e
Network Instruments/Viavi Observer, salvam a hora de chegada de pacotes como valores UTC. Sistemas UN*X e sistemas
“baseados em Windows NT” representam o tempo internamente como UTC. Quando o Wireshark está capturando,
nenhuma conversão é necessária. No entanto, se o fuso horário do sistema não estiver definido corretamente, a hora UTC
do sistema pode não estar definida corretamente, mesmo que o relógio do sistema pareça exibir a hora local correta. Ao
capturar, o Npcap precisa converter a hora para UTC antes de fornecê-la ao Wireshark. Se o fuso horário do sistema não
estiver definido corretamente, essa conversão não será feita corretamente.
Outros formatos de arquivo de captura, como o formato Sniffer baseado em OOS e versões mais antigas dos formatos
Microsoft Network Monitor e Network Instruments/Viavi Observer, salvam a hora de chegada dos pacotes como valores de
hora local.
Internamente ao Wireshark, os timestamps são representados em UTC. Isso significa que, ao ler arquivos de captura que
salvam a hora de chegada dos pacotes como valores de hora local, o Wireshark deve converter esses valores de hora local
em valores UTC.
O Wireshark, por sua vez, exibirá os timestamps sempre na hora local. O computador de exibição os converterá de UTC
para hora local e exibirá essa hora (local). Para arquivos de captura que salvam a hora de chegada dos pacotes como
valores UTC, isso significa que a hora de chegada será exibida como local
Machine Translated by Google
hora em seu fuso horário, que pode não ser igual à hora de chegada no fuso horário em que o pacote foi capturado.
Para arquivos de captura salvando a hora de chegada dos pacotes como valores de hora local, a conversão para
UTC será feita usando o deslocamento do seu fuso horário das regras UTC e DST, o que significa que a conversão
não será feita corretamente; a conversão de volta para a hora local para exibição pode desfazer isso corretamente,
caso em que a hora de chegada será exibida como a hora de chegada em que o pacote foi capturado.
Tabela 28. Exemplos de fuso horário para horários de chegada UTC (sem horário de verão)
Deslocamento -8 -5 -1 0 +1 +9
local para UTC
Por exemplo, vamos supor que alguém em Los Angeles capturou um pacote com o Wireshark exatamente às 2 horas
do horário local e enviou a você este arquivo de captura. O carimbo de hora do arquivo de captura será representado
em UTC como 10 horas. Você está localizado em Berlim e verá 11 horas no visor do Wireshark.
Agora você tem um telefonema, videoconferência ou reunião na Internet com aquele para falar sobre aquele arquivo
de captura. Como vocês dois estão olhando para a hora exibida em seus computadores locais, o de Los Angeles
ainda vê 2 horas, mas você em Berlim verá 11 horas. As exibições de hora são diferentes, pois ambas as exibições
do Wireshark mostrarão as horas locais (diferentes) no mesmo ponto no tempo.
Conclusão: Você pode não se preocupar com a data/hora do carimbo de data/hora que está vendo atualmente, a
menos que precise se certificar de que a data/hora é a esperada. Portanto, se você obtiver um arquivo de captura de
um fuso horário e/ou horário de verão diferente, terá que descobrir a diferença de fuso horário/DST entre os dois
horários locais e “ajustar mentalmente” os carimbos de hora de acordo. De qualquer forma, certifique-se de que todos
os computadores em questão tenham a configuração correta de hora e fuso horário.
Remontagem de Pacotes
O que é isso?
Os protocolos de rede geralmente precisam transportar grandes blocos de dados que são completos em si mesmos,
por exemplo, ao transferir um arquivo. O protocolo subjacente pode não ser capaz de lidar com esse tamanho de
bloco (por exemplo, limitação do tamanho do pacote de rede) ou é baseado em fluxo como o TCP, que não conhece
os blocos de dados.
Nesse caso, o protocolo de rede precisa lidar com os limites do bloco e (se necessário) espalhar os dados por vários
pacotes. Obviamente, também precisa de um mecanismo para determinar o pedaço
Machine Translated by Google
O Wireshark chama esse mecanismo de remontagem, embora uma especificação de protocolo específica possa usar um termo
diferente para isso (por exemplo, dessegmentação, desfragmentação, etc.).
Para alguns dos protocolos de rede que o Wireshark conhece, um mecanismo é implementado para encontrar, decodificar e
exibir esses blocos de dados. O Wireshark tentará encontrar os pacotes correspondentes deste bloco e mostrará os dados
combinados como guias adicionais no painel “Packet Bytes” (para obter informações sobre este painel, consulte o painel
“Packet Bytes”).
A remontagem pode ocorrer em várias camadas de protocolo, então é possível que várias guias no painel “Packet Bytes”
apareçam.
Por exemplo, em uma resposta HTTP GET, os dados solicitados (por exemplo, uma página HTML) são retornados.
O Wireshark mostrará o despejo hexadecimal dos dados em uma nova guia “Corpo da entidade não compactada” no painel
“Bytes do pacote”.
A remontagem é habilitada nas preferências por padrão, mas pode ser desabilitada nas preferências do protocolo em questão.
Habilitar ou desabilitar as configurações de remontagem para um protocolo geralmente requer duas coisas:
1. O protocolo de nível inferior (por exemplo, TCP) deve suportar a remontagem. Muitas vezes esta remontagem pode ser
ativado ou desativado por meio das preferências de protocolo.
2. O protocolo de nível superior (por exemplo, HTTP) deve usar o mecanismo de remontagem para remontar dados de
protocolo fragmentados. Isso também pode ser ativado ou desativado por meio das preferências de protocolo.
A dica da configuração do protocolo de nível superior irá notificá-lo se e qual configuração do protocolo de nível inferior também
deve ser considerada.
Remontagem TCP
Protocolos como HTTP ou TLS provavelmente abrangem vários segmentos TCP. A preferência do protocolo TCP “Permitir que
o subdissector remonte os fluxos TCP” (ativada por padrão) torna possível
Machine Translated by Google
para o Wireshark coletar uma sequência contígua de segmentos TCP e entregá-los ao protocolo de nível superior (por
exemplo, para reconstruir uma mensagem HTTP completa). Todos, exceto o segmento final, serão marcados com “[TCP
segment of a reassembled PDU]” na lista de pacotes.
Desabilite esta preferência para reduzir a sobrecarga de memória e processamento se você estiver interessado apenas
na análise do número de sequência TCP (Análise TCP). Tenha em mente, porém, que os protocolos de nível superior
podem ser dissecados incorretamente. Por exemplo, as mensagens HTTP podem ser mostradas como “Continuação” e
os registros TLS podem ser mostrados como “Registro desconhecido ignorado”. Esses resultados também podem ser
observados se você iniciar a captura enquanto uma conexão TCP já foi iniciada ou quando os segmentos TCP são
perdidos ou entregues fora de ordem.
Para remontar segmentos TCP fora de ordem, a preferência do protocolo TCP “Remontar segmentos fora de
ordem” (atualmente desativada por padrão) deve ser habilitada além da preferência anterior. Se todos os pacotes forem
recebidos em ordem, essa preferência não terá efeito. Caso contrário (se forem encontrados segmentos ausentes
durante o processamento sequencial de uma captura de pacote), assume-se que os segmentos novos e ausentes
pertencem à mesma PDU. Ressalvas:
• Presume-se que pacotes perdidos sejam recebidos fora de ordem ou retransmitidos posteriormente. Os aplicativos
geralmente retransmitem segmentos até que sejam reconhecidos, mas se a captura de pacotes descartar pacotes,
o Wireshark não será capaz de reconstruir o fluxo TCP. Nesses casos, você pode tentar desativar essa preferência
e, com sorte, ter uma dissecação parcial em vez de ver apenas “[segmento TCP de uma PDU remontada]” para
cada segmento TCP.
• Ao fazer uma captura no modo monitor (IEEE 802.11), é mais provável que os pacotes sejam perdidos devido a
problemas de recepção de sinal. Nesse caso, é recomendável desativar a opção.
• Se os segmentos novos e ausentes forem, de fato, parte de PDUs diferentes, o processamento será atrasado até
que não haja mais segmentos ausentes, mesmo que o início dos segmentos ausentes tenha concluído uma PDU.
Por exemplo, suponha seis segmentos formando duas PDUs ABC e DEF. Quando recebido como ABECDF, um
aplicativo pode iniciar o processamento da primeira PDU após receber o ABEC.
No entanto, o Wireshark requer que o segmento D ausente também seja recebido. Esta questão será abordada no
futuro.
• Na GUI e durante uma dissecação de duas passagens (tshark -2), o cenário anterior exibirá ambos os PDUs no
pacote com o último segmento (F) em vez de exibi-lo no primeiro pacote que possui o segmento final ausente de um
PDU . Esta questão será abordada no futuro.
• Quando ativados, campos como SMB “Tempo desde a solicitação” (smb.time) podem ser menores se a solicitação
seguir outros segmentos fora de ordem (isso reflete o comportamento do aplicativo). No entanto, se o cenário
anterior ocorrer, o tempo da solicitação será baseado no quadro em que todos os segmentos ausentes são recebidos.
Independentemente da configuração dessas duas preferências relacionadas à remontagem, você sempre pode usar a
opção “Follow TCP Stream” (Following Protocol Streams) que exibe os segmentos na ordem esperada.
Machine Translated by Google
Resolução do nome
A resolução de nomes tenta converter alguns dos valores de endereço numérico em um valor legível por humanos
formato. Existem duas maneiras possíveis de fazer essas conversões, dependendo da resolução a ser feita: chamar serviços de
sistema/rede (como a função gethostname()) e/ou resolver a partir de arquivos de configuração específicos do Wireshark. Para obter
detalhes sobre os arquivos de configuração que o Wireshark usa para resolução de nomes e similares, consulte Arquivos e pastas.
O recurso de resolução de nome pode ser ativado individualmente para as camadas de protocolo listadas nas seções a seguir.
A resolução de nomes pode ser inestimável ao trabalhar com o Wireshark e pode até economizar horas de trabalho. Infelizmente,
também tem suas desvantagens.
• A resolução de nomes geralmente pode falhar. O nome a ser resolvido pode simplesmente ser desconhecido pelos servidores de
nomes solicitados, ou os servidores simplesmente não estão disponíveis e o nome também não foi encontrado nos arquivos de
configuração do Wireshark.
• Os nomes resolvidos podem não estar disponíveis. O Wireshark obtém informações de resolução de nome de uma variedade de
fontes, incluindo servidores DNS, o próprio arquivo de captura (por exemplo, para um arquivo pcapng) e os arquivos hosts em
seu sistema e em seu diretório de perfil. Os nomes resolvidos podem não estar disponíveis se você abrir o arquivo de captura
posteriormente ou em uma máquina diferente. Como resultado, cada vez que você ou outra pessoa abre um determinado arquivo
de captura, ele pode parecer um pouco diferente devido à mudança de ambiente.
• O DNS pode adicionar pacotes adicionais ao seu arquivo de captura. Você pode se deparar com o efeito do observador se o
tráfego extra das consultas e respostas de DNS do Wireshark afetar o problema que você está tentando solucionar ou qualquer
análise subsequente.
O mesmo tipo de coisa pode acontecer ao capturar através de uma conexão remota, por exemplo, SSH ou RDP.
• Os nomes DNS resolvidos são armazenados em cache pelo Wireshark. Isso é necessário para um desempenho aceitável.
No entanto, se as informações de resolução de nome forem alteradas enquanto o Wireshark estiver em execução, o Wireshark
não notará uma alteração nas informações de resolução de nome depois de armazenadas em cache. Se esta informação mudar
enquanto o Wireshark estiver em execução, por exemplo, uma nova concessão de DHCP entrar em vigor, o Wireshark não notará
isso.
A resolução de nomes na lista de pacotes é feita enquanto a lista é preenchida. Se um nome puder ser resolvido depois que um
pacote for adicionado à lista, sua entrada anterior não será alterada. Como os resultados da resolução de nomes são armazenados
em cache, você pode usar Exibir › Recarregar para reconstruir a lista de pacotes com os nomes resolvidos corretamente.
No entanto, isso não é possível enquanto uma captura estiver em andamento.
Machine Translated by Google
Tente resolver um endereço Ethernet MAC (por exemplo, 00:09:5b:01:02:03) para um nome legível por humanos.
Resolução de nome ARP (serviço do sistema): O Wireshark pedirá ao sistema operacional para converter um endereço Ethernet para o
endereço IP correspondente (por exemplo, 00:09:5b:01:02:03 ÿ 192.168.0.1).
Códigos Ethernet (arquivo ethers): Se a resolução do nome ARP falhou, o Wireshark tenta converter o endereço Ethernet para um nome
de dispositivo conhecido, que foi atribuído pelo usuário usando um arquivo ethers (por exemplo, 00:09:5b:01:02 :03 ÿ roteador doméstico).
Códigos do fabricante Ethernet (arquivo manuf): Se nem ARP nem ethers retornarem um resultado, o Wireshark tenta converter os
primeiros 3 bytes de um endereço Ethernet para um nome abreviado do fabricante, que foi atribuído pelo IEEE (por exemplo, 00:09:5b:
01:02:03 ÿ Netgear_01:02:03).
Tente resolver um endereço IP (por exemplo, 216.239.37.99) para um nome legível por humanos.
Resolução de nome DNS (sistema/ serviço de biblioteca): O Wireshark usará um resolvedor de nome para converter um endereço IP no
nome do host associado a ele (por exemplo, 216.239.37.99 ÿ www.1.google.com).
A maioria dos aplicativos usa resolução de nomes DNS de forma síncrona. Por exemplo, seu navegador da web deve resolver a parte
do nome do host de uma URL antes de poder se conectar ao servidor. A análise do arquivo de captura é diferente. Um determinado
arquivo pode ter centenas, milhares ou milhões de endereços IP, portanto, por motivos de usabilidade e desempenho, o Wireshark usa
resolução assíncrona. Ambos os mecanismos convertem endereços IP em nomes (domínio) legíveis por humanos e normalmente usam
fontes diferentes, como o arquivo de hosts do sistema (/ etc/ hosts) e quaisquer servidores DNS configurados.
Como o Wireshark não espera por respostas DNS, o nome do host para um determinado endereço pode estar ausente de um
determinado pacote quando você o visualiza pela primeira vez, mas pode estar presente quando você o visualiza nas vezes subsequentes.
Você pode ajustar o comportamento da resolução de nomes na seção Resolução de nomes na caixa de diálogo Preferências.
Você pode controlar a própria resolução adicionando um arquivo hosts ao seu diretório de configuração pessoal. Você também pode
editar o arquivo de hosts do sistema , mas isso geralmente não é recomendado.
Tente resolver uma porta TCP/UDP (por exemplo, 80) para um nome legível por humanos.
Conversão de porta TCP/ UDP (serviço do sistema): O Wireshark pedirá ao sistema operacional para converter uma porta TCP ou UDP
para seu nome conhecido (por exemplo, 80 ÿ http).
Resolução de ID de VLAN
Para obter um nome descritivo para um ID de tag VLAN, um arquivo vlans pode ser usado.
Machine Translated by Google
Para obter um nome de nó para um código de ponto SS7, um arquivo ss7pcs pode ser usado.
somas de verificação
Vários protocolos de rede usam somas de verificação para garantir a integridade dos dados. A aplicação de somas de verificação conforme
As somas de verificação são usadas para garantir a integridade das porções de dados para transmissão ou armazenamento de dados.
As transmissões de dados de rede geralmente produzem erros, como bits alternados, ausentes ou duplicados.
Como resultado, os dados recebidos podem não ser idênticos aos dados transmitidos, o que obviamente é uma coisa ruim.
Devido a esses erros de transmissão, os protocolos de rede costumam usar somas de verificação para detectar esses erros. O
transmissor calculará uma soma de verificação dos dados e transmitirá os dados
juntamente com a soma de verificação. O receptor calculará a soma de verificação dos dados recebidos com o mesmo algoritmo do
transmissor. Se as somas de verificação recebidas e calculadas não corresponderem, ocorreu um erro de transmissão.
Alguns algoritmos de soma de verificação são capazes de recuperar erros (simples) calculando onde o erro esperado deve estar e
reparando-o.
Se houver erros que não podem ser recuperados, o lado receptor descarta o pacote.
Dependendo do protocolo de rede, essa perda de dados é simplesmente ignorada ou o lado de envio precisa detectar essa perda de
O uso de uma soma de verificação reduz drasticamente o número de erros de transmissão não detectados.
No entanto, os algoritmos de soma de verificação usuais não podem garantir uma detecção de erro de 100%, portanto, um número
Existem vários tipos diferentes de algoritmos de soma de verificação; um exemplo de algoritmo de soma de verificação frequentemente
usado é o CRC32. O algoritmo de soma de verificação realmente escolhido para um protocolo de rede específico dependerá da taxa
de erro esperada do meio de rede, da importância da detecção de erros, da carga do processador para realizar o cálculo, do desempenho
Mais informações sobre checksums podem ser encontradas em: https://en.wikipedia.org/wiki/ Checksum.
Machine Translated by Google
O Wireshark validará as somas de verificação de muitos protocolos, por exemplo, IP, TCP, UDP, etc.
Ele fará o mesmo cálculo que um “receptor normal” faria e mostra os campos de soma de verificação nos detalhes do pacote
com um comentário, por exemplo, [correto] ou [inválido, deve ser 0x12345678].
A validação da soma de verificação pode ser desativada para vários protocolos nas preferências do protocolo Wireshark, por
exemplo, para (muito ligeiramente) aumentar o desempenho.
Se a validação da soma de verificação estiver habilitada e detectar uma soma de verificação inválida, recursos como
remontagem de pacotes não serão processados. Isso é evitado, pois dados de conexão incorretos podem “confundir” o banco
de dados interno.
O cálculo do checksum pode ser feito pelo driver de rede, driver de protocolo ou até mesmo no hardware.
Por exemplo: O hardware de transmissão Ethernet calcula o checksum Ethernet CRC32 e o hardware receptor valida esse
checksum. Se a soma de verificação recebida estiver errada, o Wireshark nem verá o pacote, pois o hardware Ethernet descarta
internamente o pacote.
As somas de verificação de nível superior são “tradicionalmente” calculadas pela implementação do protocolo e o pacote
completo é então entregue ao hardware.
O hardware de rede recente pode executar recursos avançados, como cálculo de soma de verificação de IP, também conhecido
como descarregamento de soma de verificação. O driver de rede não calculará a soma de verificação em si, mas simplesmente
entregará um campo de soma de verificação vazio (zero ou lixo) ao hardware.
O descarregamento da soma de verificação geralmente causa confusão, pois os pacotes de rede a serem
transmitidos são entregues ao Wireshark antes que as somas de verificação sejam realmente calculadas.
NOTA O Wireshark obtém essas somas de verificação “vazias” e as exibe como inválidas, mesmo que os pacotes
contenham somas de verificação válidas quando deixarem o hardware de rede posteriormente.
O descarregamento da soma de verificação pode ser confuso e ter muitas mensagens [inválidas] na tela pode ser bastante
irritante. Como mencionado acima, somas de verificação inválidas podem levar a pacotes não montados, dificultando muito a
análise dos dados do pacote.
Você pode fazer duas coisas para evitar esse problema de descarregamento da soma de verificação:
• Desative o descarregamento da soma de verificação no driver de rede, se esta opção estiver disponível.
• Desative a validação da soma de verificação do protocolo específico nas preferências do Wireshark. Versões recentes do
Wireshark desativam a validação da soma de verificação por padrão devido à prevalência de descarregamento em
hardware e sistemas operacionais modernos.
Machine Translated by Google
Estatisticas
Introdução
O Wireshark fornece uma ampla gama de estatísticas de rede que podem ser acessadas através do Estatísticas
cardápio.
Essas estatísticas vão desde informações gerais sobre o arquivo de captura carregado (como o número de pacotes capturados) até
estatísticas sobre protocolos específicos (por exemplo, estatísticas sobre o número de solicitações e respostas HTTP capturadas).
estatísticas gerais
O Wireshark possui muitas outras janelas de estatísticas que exibem informações detalhadas sobre protocolos específicos e podem
ser descritas em uma versão posterior deste documento.
Detalhes
Arquivo
Informações gerais sobre o arquivo de captura, incluindo seu caminho completo, tamanho, hashes criptográficos, formato
de arquivo e encapsulamento.
Tempo
Capturar
Informações sobre o ambiente de captura. Isso só será mostrado para capturas ao vivo ou se esta informação estiver presente
em um arquivo de captura salvo. O formato pcapng suporta isso, enquanto o pcap não.
Interfaces
Estatisticas
Um resumo estatístico do arquivo de captura. Se um filtro de exibição for definido, você verá os valores na coluna Capturado e,
se algum pacote estiver marcado, você verá os valores na coluna Marcado .
Os valores da coluna Capturados permanecerão os mesmos de antes, enquanto os valores da coluna Exibidos refletirão os
valores correspondentes aos pacotes mostrados no display.
Os valores na coluna Marcados refletirão os valores correspondentes aos pacotes marcados.
Alguns formatos de arquivo de captura (principalmente pcapng) permitem um comentário de texto para o arquivo inteiro. Você pode
visualizar e editar este comentário aqui.
[Atualizar]
[Salvar comentários]
[ Perto ]
[ Ajuda ]
Endereços Resolvidos
A janela Endereços resolvidos mostra a lista de endereços resolvidos e seus nomes de host. Usuários
pode escolher o campo Hosts para exibir apenas os endereços IPv4 e IPv6. Nesse caso, a caixa de diálogo exibe nomes de host para
cada endereço IP em um arquivo de captura com um host conhecido. Esse host normalmente é obtido das respostas de DNS em um
arquivo de captura. No caso de um nome de host desconhecido, os usuários podem preenchê-lo com base em uma pesquisa reversa
de DNS. Para fazer isso, siga estas etapas:
1. Ative Resolver endereços de rede no menu Exibir › Resolução de nomes , pois esta opção é
desativado por padrão.
Machine Translated by Google
2. Selecione Usar um resolvedor de nome de rede externo no menu Preferências › Resolução de nome .
Essa opção é ativada por padrão.
Os endereços resolvidos não são atualizados automaticamente depois que um usuário altera as
NOTA
configurações. Para exibir os novos nomes disponíveis, o usuário precisa reabrir a caixa de diálogo.
O Wireshark lê as entradas para mapeamentos de portas dos arquivos de configuração do serviço de hosts . Consulte a
seção Arquivos de configuração para obter mais informações.
Esta é uma árvore de todos os protocolos na captura. Cada linha contém os valores estatísticos de um protocolo. Duas
das colunas (porcentagem de pacotes e porcentagem de bytes) servem como gráficos de barras. Se um filtro de exibição
for definido, ele será mostrado na parte inferior.
Protocolo
Porcentagem de Pacotes
pacotes
Porcentagem de bytes
bytes
bits/s
Terminar pacotes
O número absoluto de pacotes deste protocolo onde ele era o protocolo mais alto na pilha (última análise).
Machine Translated by Google
Bytes Finais
O número absoluto de bytes deste protocolo onde era o protocolo mais alto na pilha (última análise).
Bits Finais/s
A largura de banda deste protocolo em relação ao tempo de captura onde estava o protocolo mais alto na pilha (última
análise).
PDUs
Os pacotes geralmente contêm vários protocolos. Como resultado, mais de um protocolo será contado para cada pacote.
Exemplo: Na captura de tela 100% dos pacotes são IP e 99,3% são TCP (que juntos são muito mais que 100%).
As camadas de protocolo podem consistir em pacotes que não conterão nenhum protocolo de camada superior, portanto, a
soma de todos os pacotes de camada superior pode não somar a contagem de pacotes do protocolo. Isso pode ser causado
por segmentos e fragmentos remontados em outros quadros, sobrecarga do protocolo TCP e outros dados não dissecados.
Exemplo: Na captura de tela, 99,3% dos pacotes são TCP, mas a soma dos subprotocolos (TLS, HTTP, Git, etc.) é muito
menor.
Um único pacote pode conter o mesmo protocolo mais de uma vez. Nesse caso, a entrada na coluna PDUs será maior que
a de Pacotes. Exemplo: na captura de tela, há muito mais TLS e Git PDUs do que pacotes.
Conversas
Uma conversa de rede é o tráfego entre dois endpoints específicos. Por exemplo, uma conversa IP é todo o tráfego entre
dois endereços IP. A descrição dos tipos de endpoint conhecidos pode ser encontrada em Endpoints.
A janela “Conversas”
A janela de conversas é semelhante à janela do terminal. Consulte a janela “Endpoints” para obter uma descrição de seus
recursos comuns. Juntamente com endereços, contadores de pacotes e contadores de bytes, a janela de conversação
adiciona quatro colunas: a hora de início da conversa (“Rel Start”) ou (“Abs Start”), a duração da conversa em segundos e
os bits médios ( não bytes) por segundo em cada direção. Um gráfico de linha do tempo também é desenhado nas colunas
“Rel Start” / “Abs Start” e “Duration”. Adicionalmente
Machine Translated by Google
Cada linha da lista mostra os valores estatísticos para exatamente uma conversa.
A resolução de nomes será feita se selecionada na janela e se estiver ativa para a camada de protocolo específica
(camada MAC para a página de endpoints Ethernet selecionada). Limitar ao filtro de exibição mostrará apenas as
conversas correspondentes ao filtro de exibição atual. Hora de início absoluta alterna a coluna de hora de início entre
horas relativas (“Rel Start”) e absolutas (“Abs Start”). Os horários de início relativos correspondem ao formato de exibição
“Segundos desde o primeiro pacote capturado” na lista de pacotes e os horários de início absolutos correspondem ao
formato de exibição “Hora do dia”.
Se um filtro de exibição tiver sido aplicado antes da abertura da caixa de diálogo, Limitar ao filtro de exibição será definido
automaticamente. Além disso, após a aplicação de um filtro de exibição, duas colunas ("Pacotes totais") e ("Porcentagem
filtrada") mostram o número total de pacotes não filtrados e a porcentagem de pacotes nesta exibição de filtro.
O botão [Copiar] copiará os valores da lista para a área de transferência em CSV (valores separados por vírgula), formato
YAML ou formato JSON. Os números geralmente são exportados sem formatação especial, mas isso pode ser ativado se
necessário.
O botão [Follow Stream…] mostrará o conteúdo do fluxo conforme descrito na caixa de diálogo “Follow TCP Stream” . O
botão [Graph…] mostrará um gráfico conforme descrito na janela “I/O Graphs”.
[ Tipos de conversa ] permite escolher quais guias de tipo de tráfego são exibidas. Consulte Endpoints para obter uma
lista de tipos de endpoint. Os tipos ativados são salvos nas configurações do seu perfil.
Esta janela será atualizada com frequência, portanto, será útil mesmo se você abri-la antes (ou enquanto)
GORJETA
Terminais
Um endpoint de rede é o endpoint lógico do tráfego de protocolo separado de uma camada de protocolo específica.
As estatísticas de endpoint do Wireshark levarão em consideração os seguintes endpoints:
Se você estiver procurando por um recurso que outras ferramentas de rede chamam de hostlist, aqui é o lugar certo para
GORJETA
Ethernet
Fibre Channel
IEEE 802.11
FDDI
IPv4
IPv6
IPX
Uma concatenação de um número de rede de 32 bits e endereço de nó de 48 bits, por padrão o endereço MAC-48 da interface Ethernet.
JXTAGenericName
PCN
Semelhante ao IPX.
SCTP
Uma combinação dos endereços IP do host (plural) e a porta SCTP usada. Portanto, portas SCTP diferentes no mesmo endereço
IP são endpoints SCTP diferentes, mas a mesma porta SCTP em endereços IP diferentes do mesmo host ainda é o mesmo
endpoint.
TCP
Uma combinação do endereço IP e da porta TCP usada. Portas TCP diferentes no mesmo endereço IP são terminais TCP
diferentes.
Token Ring
UDP
Uma combinação do endereço IP e da porta UDP usada, portanto, portas UDP diferentes no mesmo endereço IP são pontos
finais UDP diferentes.
USB
NOTA O tráfego de transmissão e multidifusão será mostrado separadamente como endpoints adicionais. Obviamente,
como esses não são terminais físicos, o tráfego real será recebido por alguns ou todos os terminais unicast
listados.
A janela “Extremidades”
Esta janela mostra estatísticas sobre os endpoints capturados.
Para cada protocolo suportado, uma guia é mostrada nesta janela. Cada rótulo da guia mostra o número de terminais
capturados (por exemplo, o rótulo da guia “Ethernet · 4” informa que quatro terminais Ethernet foram capturados). Se
nenhum endpoint de um protocolo específico for capturado, o rótulo da guia ficará esmaecido (embora a página relacionada
ainda possa ser selecionada).
A resolução de nomes será feita se selecionada na janela e se estiver ativa para a camada de protocolo específica (camada
MAC para a página de endpoints Ethernet selecionada). Limitar ao filtro de exibição mostrará apenas as conversas
correspondentes ao filtro de exibição atual. Observe que, neste exemplo, temos o banco de dados MaxMind configurado,
o que nos fornece colunas geográficas extras. Consulte Caminhos do banco de dados MaxMind para obter mais informações.
Se um filtro de exibição tiver sido aplicado antes da abertura da caixa de diálogo, Limitar ao filtro de exibição será definido
automaticamente. Além disso, após a aplicação de um filtro de exibição, duas colunas ("Pacotes totais") e ("Porcentagem
filtrada") mostram o número total de pacotes não filtrados e a porcentagem de pacotes nesta exibição de filtro.
O botão [Copiar] copiará os valores da lista para a área de transferência em CSV (valores separados por vírgula), formato
YAML ou formato JSON. Os números geralmente são exportados sem formatação especial, mas isso pode ser ativado se
necessário. O botão [Mapa] mostrará os endpoints mapeados em seu navegador da web.
[ Endpoint Types ] permite escolher quais guias de tipo de tráfego são exibidas. Consulte Endpoints acima para obter
uma lista de tipos de endpoint. Os tipos ativados são salvos nas configurações do seu perfil.
Esta janela será atualizada com frequência, por isso será útil mesmo se você abri-la antes (ou enquanto)
GORJETA
Comprimentos de pacote
As informações são divididas por intervalos de comprimento de pacote, conforme mostrado acima.
Comprimentos de pacote
Os intervalos podem ser configurados na seção “Statistics ÿ Stats Tree” da caixa de diálogo Preferences.
Contar
Média
Taxa (ms)
Por cento
taxa de explosão
As rajadas de pacotes são detectadas contando o número de pacotes em um determinado intervalo de tempo e comparando essa
contagem com os intervalos em uma janela de tempo. As estatísticas para o intervalo com o número máximo de pacotes são mostradas.
Por padrão, as rajadas são detectadas em intervalos de 5 milissegundos e os intervalos são comparados em janelas de 100 milissegundos.
início contínuo
A hora de início, em segundos a partir do início da captura, para o intervalo com o número máximo de pacotes.
Você pode mostrar as estatísticas de uma parte da captura inserindo um filtro de exibição na entrada Filtro de exibição e pressionando
[Aplicar ].
[Copiar] copia as estatísticas para a área de transferência. [Salvar como…] permite salvar os dados como texto, CSV, YAML,
ou XML.
Conforme mostrado acima, esta janela contém uma área de desenho de gráfico junto com uma lista personalizável de
gráficos. Os gráficos são salvos em seu perfil atual. Eles são divididos em intervalos de tempo, que podem ser definidos
conforme descrito abaixo. Passar o mouse sobre o gráfico mostra o último pacote em cada intervalo, exceto conforme
observado abaixo. Clicar no gráfico leva você ao pacote associado na lista de pacotes. Gráficos individuais podem ser
configurados usando as seguintes opções:
Habilitado
Nome do gráfico
Filtro de exibição
Cor
Estilo
Como representar visualmente os dados do gráfico, por exemplo, desenhando uma linha, barra, círculo, adição, etc.
Machine Translated by Google
Eixo Y
O número total de pacotes, bytes de pacote ou bits de pacote que correspondem ao filtro de exibição do gráfico por
intervalo. Valores zero são omitidos em alguns casos.
SOMA(Campo Y)
O número de quadros que contém o campo especificado em “Campo Y” por intervalo. Ao contrário do gráfico simples de
“Pacotes”, ele sempre exibe valores zero.
O número de instâncias do campo especificado em “Y Field” por intervalo. Alguns campos, como dns.resp.name, podem
aparecer várias vezes em um pacote.
CARGA(Campo Y)
Se o “Campo Y” for um valor de tempo relativo, será a soma dos valores do “Campo Y” dividido pelo intervalo de tempo. Isso
pode ser útil para rastrear os tempos de resposta.
Campo Y
O campo de filtro de exibição do qual extrair valores para os cálculos do eixo Y listados acima.
Período SMA
O gráfico como um todo pode ser configurado usando os controles na lista de gráficos:
[+]
[-]
[ Cópia de ]
[ Claro ]
Ao usar o mouse dentro da área do gráfico, arraste o conteúdo do gráfico ou selecione um zoom
área.
Intervalo
Hora do dia
Alterne entre mostrar a hora absoluta do dia ou a hora relativa desde o início da captura no eixo X.
Escala logarítmica
Os principais botões de diálogo na parte inferior permitem que você faça o seguinte:
O botão [Copiar] copiará os valores dos gráficos selecionados para a área de transferência no formato CSV (Valores separados por
vírgula).
[Salvar como…] salvará o gráfico atualmente exibido como uma imagem ou dados CSV.
DICA Você pode ver uma lista de atalhos de teclado úteis clicando com o botão direito do mouse no gráfico.
A janela I/O Graph do Wireshark não distingue entre valores ausentes e zero. Para gráficos de dispersão, assume-se que os valores
zero indicam dados ausentes e esses valores são omitidos. Os valores zero são mostrados em gráficos de linhas e gráficos de barras.
• AFP
• CAMELO
Machine Translated by Google
• DCE-RPC
• Diâmetro
• Canal de Fibra
• GTP
• H.225 RAS
• LDAP
• MEGACO
• MGCP
• PCN
• ONC-RPC
• RAIO
• SCSI
• PME
• SMB2
• SNMP
Como exemplo, o tempo de resposta do serviço SMB2 é descrito abaixo com mais detalhes. As outras janelas de
tempo de resposta do serviço mostrarão estatísticas específicas para seus respectivos protocolos, mas oferecerão
as mesmas opções de menu.
Esta janela mostra o número de transações para cada opcode SMB2 presente no arquivo de captura junto com várias
estatísticas de tempo de resposta. Clicar com o botão direito do mouse em uma linha permite aplicar ou preparar
filtros, pesquisar ou colorir um opcode específico. Você também pode copiar todas as informações de tempo de
resposta ou salvá-las em vários formatos.
Machine Translated by Google
Você pode, opcionalmente, aplicar um filtro de exibição para limitar as estatísticas a um conjunto específico de pacotes.
Os principais botões de diálogo na parte inferior permitem que você faça o seguinte:
Estatísticas do NetPerfMeter
O Protocolo NetPerfMeter (NPMP) é o protocolo de controle e transferência de dados do NetPerfMeter, a ferramenta de teste de
desempenho do protocolo de transporte. Ele transmite fluxos de dados por TCP, SCTP, UDP e DCCP com determinados parâmetros,
como taxa de quadros, tamanho do quadro, fluxos saturados, etc.
• Veja o intervalo entre a primeira e a última ocorrência de cada tipo de mensagem (se houver pelo menos 2
mensagens do tipo correspondente).
• Veja a mensagem e a taxa de bytes dentro do intervalo para cada tipo de mensagem (se houver pelo menos 2
mensagens do tipo correspondente).
Consulte NetPerfMeter – Uma ferramenta de medição de desempenho de rede TCP/MPTCP/UDP/SCTP/DCCP e Seção 6.3 de
Avaliação e Otimização do Transporte Multi-Path usando o Stream Control Transmission Protocol para obter mais detalhes sobre
o NetPerfMeter e o protocolo NetPerfMeter.
Programas ONC-RPC
Open Network Computing (ONC) Chamada de procedimento remoto (RPC) usa protocolos TCP ou UDP para mapear um número
de programa para uma porta específica em uma máquina remota e chamar um serviço necessário nessa porta.
A janela Programas ONC-RPC mostra a descrição das chamadas de programas capturados, como nome do programa, seu
número, versão e outros dados.
29Oeste
A tecnologia 29West agora se refere à tecnologia Ultra-Low Latency Messaging (ULLM). Ele permite enviar e receber um grande
número de mensagens por segundo com tempos de entrega de microssegundos para entrega de dados com latência zero.
O submenu UIM mostra Fluxos: Cada fluxo é fornecido por Endpoints, Messages, Bytes e as
estatísticas do primeiro e do último quadro.
ANCP
O Access Node Control Protocol (ANCP) é um protocolo baseado em TCP, que opera entre um Access Node e o Network
Access Server. O dissecador Wireshark ANCP suporta as mensagens listadas abaixo:
• Mensagem de Adjacência
• Extensões de descoberta de topologia, como mensagens de porta para cima e para baixo
A janela ANCP mostra os dados estatísticos relacionados. O usuário pode filtrar, copiar ou salvar os dados em um arquivo.
BACnet
Building Automation and Control Networks (BACnet) é um protocolo de comunicação que fornece controle para várias instalações
automatizadas de edifícios, como controle de luz, controle de alarme de incêndio e
Machine Translated by Google
outras. O Wireshark fornece as estatísticas BACnet, que é um contador de pacotes. Você pode classificar pacotes por
ID de instância, endereço IP, tipo de objeto ou serviço.
Coletado
Collectd é um daemon de coleta de estatísticas do sistema. Ele coleta várias estatísticas do seu sistema e as converte
para uso na rede. A janela de estatísticas Collectd mostra contagens de valores, que se dividem em tipo, plug-in e host,
bem como o contador total de pacotes. Você pode filtrar, copiar ou salvar os dados em um arquivo.
DNS
O Domain Name System (DNS) associa diferentes informações, como endereços IP, a nomes de domínio. O DNS
retorna diferentes códigos, solicitação-resposta e contadores para várias agregações. A janela de estatísticas DNS lista
uma contagem total de mensagens DNS, que são divididas em grupos por tipos de solicitação (opcodes), código de
resposta (rcode), tipo de consulta e outros.
Você pode achar essas estatísticas úteis para examinar rapidamente a integridade de um serviço DNS ou outras
investigações. Veja os poucos cenários possíveis abaixo:
• O servidor DNS pode ter problemas se você perceber que as consultas DNS têm um longo tempo de solicitação-
resposta ou se houver muitas consultas não respondidas.
• Solicitações de DNS com solicitações e respostas anormalmente grandes podem ser indicativas de DNS
tunelamento ou tráfego de comando e controle.
• A ordem de grandeza mais respostas de DNS do que solicitações e as respostas são muito grandes podem indicar
que o alvo está sendo atacado com um DDoS baseado em DNS.
Machine Translated by Google
Fluxograma
A janela Flow Graph mostra conexões entre hosts. Ele exibe o tempo do pacote, direção, portas e comentários para cada
conexão capturada. Você pode filtrar todas as conexões por fluxos ICMP, fluxos ICMPv6, fluxos UIM e fluxos TCP. A janela Flow
Graph é usada para mostrar vários tópicos diferentes. Com base nele, oferece diferentes controles.
Cada linha vertical representa o host específico, que você pode ver na parte superior da janela.
Os números em cada linha à esquerda da janela representam o pacote de tempo. Você pode alterar o formato da hora em Exibir
› Formato de exibição da hora. Se você alterar o formato da hora, deverá reiniciar a janela do gráfico de fluxo para observar a
hora em um novo formato.
Os números em ambas as extremidades de cada seta entre os hosts representam os números das portas.
Clique com o botão esquerdo em uma linha para selecionar um pacote correspondente na lista de pacotes.
Clique com o botão direito do mouse no gráfico para obter opções adicionais, como selecionar o pacote anterior, atual ou seguinte
na lista de pacotes. Este menu também contém atalhos para mover o diagrama.
Controles disponíveis:
• [Limitar ao filtro de exibição] filtra chamadas apenas para os filtros de exibição correspondentes. Quando o filtro de exibição é
ativo antes da janela ser aberta, a caixa de seleção está marcada.
• [Flow type] permite limitar o tipo de protocolo em que os fluxos devem ser baseados.
• [Exportar] permite exportar o diagrama como imagem em vários formatos diferentes (PDF, PNG, BMP, JPEG
e ASCII (o diagrama é armazenado apenas com caracteres ASCII)).
ÿ S - Seleciona o fluxo na janela RTP Streams (se não estiver aberto, abre e coloca
fundo).
ÿ D - Desmarca o stream na janela Streams RTP (se não abrir abre e coloca
fundo).
• [Play Streams] envia o fluxo RTP selecionado para a lista de reprodução da janela do RTP Player .
• [Exportar] permite exportar o diagrama como imagem em vários formatos diferentes (PDF, PNG, BMP, JPEG
e ASCII (o diagrama é armazenado apenas com caracteres ASCII)).
HART-IP
Transdutor Remoto Endereçável em Rodovia sobre IP (HART-IP) é um protocolo de camada de aplicação. Ele envia e recebe
informações digitais entre dispositivos inteligentes e sistemas de controle ou monitoramento.
A janela de estatísticas HART-IP mostra o contador para pacotes de resposta, solicitação, publicação e erro.
Você pode filtrar, copiar ou salvar os dados em um arquivo.
Machine Translated by Google
ALIMENTAÇÕES HP
O protocolo Hpfeeds fornece publicação e assinatura autenticadas e leves. Ele suporta cargas binárias arbitrárias que podem
ser separadas em diferentes canais. A janela de estatísticas HPFEEDS mostra um contador para o tamanho da carga por canal
e opcodes. Você pode filtrar, copiar ou salvar os dados em um arquivo.
Estatísticas HTTP
Solicitações HTTP
As sequências de solicitação HTTP usam os cabeçalhos Referer e Location de HTTP para sequenciar as solicitações HTTP de
uma captura como uma árvore. Isso permite que os analistas vejam como uma solicitação HTTP leva à próxima.
Machine Translated by Google
HTTP2
A versão 2 do protocolo de transferência de hipertexto (HTTP/2) permite a multiplexação de várias solicitações e
respostas HTTP em uma única conexão. Ele usa uma codificação binária que consiste em quadros. A janela de
estatísticas HTTP/2 mostra o número total de quadros HTTP/2 e também fornece uma divisão por tipo de quadro, como
CABEÇALHOS, DADOS e outros.
Como o tráfego HTTP/2 normalmente é criptografado com TLS, você deve configurar a descriptografia para observar o tráfego
HTTP/2. Para obter mais detalhes, consulte a página wiki do TLS.
Mesmo tempo
Sametime é um protocolo para o software IBM Sametime. A janela de estatísticas do Sametime mostra o contador para
tipo de mensagem, tipo de envio e status do usuário.
Mostra métricas TCP semelhantes ao tcptrace utilitário, incluindo segmentos diretos, confirmações, confirmações
seletivas, tamanhos de janela reversa e janelas zero.
Rendimento
Tempo de ida e volta versus tempo ou número de sequência. O RTT é baseado no registro de data e hora de
confirmação correspondente a um segmento específico.
Dimensionamento de janela
endereços e portas de origem, endereços e portas de destino, contador de pacotes e outros dados. Você pode especificar
o intervalo de rajada, os limites de alarme e as velocidades de saída. Para aplicar novas configurações, pressione [ Enter ].
• Medir o tamanho do burst para um stream de vídeo. Isso usa o algoritmo de janela deslizante.
• Medida do limite de tamanho do buffer de saída, para que não ocorra queda de pacotes. Isso usa o Leaky
algoritmo de balde.
Além disso, as estatísticas para protocolos de aplicação fornecidas pelo RSPLIB também são fornecidos:
• Protocolo CalcApp
• Veja o intervalo entre a primeira e a última ocorrência de cada tipo de mensagem (se houver pelo menos 2
mensagens do tipo correspondente).
• Veja a mensagem e a taxa de bytes dentro do intervalo para cada tipo de mensagem (se houver pelo menos 2
mensagens do tipo correspondente).
Consulte a página de pooling confiável de servidores (RSerPool) de Thomas Dreibholz e Capítulo 3 de Pooling de Servidores
Confiáveis – Avaliação, Otimização e Extensão de uma Nova Arquitetura IETF para mais detalhes sobre RSerPool e seus
protocolos.
F5
Em F5 Networks, TMM significa Traffic Management Microkernel. Ele processa todo o tráfego com balanceamento de carga no
sistema BIG-IP.
O menu de estatísticas F5 mostra as contagens de pacotes e bytes para os submenus Virtual Server Distribution e tmm Distribution .
Cada janela Virtual Server Distribution contém as estatísticas para os seguintes dados:
• Uma linha para tráfego com um ID de fluxo e nenhum nome de servidor virtual.
ÿ Uma linha para cada entrada e saída (deve somar ao tmm total), que contém:
Estatísticas de IPv4
O Protocolo de Internet versão 4 (IPv4) é um protocolo central para a camada da Internet. Ele usa endereços de 32 bits e permite
o roteamento de pacotes de um host de origem para o próximo.
• Destino e Portas. Divide os dados por endereço IP e ainda por tipo de protocolo IP, como TCP, UDP e outros. Ele também
mostra o número da porta.
Você pode ver estatísticas semelhantes nos menus Estatísticas › Conversas e Estatísticas › Endpoints .
Estatísticas do IPv6
O Protocolo de Internet versão 6 (IPv6) é um protocolo central para a camada da Internet. Ele usa endereços de
128 bits e roteia o tráfego da Internet. Semelhante às Estatísticas IPv4, o menu Estatísticas › IPv6 mostra o
contador de pacotes em cada submenu.
Machine Translated by Google
Telefonia
Introdução
O Wireshark fornece uma ampla variedade de estatísticas de rede relacionadas à telefonia que podem ser acessadas por
meio do menu Telefonia .
Essas estatísticas variam de protocolos de sinalização específicos à análise de fluxos de mídia e sinalização. Se codificado
em uma codificação compatível, o fluxo de mídia pode até ser reproduzido.
As janelas de estatísticas específicas do protocolo exibem informações detalhadas de protocolos específicos e podem ser
descritas em uma versão posterior deste documento.
A ferramenta para reproduzir chamadas VoIP chama-se RTP Player. Ele mostra fluxos RTP e suas formas de onda, permite
reproduzir fluxo e exportá-lo como áudio ou carga útil para arquivo. Seus recursos dependem dos codecs suportados.
Codecs compatíveis
O RTP Player é capaz de reproduzir qualquer codec suportado por um plug-in instalado. Os codecs suportados pelo RTP
Player dependem da versão do Wireshark que você está usando. As compilações oficiais contêm todos os plug-ins
mantidos pelos desenvolvedores do Wireshark, mas as compilações personalizadas/de distribuição podem não incluir
alguns desses codecs. Para verificar os plug-ins de codec instalados na instalação do Wireshark, faça o seguinte:
O Wireshark pode ser usado para análise de fluxo RTP. O usuário pode selecionar um ou mais fluxos que podem ser reproduzidos posteriormente.
A janela do RTP Player mantém a lista de reprodução (lista de streams RTP) para esta finalidade.
A lista de reprodução é criada vazia quando a janela do RTP Player é aberta e destruída quando a janela é fechada.
A janela do RTP Player pode ser aberta em segundo plano quando não for necessária e colocada na frente mais tarde. Durante sua live, a playlist é
mantida.
Quando a janela do RTP Player é aberta, a lista de reprodução pode ser modificada a partir de outras ferramentas (janelas do Wireshark) de três
maneiras:
• botão Reproduzir fluxos › Definir lista de reprodução limpa a lista de reprodução existente e adiciona fluxos selecionados na ferramenta.
• botão Reproduzir transmissões › Adicionar à lista de reprodução adiciona as transmissões selecionadas na ferramenta à lista de reprodução.
• botão Reproduzir transmissões › Remover da lista de reprodução remove as transmissões selecionadas na ferramenta de
O botão [Play Streams] pode ser clicado diretamente e abre a janela do RTP Player diretamente com a ação [Set playlist] . Todas as ações podem
Quando a lista de reprodução está vazia, não há diferença entre [Definir lista de reprodução] e [Adicionar à lista de reprodução ].
Quando a janela do RTP Player não está aberta, todas as três ações acima a abrem.
Machine Translated by Google
[Remover da lista de reprodução] é útil, por exemplo, no caso de o usuário selecionar todos os fluxos RTP e desejar remover os
fluxos RTP de chamadas específicas encontradas com VoIPCalls.
As ferramentas abaixo podem ser usadas para manter o conteúdo da lista de reprodução, elas contêm o botão [Play Streams] .
Você pode usar um dos procedimentos (Nota: a ação [Adicionar à lista de reprodução] é demonstrada):
• Abra a janela Telefonia › RTP › RTP Streams , ela mostrará todos os streams da captura. Selecione um ou mais fluxos e
pressione [Reproduzir fluxos ]. Os fluxos selecionados são adicionados à lista de reprodução.
• Selecione qualquer pacote RTP na lista de pacotes, abra a janela Telephony › RTP › Stream Analysis . Ele mostrará a análise
do fluxo direto selecionado e seu fluxo reverso (se [ Ctrl ] for pressionado durante a abertura da janela). Em seguida, pressione
[Reproduzir transmissões ]. O fluxo direto e reverso é adicionado à lista de reprodução.
ÿ A janela RTP Stream Analysis também pode ser aberta a partir de outras ferramentas.
• Abra a janela Telefonia › Chamadas VoIP ou Telefonia › Fluxos SIP , ela mostrará todas as chamadas. Selecione uma ou
mais chamadas e pressione [Play Streams ]. Ele adicionará todos os fluxos RTP relacionados às chamadas selecionadas à
lista de reprodução.
• Abra a janela [ Flow Sequence ] na janela Telephony › VoIP Calls ou Telephony › SIP Flows , ela mostrará a sequência do
fluxo de chamadas. Selecione qualquer fluxo RTP e pressione [Reproduzir fluxos ]. Ele adicionará o fluxo RTP selecionado
à lista de reprodução.
A mesma abordagem com ações definir/adicionar/remover é usada para a janela RTP Stream Analysis. A lista
NOTA de reprodução é tratada como guias diferentes na janela, consulte a janela Análise de Fluxo RTP .
Decodificar a carga RTP e mostrar formas de onda é uma tarefa demorada. Para agilizar RTP Player
Machine Translated by Google
a janela usa a cópia da carga útil do pacote para todos os fluxos na lista de reprodução. Durante a captura ao vivo, a caixa de diálogo não é
atualizada automaticamente como outras caixas de diálogo do Wireshark, mas o usuário deve iniciá-la.
Quando o arquivo de captura é aberto (sem captura ao vivo), os fluxos são lidos completos, nenhuma ação do usuário é necessária. O botão
Quando a captura ao vivo está em execução, os fluxos são lidos apenas até "agora" e são exibidos. Quando o fluxo é contínuo e o usuário deseja
ver uma parte adicional, ele deve pressionar [Atualizar fluxo ]. Quando o usuário encerra a captura ao vivo, a visualização é atualizada e o botão
é desativado.
A caixa de diálogo do RTP Player permanece aberta mesmo que a captura ao vivo seja interrompida e iniciada novamente.
A lista de reprodução permanece inalterada. Portanto, [ Atualizar fluxo ] tenta ler os mesmos fluxos de antes e mostra se
NOTA
eles ainda estão em execução. A parte anterior deles (da captura ao vivo anterior) é perdida.
O RTP é geralmente transportado em pacotes UDP com portas de origem e destino aleatórias. Portanto, o Wireshark só pode reconhecer fluxos
RTP com base na sinalização VoIP, por exemplo, com base em mensagens SDP na sinalização SIP. Se a sinalização não for capturada, o
Wireshark mostra apenas pacotes UDP. No entanto, existem várias configurações que ajudam o Wireshark a reconhecer o RTP mesmo quando
Você pode usar a função Decodificar como… no menu Analisar › Decodificar como… ou no menu de contexto do mouse.
Aqui você pode definir que o tráfego em uma origem ou destino específico deve ser decodificado como RTP. Você pode salvar as configurações
O uso do menu Decodificar como… funciona bem, mas é árduo para muitos fluxos.
Você pode habilitar o dissecador heurístico rtp_udp em Analyze › Enabled Protocols…. Consulte a dissecação do protocolo de controle para
obter detalhes. Assim que o rtp_udp estiver ativado, o Wireshark tenta decodificar cada pacote UDP como RTP.
Se a decodificação for possível, o pacote (e todo o fluxo UDP) é decodificado como RTP.
Quando um fluxo RTP usa uma porta conhecida, o dissecador heurístico a ignora. Então você pode perder alguns fluxos RTP. Você pode habilitar
a configuração para o protocolo udp Preferências › Protocolos › udp › Tente primeiro os subdissecadores heurísticos, consulte Preferências.
Neste caso, o dissecador heurístico tenta decodificar o pacote UDP, mesmo que use uma porta conhecida.
Machine Translated by Google
Leve em consideração que a heurística é apenas um simples "teste" se o pacote pode ser lido como RTP.
Pode ser falso positivo e você pode ver decodificado como RTP mais pacotes UDP do que o esperado.
NOTA
Quando você ativa o udp › Tente primeiro os subdissecadores heurísticos, isso aumenta a possibilidade
de falsos positivos. Se você capturar todo o tráfego na rede, a taxa de falsos positivos pode ser bastante alta.
O RTP Player deve armazenar os dados decodificados em algum lugar para poder reproduzi-los. Quando os dados são
decodificados, há amostras de áudio e dicionário para navegação rápida. Ambos os tipos de dados são armazenados na memória
por padrão, mas você pode configurar o Wireshark para armazená-los em disco. Existem duas configurações:
• ui.rtp_player_use_disk1 - Quando definido como FALSE (padrão), as amostras de áudio são mantidas na memória. Quando
definido como TRUE, as amostras de áudio são armazenadas no arquivo temporário.
• ui.rtp_player_use_disk2 - Quando definido como FALSE (padrão), o dicionário é mantido na memória. Quando definido como
TRUE, o dicionário é armazenado no arquivo temporário.
Quando quaisquer dados são configurados para serem armazenados em disco, um arquivo é criado para cada fluxo. Portanto,
pode haver até dois arquivos para um fluxo RTP (amostras de áudio e dicionário). Se o seu sistema operacional ou usuário tiver
limite imposto pelo sistema operacional para a contagem de arquivos abertos (a maioria dos sistemas Unix/Linux), você poderá ver
menos fluxos adicionados à lista de reprodução. Nesse caso, os avisos são impressos no console e você verá menos fluxos na
lista de reprodução do que envia de outras ferramentas.
Para uso comum, você pode usar as configurações padrão - armazene tudo na memória. Quando você estiver sem memória,
troque ui.rtp_player_use_disk1 para TRUE primeiro - isso economiza muito mais memória do que ui.rtp_player_use_disk2.
Processamento de RTP e decodificação de voz RTP requer recursos. Existem estimativas brutas que você pode usar como
diretrizes…
A janela RTP Streams pode mostrar quantos streams forem encontrados na captura. Seu desempenho é limitado apenas pela
memória e CPU.
O RTP Player pode lidar com mais de 1000 streams, mas leve em consideração que as formas de onda são muito pequenas e
difíceis de reconhecer neste caso.
O RTP Player reproduz o áudio pelo sistema de som do sistema operacional e o sistema operacional é responsável por mixar o
áudio quando vários fluxos são reproduzidos. Em muitos casos, o sistema de som do SO tem uma contagem limitada de fluxos
mistos que pode reproduzir/mixar. O RTP Player tenta lidar com falhas de reprodução e mostrar avisos. Se isso acontecer, basta
silenciar alguns streams e iniciar a reprodução novamente.
A janela de análise RTP pode lidar com mais de 1000 fluxos, mas é difícil usá-la com tantos fluxos - é difícil navegar entre eles.
Espera-se que a janela RTP Analysis seja usada para análise de dezenas menores de fluxos.
Machine Translated by Google
A janela VoIP Calls mostra uma lista de todas as chamadas VoIP detectadas no tráfego capturado. Ele encontra as chamadas por
sua sinalização e mostra os fluxos RTP relacionados. Os atuais protocolos suportados por VoIP são:
• H.323
• IAX2
• É ACIMA
• MGCP/MEGACO
• TRAGO
• MAGRELO
• UNISTIM
Veja VOIPProtocolFamily para obter uma visão geral dos protocolos VoIP usados.
A janela VoIP Calls pode ser aberta como uma janela mostrando todos os tipos de protocolo (telefonia › janela VoIP Calls ) ou
• Seleção
ÿ Nota: clique comum do mouse , Shift + clique do mouse e Ctrl + clique do mouse também funcionam
• Na chamada/chamadas selecionadas
ÿ S - Seleciona stream/streams relacionados à chamada na janela RTP Streams (se não estiver aberto, abre
e colocá-lo em segundo plano).
ÿ D - Desmarca stream/streams relacionados à chamada na janela RTP Streams (se não estiver aberto, abre
e colocá-lo em segundo plano).
• [Limitar ao filtro de exibição] filtra chamadas apenas para os filtros de exibição correspondentes. Quando o filtro de exibição é
ativo antes da janela ser aberta, a caixa de seleção está marcada.
• [Hora do dia] alterna o formato da hora exibida entre relativa ao início da captura ou absoluta
tempo de pacotes recebidos.
• [ Flow Sequence ] abre a janela Flow Sequence e mostra as chamadas selecionadas nela.
• [Preparar filtro] gera filtro de exibição correspondente às chamadas selecionadas (sinalização e fluxos RTP)
e aplicá-lo.
• [ Play Streams ] abre a janela do RTP Player . As ações [Definir ], [Adicionar] e [Remover] estão disponíveis.
ANSI
Este menu mostra grupos de dados estatísticos para protocolos de comunicação móvel de acordo com os padrões ETSI GSM.
Janelas GSM
O Sistema Global para Comunicações Móveis (GSM) é um padrão para redes móveis. Este menu mostra um conjunto de dados
estatísticos para protocolos de comunicação móvel de acordo com o padrão ETSI GSM.
LTE
Janela de estatísticas de tráfego LTE MAC
Estatísticas do tráfego LTE MAC capturado. Esta janela irá resumir o tráfego LTE MAC encontrado na captura.
O painel superior mostra estatísticas para canais comuns. Cada linha no painel do meio mostra destaques
estatísticos para exatamente um UE/C-RNTI. No painel inferior, você pode ver o tráfego para o UE/C-RNTI
atualmente selecionado dividido por canal individual.
O menu LTE RLC Graph inicia um gráfico que mostra os números de sequência do protocolo LTE Radio Link
Control mudando ao longo do tempo junto com as confirmações que são recebidas na direção oposta.
Esse gráfico mostra dados de um único portador e direção. O usuário também pode iniciá-lo
NOTA
na janela Estatísticas RLC .
Machine Translated by Google
Estatísticas do tráfego LTE RLC capturado. Esta janela irá resumir o tráfego LTE RLC encontrado na captura.
Na parte superior, a caixa de seleção permite que esta janela inclua ou não PDUs RLC encontrados em PDUs MAC.
Machine Translated by Google
Isso afetará tanto as PDUs contadas quanto os filtros de exibição gerados (veja abaixo).
A lista superior mostra resumos de cada UE ativo. Cada linha na lista inferior mostra destaques estatísticos para canais individuais
dentro do UE selecionado.
A parte inferior das janelas permite que os filtros de exibição sejam gerados e configurados para o canal selecionado. Observe que,
no caso dos canais do Modo Reconhecido, se uma única direção for escolhida, o filtro gerado mostrará os dados nessa direção e
controlará as PDUs na direção oposta.
Janelas MTP3
O protocolo Message Transfer Part level 3 (MTP3) faz parte do Signaling System 7 (SS7). As redes telefônicas públicas comutadas o
utilizam para transporte confiável, não duplicado e em sequência de mensagens SS7 entre parceiros de comunicação.
Janelas Osmux
OSmux é um protocolo multiplex projetado para reduzir o uso de largura de banda de voz de sistemas GSM baseados em satélite
(RTP-AMR) e tráfego de sinalização. O menu OSmux abre a janela do contador de pacotes com os dados estatísticos relacionados.
O usuário pode filtrar, copiar ou salvar os dados em um arquivo.
RTP
Janela de Transmissões RTP
A janela de fluxos RTP mostra todos os fluxos RTP no arquivo de captura. Fluxos podem ser selecionados lá e em fluxos selecionados
outras ferramentas podem ser iniciadas.
• Seleção
ÿ Nota: clique comum do mouse , Shift + clique do mouse e Ctrl + clique do mouse também funcionam
Machine Translated by Google
• Encontrar reverso
• Encontrar reverso
ÿ [Find Reverse] procura o fluxo reverso de cada fluxo selecionado. Se encontrado, seleciona-o no
lista também.
ÿ [Encontrar todos os pares] seleciona todos os fluxos que possuem relação direta/reversa.
ÿ [Find Only Single] seleciona todos os fluxos que são únicos - não têm fluxo reverso.
• [Analyze] abre a janela de análise de fluxo RTP . As ações [Definir ], [Adicionar] e [Remover] são
acessível.
• [ Play Streams ] abre a janela do RTP Player . As ações [Definir ], [Adicionar] e [Remover] estão disponíveis.
Menu Telefonia › RTP › RTP Stream Analysis é ativado somente quando o pacote RTP selecionado é empacotado.
Quando a janela é aberta, o fluxo RTP selecionado é adicionado à análise. Se [ Ctrl ] for pressionado durante a abertura do menu, o
fluxo RTP reverso (se existir) também será adicionado à janela.
Cada fluxo é mostrado na própria guia. As guias são numeradas à medida que os fluxos são adicionados e sua dica de ferramenta
mostra a identificação do fluxo. Quando a guia é fechada, o número não é reutilizado. A cor da guia corresponde à cor dos gráficos na
guia do gráfico.
Machine Translated by Google
• Número do pacote
• Número sequencial
• Tremulação (ms)
• Inclinar
• largura de banda
• Status - informações relacionadas ao pacote. Por exemplo. mudança de codec, número DTMF, aviso sobre
• Tremulação máxima
• Tremulação média
• Inclinação máxima
• Contagem de pacotes
• Duração da transmissão
• Desvio do relógio
• Desvio de frequência
Algumas colunas estatísticas são calculadas apenas quando o Wireshark é capaz de decodificar o codec do fluxo RTP.
NOTA
• Preparar filtro
• [ Play Streams ] abre a janela do RTP Player . As ações [Definir ], [Adicionar] e [Remover] estão disponíveis.
• [Exportar] permite exportar o fluxo atual ou todos os fluxos como CSV ou exportar gráfico como imagem em
vários formatos diferentes (PDF, PNG, BMP e JPEG).
• tremor
• diferença - valor absoluto da diferença entre o tempo esperado e real de chegada do pacote
para cada fluxo. As caixas de seleção abaixo do gráfico ativam ou desativam a exibição de um gráfico para cada fluxo. A caixa de seleção [ Stream
A janela Stream Analysis continha uma ferramenta para salvar áudio e carga útil para streams analisados. Esta ferramenta
NOTA foi movida no Wireshark 3.5.0 para a janela RTP Player . Nova ferramenta tem mais recursos.
exportá-lo como áudio ou carga útil para arquivo. Consulte os conceitos relacionados em Reproduzindo chamadas VoIP.
Menu Telefonia › RTP › RTP Player é ativado somente quando selecionado compactado é pacote RTP. Quando a janela é aberta, o fluxo RTP
selecionado é adicionado à lista de reprodução. Se [ Ctrl ] for pressionado durante a abertura do menu, o fluxo RTP reverso (se existir) também será
2. Lista de reprodução
3. Controles
Machine Translated by Google
A visualização da forma de onda mostra a apresentação visual do fluxo RTP. A cor da forma de onda e a linha da lista de reprodução são
correspondentes. A altura da onda mostra o volume.
A forma de onda mostra marcas de erro para fora da sequência, quedas de jitter, registros de data e hora errados e marcas de silêncio
inseridas se isso acontecer em um fluxo.
• Estrutura de configuração
ÿ SETUP <número> é mostrado, quando há pacote de sinalização conhecido. Number é o número do pacote de sinalização. Nota: O
Word SETUP é mostrado mesmo que o fluxo RTP tenha sido iniciado, por exemplo, por SKINNY, onde não existe nenhuma
mensagem de SETUP.
ÿ RTP <número> é mostrado, quando nenhuma sinalização relacionada foi encontrada. Número é o número do pacote de
primeiro pacote do fluxo.
Quando rtp_udp está ativo, a maioria dos fluxos mostra apenas RTP <número> mesmo que haja quadro de
configuração na captura.
NOTA
Quando o fluxo RTP contém vários codecs, SR e PR são baseados no primeiro código observado. Os codecs
posteriores no fluxo são reamostrados para o primeiro.
ÿ Silêncio mínimo - Duração mínima do silêncio para pular em segundos. O silêncio mais curto é tocado como está.
ÿ Jitter Buffer - Pacotes fora do tamanho [ Jitter Buffer ] são descartados durante a decodificação
ÿ RTP Timestamp - Os pacotes são ordenados e reproduzidos por seu timestamp, nenhum Jitter Buffer é usado
ÿ Modo ininterrupto - Todas as lacunas (por exemplo, ruído de conforto, pacotes perdidos) são descartadas, portanto
o áudio é mais curto do que o intervalo de tempo
• [ Hora do dia ] seleciona se a escala de tempo da forma de onda é mostrada em segundos desde o início da captura
ou em tempo absoluto de pacotes recebidos
• [Atualizar fluxos] atualiza os fluxos durante a captura ao vivo (consulte Reproduzir áudio durante
capturar). O botão é desativado quando nenhuma captura ao vivo está em execução.
• Fluxos inaudíveis
ÿ [Selecionar] seleciona todos os fluxos inaudíveis (fluxos com taxa de reprodução zero)
ÿ [Desmarcar] desmarca todos os fluxos inaudíveis (fluxos com taxa de reprodução zero)
• [Analyze] abre a janela RTP Stream Analysis . As ações [Definir ], [Adicionar] e [Remover] são
acessível.
O RTP Player detecta o silêncio apenas por amostras de voz ausentes (ruído de conforto, RTP interrompido, RTP
NOTA
ausente, …) ou quando alguns fluxos são silenciados.
Machine Translated by Google
1. stream está sem som (forma de onda tracejada, Mudo é mostrado na coluna Reproduzir) ou sem som (sem traço
forma de onda, o roteamento de áudio é mostrado na coluna Play)
3. o fluxo está abaixo do cursor do mouse (forma de onda em negrito, fonte em negrito)
• L - canal esquerdo
• R - canal esquerdo
• M - Mudo
O roteamento de áudio pode ser alterado clicando duas vezes na primeira coluna de uma linha, por atalho ou por menu.
• Seleção
ÿ Nota: clique comum do mouse , Shift + clique do mouse e Ctrl + clique do mouse também funcionam
• Ir para o pacote
• Roteamento de áudio
• P - Reproduzir áudio
• S - Parar de jogar
• Vapores inaudíveis
Exportar
A exportação foi movida da janela RTP Stream Analysis para a janela RTP Player no 3.5.0.
NOTA O Wireshark é capaz de exportar áudio decodificado no formato de arquivo .au ou .wav. Antes da versão 3.2.0, o Wireshark
A partir da versão 3.2.0, ele suporta exportação de áudio usando qualquer codec com amostragem de 8000 Hz. A partir
de 3.5.0 é suportada a exportação de qualquer codec, a taxa é definida pela taxa de saída de áudio.
ÿ Do cursor - Os fluxos são salvos do cursor de início da reprodução. Se alguns streams forem mais curtos, eles serão removidos da lista
antes de salvar e a contagem de streams salvos for menor do que a contagem de
correntes selecionadas.
ÿ Fluxo de áudio sincronizado - O arquivo começa no início do primeiro fluxo na exportação, portanto
ÿ Arquivo de áudio sincronizado - os fluxos começam no início do arquivo, portanto, o silêncio pode ocorrer no início
de arquivo.
O áudio é exportado como arquivo multicanal - um canal por fluxo RTP. Um ou dois canais são iguais a mono ou estéreo, mas o Wireshark pode
exportar, por exemplo, 100 canais. Para reproduzir, deve ser usada uma ferramenta com suporte multicanal (por exemplo, https://
www.audacityteam.org/).
A função de exportação da carga útil é útil para codecs não suportados pelo Wireshark.
Machine Translated by Google
O valor padrão de [Output Audio Rate] é [Automático ]. Quando vários codecs com diferentes taxas de
codec são capturados, o Wireshark decodifica cada fluxo com sua própria taxa de reprodução de áudio.
Portanto, cada fluxo pode ter uma taxa de áudio diferente. Se você tentar exportar áudio quando houver
NOTA várias taxas de áudio, haverá falha porque .au ou .wav exigem uma taxa de áudio fixa.
Neste caso, o usuário deve selecionar manualmente uma das taxas em [Taxa de áudio de saída ], os
fluxos serão reamostrados e a exportação de áudio será bem-sucedida.
Janela RTSP
No menu Real Time Streaming Protocol (RTSP) o usuário pode verificar a janela Packet Counter. Ele mostra os pacotes
RTCP totais e divididos em pacotes de resposta RTSP, pacotes de solicitação RTSP e outros pacotes RTSP. O usuário pode
filtrar, copiar ou salvar os dados em um arquivo.
Janelas SCTP
Stream Control Transmission Protocol (SCTP) é um protocolo de rede de computadores que fornece uma transferência de
mensagem em telecomunicações na camada de transporte. Ele supera algumas deficiências do User Datagram Protocol
(UDP) e do Transmission Control Protocol (TCP). Os pacotes SCTP consistem no cabeçalho comum e nos blocos de dados.
A janela SCTP Analyze Association mostra as estatísticas dos pacotes capturados entre dois Endpoints. Você pode verificar
os diferentes tipos de blocos pressionando o botão [Chunk Statistics] na guia Estatísticas . Nas guias Endpoint você pode
ver várias estatísticas, como endereços IP, portas e outros. Você também pode verificar diferentes gráficos aqui.
A janela Associações SCTP mostra a tabela com os dados dos pacotes capturados, como porta e contador. Você também
pode chamar a janela SCTP Analyze Association pressionando o botão [Analyse] .
Machine Translated by Google
Janela H.225
Protocolo de telecomunicação H.225 que é responsável por mensagens em sinalização de chamada e
empacotamento de fluxo de mídia para sistemas de comunicação multimídia baseados em pacotes. A janela H.225
mostra as mensagens contadas por tipos e motivos. O usuário pode filtrar, copiar ou salvar os dados em um arquivo.
Sem fio
Introdução
O menu Sem fio fornece acesso a estatísticas relacionadas ao tráfego sem fio.
A janela Atributos do Servidor Bluetooth ATT exibe uma lista de pacotes ATT (Attribute Protocol) capturados.
O usuário pode filtrar a lista pelas interfaces ou dispositivos e também excluir repetições marcando a caixa de seleção
Remover duplicatas .
Dispositivos Bluetooth
A janela Dispositivos Bluetooth exibe a lista das informações capturadas sobre os dispositivos, como endereço MAC,
identificador exclusivo organizacional (OUI), nome e outros. Os usuários podem filtrá-lo por interface.
Tráfego WLAN
Estatísticas sobre o tráfego WLAN capturado. Isso pode ser encontrado no menu Sem fio e resume o tráfego de rede
sem fio encontrado na captura. As solicitações de sondagem serão mescladas em uma rede existente se o SSID
corresponder.
Cada linha da lista mostra os valores estatísticos para exatamente uma rede sem fio.
A resolução de nomes será feita se selecionada na janela e se estiver ativa para a camada MAC.
Mostrar apenas as redes existentes excluirá as solicitações de sondagem com um SSID que não corresponda a nenhuma
rede da lista.
O botão [Copiar] copiará os valores da lista para a área de transferência no formato CSV (Valores separados por vírgula).
Esta janela será atualizada com frequência, por isso será útil, mesmo que você a abra antes (ou
GORJETA
Personalizando o Wireshark
Introdução
O comportamento padrão do Wireshark geralmente atende muito bem às suas necessidades. No entanto, à medida que você
se familiariza com o Wireshark, ele pode ser personalizado de várias maneiras para atender ainda melhor às suas necessidades.
Neste capítulo exploramos:
Você pode iniciar o Wireshark a partir da linha de comando, mas também pode ser iniciado a partir da maioria dos gerenciadores
de janelas. Nesta seção, veremos como iniciá-lo a partir da linha de comando.
O Wireshark suporta um grande número de parâmetros de linha de comando. Para ver o que são, basta digitar o comando
wireshark -h e as informações de ajuda mostradas em Informações de ajuda disponíveis no Wireshark (ou algo semelhante)
devem ser impressas.
Interface de captura: -i
<interface>, --interface <interface>
ÿ
Saída de captura: -b
para o próximo arquivo após NUM pacotes intervalo:NUM - alternar para o próximo arquivo
ÿ
Arquivo de entrada:
-r <infile>, --read-file <infile> define o nome do arquivo para
ÿ
Em processamento:
<layer_type>==<seletor>,<decode_as_protocol> ...
ÿ
Exemplo: tcp.port==8888,http
--enable-protocol <proto_name>
ÿ
--disable-protocol <proto_name>
ÿ
--enable-heuristic <short_name>
ÿ
--disable-heuristic <short_name>
ÿ
Interface de usuário:
-C <perfil de configuração> iniciar com o perfil de configuração especificado ocultar a caixa de diálogo
-H de informações de captura durante a captura de pacotes
Saída:
-w <arquivo de saída|- defina o nome do arquivo de saída (ou '-' para stdout)
> --capture-comment <comentário>
ÿ
(padrão: /tmp)
Saída de diagnóstico: --
log-level <nível> define o nível de log ativo ("crítico", "aviso", etc.) define o nível para abortar o programa ("crítico" ou
domínios de log ativos --log-fatal-domains
"aviso")
<list>--log-fatal
lista de domínios
<nível > --log-domains
que fazem com <[!]list>
que o lista
programa
separada
aborte
porlista
vírgulas
de dos
domínios com lista de nível de "depuração" de domínios com arquivo de nível "ruidoso" para enviar mensagens (além
de stderr)
ÿ
A primeira coisa a notar é que emitir o comando wireshark por si só iniciará o Wireshark.
No entanto, você pode incluir quantos parâmetros de linha de comando desejar. Seus significados são os seguintes (em
ordem alfabética):
Especifique um critério que especifica quando o Wireshark deve parar de gravar em um arquivo de captura. o
Machine Translated by Google
duração: valor
Pare de gravar em um arquivo de captura depois que ele atingir um tamanho de valor kilobytes (onde um kilobyte é 1000 bytes,
não 1024 bytes). Se esta opção for usada junto com a opção -b, o Wireshark parará de gravar no arquivo de captura atual e mudará
para o próximo se o tamanho do arquivo for atingido.
arquivos: valor
Pare de gravar para capturar arquivos após o número de arquivos ter sido gravado.
pacotes: valor
Interrompa a gravação em um arquivo de captura após o valor do número de pacotes ter sido gravado.
Se um tamanho máximo de arquivo de captura foi especificado, esta opção faz com que o Wireshark seja executado no modo “ring
buffer”, com o número especificado de arquivos. No modo “ring buffer”, o Wireshark gravará em vários arquivos de captura. Seu nome
é baseado no número do arquivo e na data e hora de criação.
Quando o primeiro arquivo de captura for preenchido, o Wireshark mudará para a gravação no próximo arquivo e assim por diante.
Com a opção de arquivos também é possível formar um “buffer circular”. Isso preencherá novos arquivos até o número de arquivos
especificado, momento em que os dados do primeiro arquivo serão descartados para que um novo arquivo possa ser gravado.
Se a duração opcional for especificada, o Wireshark também mudará para o próximo arquivo quando o número especificado de
segundos tiver decorrido, mesmo que o arquivo atual não esteja completamente preenchido.
duração: valor
Alterne para o próximo arquivo após o valor de segundos ter decorrido, mesmo se o arquivo atual não estiver completamente
preenchido.
Mude para o próximo arquivo depois que ele atingir um tamanho de valor kilobytes (onde um kilobyte é 1000 bytes, não 1024 bytes).
arquivos: valor
Comece novamente com o primeiro arquivo após o valor do número de arquivos ter sido gravado (forme um buffer de anel).
packages:value
Muda para o próximo arquivo após o número do valor de pacotes ter sido gravado, mesmo se o arquivo atual não estiver
completamente preenchido.
Machine Translated by Google
intervalo:valor
Mude para o próximo arquivo quando o tempo for um múltiplo exato do valor segundos.
-B <tamanho do buffer de
Defina o tamanho do buffer de captura (em MB, o padrão é 2 MB). Isso é usado pelo driver de captura para armazenar em buffer
os dados do pacote até que esses dados possam ser gravados no disco. Se você encontrar quedas de pacotes durante a captura,
tente aumentar esse tamanho. Não suportado em algumas plataformas.
Esta opção especifica o número máximo de pacotes a serem capturados ao capturar dados ao vivo. Seria usado em conjunto
com a opção -k .
--capture-comentário <comentário>
-d <layer_type>==<seletor>,<decode_as_protocol>
"Decodificar como", consulte Decodificações especificadas pelo usuário para obter detalhes. Exemplo: tcp.port==8888,http
-D
--list-interfaces
Imprima uma lista das interfaces nas quais o Wireshark pode capturar e saia. Para cada interface de rede, é impresso um
número e um nome de interface, possivelmente seguido por uma descrição de texto da interface. O nome ou o número da
interface pode ser fornecido ao sinalizador -i para especificar uma interface na qual capturar.
Isso pode ser útil em sistemas que não possuem um comando para listá-los (por exemplo, sistemas Windows ou sistemas UNIX
sem ifconfig -a). O número pode ser especialmente útil no Windows, onde o nome da interface é um GUID.
Observe que “pode capturar” significa que o Wireshark foi capaz de abrir esse dispositivo para fazer uma captura ao vivo.
Se, em seu sistema, um programa que faz uma captura de rede deve ser executado a partir de uma conta com privilégios
especiais, então, se o Wireshark for executado com o sinalizador -D e não for executado a partir de tal conta, ele não listará
nenhuma interface.
--display <DISPLAY>
--enable-protocol <proto_name>
--disable-protocol <proto_name>
--enable-heuristic <short_name>
--disable-heuristic <short_name>
-f <filtro de captura>
Esta opção define a expressão de filtro de captura inicial a ser usada ao capturar pacotes.
--tela cheia
-g <número do pacote>
Depois de ler um arquivo de captura usando o sinalizador -r, vá para o número do pacote fornecido.
-h
--ajuda
Esta opção solicita que o Wireshark imprima sua versão e instruções de uso (conforme mostrado aqui) e saia.
-H
-i <interface de captura> --
Defina o nome da interface de rede ou canal a ser usado para captura de pacote ao vivo.
Os nomes das interfaces de rede devem corresponder a um dos nomes listados em wireshark -D (descrito acima). Um
número, conforme relatado por wireshark -D, também pode ser usado. Se você estiver usando UNIX, netstat -i, ifconfig -a
ou ip link também podem funcionar para listar nomes de interface, embora nem todas as versões do UNIX suportem o
sinalizador -a para ifconfig.
Se nenhuma interface for especificada, o Wireshark pesquisa a lista de interfaces, escolhendo a primeira interface não
loopback se houver alguma interface não loopback e escolhendo a primeira interface loopback se não houver interfaces não
loopback; se não houver interfaces, o Wireshark relata um erro e não inicia a captura.
Os nomes de pipe devem ser o nome de um FIFO (pipe nomeado) ou “-” para ler os dados da entrada padrão. Os dados
lidos de pipes devem estar no formato libpcap padrão.
-J <filtro de salto>
Depois de ler um arquivo de captura usando o sinalizador -r , pule para o primeiro pacote que corresponda à expressão de
filtro. A expressão de filtro está no formato de filtro de exibição. Se uma correspondência exata não puder ser encontrada,
o primeiro pacote a seguir será selecionado.
Machine Translated by Google
-EU
--monitor-mode
-j
Use esta opção após a opção -J para procurar um primeiro pacote para onde ir.
-k
A opção -k especifica que o Wireshark deve iniciar a captura de pacotes imediatamente. Esta opção requer o uso do parâmetro -i
para especificar a interface a partir da qual ocorrerá a captura do pacote.
-K <arquivo keytab>
-eu
Esta opção ativa a rolagem automática se o painel da lista de pacotes estiver sendo atualizado automaticamente conforme os
pacotes chegam durante uma captura (conforme especificado pelo sinalizador -S ).
-EU
--list-data-link-types
--list-time-stamp-types Lista
-m <fonte>
Esta opção define o nome da fonte usada para a maioria dos textos exibidos pelo Wireshark.
-n
Desabilite a resolução de nome de objeto de rede (como nome de host, nomes de porta TCP e UDP).
Ativa a resolução de nomes para determinados tipos de endereços e números de porta. O argumento é uma string que pode
conter as seguintes letras:
Define uma preferência ou valor recente, substituindo o valor padrão e qualquer valor lido de uma preferência ou arquivo
recente. O argumento para o sinalizador é uma string no formato prefname:value, onde prefname é o nome da preferência
(que é o mesmo nome que apareceria nas preferências ou no arquivo recente ) e value é o valor ao qual deve ser definir.
Múltiplas instâncias de `-o <configurações de preferência>
`
podem ser fornecidos em uma única linha de comando.
wireshark -o mgcp.display_dissect_tree:TRUE
Você pode obter uma lista de todas as strings de preferências disponíveis no arquivo de preferências. Consulte Arquivos e
pastas para obter detalhes.
As tabelas de acesso do usuário podem ser substituídas usando “uat”, seguido pelo nome do arquivo UAT e um registro válido
para o arquivo:
O exemplo acima dissecaria pacotes com um link de dados libpcap tipo 147 como HTTP, como se você o tivesse configurado
nas preferências do protocolo DLT_USER.
-p
--no-promiscuous-mode
Não coloque a interface em modo promíscuo. Observe que a interface pode estar no modo promíscuo por algum outro motivo.
Portanto, -p não pode ser usado para garantir que o único tráfego capturado seja o tráfego enviado para ou da máquina na
qual o Wireshark está sendo executado, tráfego de transmissão e tráfego multicast para endereços recebidos por essa
máquina.
Machine Translated by Google
-P <configuração do caminho>
Configurações de caminho especiais geralmente detectadas automaticamente. Isso é usado para casos especiais, por exemplo,
iniciar o Wireshark de um local conhecido em um pendrive.
persconf:caminho
persdata:path
Caminho dos arquivos de dados pessoais, é a pasta inicialmente aberta. Após a inicialização, o arquivo recente manterá a
última pasta utilizada.
-r <arquivo>
--read-file <infile>
Esta opção fornece o nome de um arquivo de captura para o Wireshark ler e exibir. Este arquivo de captura pode estar em um dos
formatos que o Wireshark entende.
Esta opção especifica um filtro de exibição a ser aplicado ao ler pacotes de um arquivo de captura. A sintaxe desse filtro é a dos
filtros de exibição discutidos em Filtrando pacotes durante a exibição.
Os pacotes que não correspondem ao filtro são descartados.
Esta opção especifica o tamanho do instantâneo a ser usado ao capturar pacotes. O Wireshark capturará apenas bytes snaplen de
dados para cada pacote.
-S
Esta opção especifica que o Wireshark exibirá os pacotes à medida que os captura. Isso é feito capturando em um processo e
exibindo-os em um processo separado. É o mesmo que “Atualizar lista de pacotes em tempo real” na caixa de diálogo “Opções de
captura”.
Esta opção define o formato dos carimbos de data/hora do pacote que são exibidos na janela da lista de pacotes.
O formato pode ser um dos seguintes:
Relative, que especifica que os timestamps são exibidos em relação ao primeiro pacote capturado.
uma
Absoluto, que especifica que os tempos reais sejam exibidos para todos os pacotes.
Machine Translated by Google
de Anúncios
Absoluto com data, que especifica que as datas e horas reais sejam exibidas para todos os pacotes.
adoy
Absolute com data YYYY/DOY, que especifica que as datas e horas reais sejam exibidas para todos os pacotes.
dd: Delta, que especifica que os timestamps são relativos ao pacote exibido anteriormente.
Epoch, que especifica que os timestamps são segundos desde a época (1 de janeiro de 1970 00:00:00)
você
Absoluto, que especifica que os horários reais sejam exibidos para todos os pacotes em UTC.
ud
Absoluto com data, que especifica que as datas e horas reais sejam exibidas para todos os pacotes em UTC.
udoy
Absolute com data YYYY/DOY, que especifica que as datas e horas reais sejam exibidas para todos os pacotes em
UTC.
-u <s | hms>
Mostrar timesamps como segundos (“s”, o padrão) ou horas, minutos e segundos (“hms”)
-v
--versão
Esta opção solicita que o Wireshark imprima suas informações de versão e saia.
-w <salvar arquivo>
Esta opção define o nome do arquivo a ser usado para salvar os pacotes capturados. Isso pode ser '-' para stdout.
Se uma captura for iniciada na linha de comando com -k, defina o tipo de link de dados a ser usado durante a captura de
pacotes. Os valores relatados por -L são os valores que podem ser usados.
--time-stamp-type <tipo>
Se uma captura for iniciada na linha de comando com -k, defina o tipo de registro de data e hora a ser usado durante a
captura de pacotes. Os valores relatados por --list-time-stamp-types são os valores que podem ser usados.
Machine Translated by Google
-X <opção eXtension>
Especifique uma opção a ser passada para um módulo Wireshark/TShark. A opção eXtension está no formato
extension_key:value, onde extension_key pode ser:
lua_script:<lua_script_filename>
Diz ao Wireshark para carregar o script fornecido, além dos scripts Lua padrão.
lua_script[num]:argumento
Diz ao Wireshark para passar o argumento fornecido para o script lua identificado por num, que é a ordem numérica
indexada do comando lua_script . Por exemplo, se apenas um script foi carregado com -X lua_script:my.lua, então -X
lua_script1:foo passará a string foo para o script my.lua . Se dois scripts forem carregados, como -X lua_script:my.lua -X
lua_script:other.lua nessa ordem, então um -X lua_script2:bar passará a string bar para o segundo script lua, ou seja,
other.lua .
read_format:<file_type>
Diz ao Wireshark para usar um tipo de arquivo de entrada específico, em vez de determiná-lo automaticamente.
stdin_descr:<descrição>
Defina uma descrição para a interface de entrada padrão, em vez do padrão: "Entrada padrão".
-Y <filtro de exibição>
-z <string de estatísticas>
Faça com que o Wireshark colete vários tipos de estatísticas e exiba o resultado em uma janela que é atualizada em tempo
semi-real. Para as estatísticas atualmente implementadas, consulte a página de manual do Wireshark.
Colorização de pacotes
Um mecanismo muito útil disponível no Wireshark é a colorização de pacotes. Você pode configurar o Wireshark para que ele
colora os pacotes de acordo com um filtro de exibição. Isso permite enfatizar os pacotes nos quais você pode estar interessado.
Você pode encontrar muitos exemplos de regras de coloração na página Wireshark Wiki Coloring Rules em https://gitlab.com/
wireshark/wireshark/wikis/ColoringRules.
Existem dois tipos de regras de coloração no Wireshark: regras temporárias que só estão em vigor até você sair do programa e
regras permanentes que são salvas em um arquivo de preferências para que estejam disponíveis na próxima vez que você
executar o Wireshark.
Regras temporárias podem ser adicionadas selecionando um pacote e pressionando a tecla Ctrl junto com uma das teclas
numéricas. Isso criará uma regra de coloração com base na conversa atualmente selecionada. Isto
Machine Translated by Google
tentará criar um filtro de conversação baseado primeiro em TCP, depois UDP, depois IP e por último Ethernet.
Filtros temporários também podem ser criados selecionando os itens de menu Colorir com Filtro › Colorir X ao clicar com
o botão direito do mouse no painel de detalhes do pacote.
Para colorir permanentemente os pacotes, selecione Exibir › Regras de coloração…. O Wireshark exibirá a caixa de
diálogo “Regras de coloração” conforme mostrado na caixa de diálogo “Regras de coloração”.
Se esta for a primeira vez que você usa a caixa de diálogo Coloring Rules e estiver usando o perfil de configuração padrão,
deverá ver as regras padrão mostradas acima.
NOTA Regras mais específicas geralmente devem ser listadas antes das regras mais gerais. Por exemplo, se
você tiver uma regra de coloração para UDP antes da regra para DNS, a regra para DNS pode não ser
aplicada (DNS normalmente é transportado por UDP e a regra UDP corresponderá primeiro).
Você pode criar uma nova regra clicando no botão [+] . Você pode excluir uma ou mais regras clicando no botão [-] . O
botão “copiar” irá duplicar uma regra.
Você pode editar uma regra clicando duas vezes em seu nome ou filtro. Na caixa de diálogo “Regras de coloração” o nome
da regra “Erros de soma de verificação” está sendo editado. Clicar nos botões [Foreground] e [Background] abrirá um
seletor de cores (um seletor de cores) para as cores de primeiro plano (texto) e de fundo, respectivamente.
Machine Translated by Google
A aparência do seletor de cores depende do seu sistema operacional. O seletor de cores do macOS é mostrado.
Selecione a cor desejada para os pacotes selecionados e clique em [OK ].
O uso de filtros de cores com o Wireshark mostra um exemplo de vários filtros de cores sendo usados no
Wireshark. Observe que o detalhe do quadro mostra que a regra “Bad TCP” foi aplicada, juntamente com o filtro
correspondente.
Machine Translated by Google
Cada protocolo tem seu próprio dissecador, portanto, a dissecação de um pacote completo geralmente envolve vários
dissecadores. Como o Wireshark tenta encontrar o dissector certo para cada pacote (usando “rotas” estáticas e heurísticas
“adivinhando”), ele pode escolher o dissector errado em seu caso específico. Por exemplo, o Wireshark não saberá se você
usa um protocolo comum em uma porta TCP incomum, por exemplo, usando HTTP na porta TCP 800 em vez da porta
padrão 80.
Existem duas maneiras de controlar as relações entre os dissecadores de protocolo: desabilitar um dissecador de protocolo
completamente ou desviar temporariamente a maneira como o Wireshark chama os dissecadores.
A caixa de diálogo Protocolos ativados permite ativar ou desativar protocolos específicos. A maioria dos protocolos é
habilitada por padrão. Quando um protocolo é desativado, o Wireshark para de processar um pacote sempre que esse
protocolo é encontrado.
Machine Translated by Google
Para ativar ou desativar os protocolos, selecione Analisar › Protocolos ativados…. O Wireshark abrirá a caixa de diálogo
“Enabled Protocols” conforme mostrado na caixa de diálogo “Enabled Protocols”.
Para desabilitar ou habilitar um protocolo, basta clicar na caixa de seleção com o mouse. Observe que digitar algumas letras
do nome do protocolo na caixa de pesquisa limitará a lista aos protocolos que contêm essas letras.
[ Habilitar todos ]
[Desativar tudo]
[Inverter]
[ OK ]
Salve e aplique as alterações e feche a caixa de diálogo, consulte Arquivos e pastas para obter detalhes.
Machine Translated by Google
[Cancelar]
A funcionalidade "Decodificar como" permite que você desvie temporariamente dissecações de protocolo específicas.
Isso pode ser útil, por exemplo, se você fizer alguns experimentos incomuns em sua rede.
Decodificar como é acessado selecionando Analisar › Decodificar como…. O Wireshark abrirá a caixa de diálogo
“Decode As” conforme mostrado na caixa de diálogo “Decode As”.
Nesta caixa de diálogo, você pode editar as entradas por meio dos botões de edição à esquerda.
Você também pode abrir esta caixa de diálogo no menu de contexto na lista de pacotes ou nos detalhes do pacote. Ele
conterá uma nova linha com base no pacote atualmente selecionado.
Essas configurações serão perdidas se você sair do Wireshark ou alterar o perfil, a menos que salve as entradas.
[+]
[-]
[ Cópia de ]
[ Claro ]
[ OK ]
[ Salve ÿ ]
[Cancelar]
Preferências
Há uma série de preferências que você pode definir. Simplesmente selecione Editar › Preferências… (Wireshark › Preferências… no
macOS) e o Wireshark abrirá a caixa de diálogo Preferências, conforme mostrado na caixa de diálogo de preferências, com a página
“Interface do usuário” como padrão. No lado esquerdo há uma árvore onde você pode selecionar a página a ser mostrada.
• O botão [Cancelar] restaurará todas as configurações de preferências para o último estado salvo.
O Wireshark suporta alguns protocolos, o que se reflete na longa lista de entradas no painel “Protocolos”.
Você pode pular para as preferências de um protocolo específico expandindo “Protocolos” e digitando as
primeiras letras do nome do protocolo.
Você pode pesquisar uma preferência digitando o texto na entrada "Pesquisar". Você também pode passar
nomes de preferência para Wireshark e TShark na linha de comando. Por exemplo, o gui.prepend_window_title
pode ser usado para diferenciar entre diferentes instâncias do Wireshark:
Perfis de Configuração
Os perfis de configuração podem ser usados para configurar e usar mais de um conjunto de preferências e
configurações. Selecione o item de menu Editar › Perfis de configuração… ou pressione Shift + Ctrl + A ou
Shift + Cmd + A (macOS) e o Wireshark abrirá a caixa de diálogo Perfis de configuração, conforme mostrado
em A caixa de diálogo Perfis de configuração. Também é possível clicar na parte “Perfil” da barra de status
para abrir um menu com os Perfis de configuração disponíveis (a barra de status com um menu de perfil de
configuração).
ÿ SNMP Enterprise Specific Trap Types (snmp_specific_traps) (SNMP Enterprise Specific Trap
Tipos)
• Atribuições de dissector alteradas (decode_as_entries), que podem ser definidas na caixa de diálogo “Decode As…” (Decodificações
especificadas pelo usuário).
• Algumas configurações recentes (recentes), como tamanhos de painel na janela principal (a janela principal), larguras de coluna na lista
de pacotes (o painel "Lista de pacotes"), todas as seleções no menu Exibir (o menu "Exibir") e o último diretório navegado na caixa de
diálogo "Arquivo aberto".
Todas as outras configurações são armazenadas na pasta de configuração pessoal e são comuns a todos os perfis.
Machine Translated by Google
Procurar perfil…
A lista de perfis pode ser filtrada inserindo parte do nome do perfil na caixa de pesquisa.
seleção de tipo
Os perfis podem ser filtrados entre a exibição de "Todos os perfis", "Perfis pessoais" e "Perfis globais"
Novo (+)
Crie um novo perfil. O nome do perfil criado é “Novo perfil” e é destacado para que você possa alterá-lo com
mais facilidade.
Excluir (-)
Exclui o perfil selecionado. Isso inclui todos os arquivos de configuração usados neste perfil. Vários perfis
podem ser selecionados e excluídos ao mesmo tempo. Não é possível deletar o perfil “Padrão” ou perfis
globais. A exclusão do perfil "Padrão" redefinirá esse perfil.
cópia de
Copia o perfil selecionado. Isso copia a configuração do perfil atualmente selecionado na lista. O nome do
perfil criado é o mesmo do perfil copiado, com o texto “(cópia)” e está destacado para que você possa alterá-
lo com mais facilidade.
[ Importar ]
Os perfis podem ser importados de arquivos zip, bem como diretamente de estruturas de diretório. Os perfis
que já existem por nome serão ignorados, assim como os perfis denominados "Padrão".
[Exportar]
Os perfis podem ser exportados para um arquivo zip. Os perfis globais, bem como o perfil padrão, serão
ignorados durante a exportação. Os perfis podem ser selecionados na lista individualmente e apenas os perfis
selecionados serão exportados
Machine Translated by Google
[ OK ]
Este botão salva todas as alterações, aplica o perfil selecionado e fecha a caixa de diálogo.
[Cancelar]
Feche esta caixa de diálogo. Isso descartará as configurações não salvas, novos perfis não serão adicionados e os perfis
excluídos não serão excluídos.
[ Ajuda ]
Tabela de usuários
O editor User Table é usado para gerenciar várias tabelas no Wireshark. Sua caixa de diálogo principal funciona de maneira
muito semelhante à da colorização de pacotes.
${tcp_conv:10.1.1.2;10.1.1.3;1200;1400}
As Macros de Filtro de Exibição podem ser gerenciadas com uma tabela de usuário, conforme descrito em Tabela de Usuário,
selecionando Analisar › Macros de Filtro de Exibição no menu. A Tabela de Usuários possui os seguintes campos:
Nome
O nome da macro.
Texto
O texto de substituição para a macro usa $1, $2, $3, … como argumentos de entrada.
rótulos.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
Conjunto de tags
Valor
Nome
Se a sua cópia do Wireshark suporta MaxMind's Biblioteca MaxMindDB, você pode usar seus bancos de dados para corresponder
endereços IP a países, cidades, números de sistemas autônomos e outras informações.
Alguns bancos de dados estão disponíveis gratuitamente para usuários registrados, enquanto outros exigem uma taxa de licenciamento.
Veja o site da MaxMind Para maiores informações.
A configuração do banco de dados MaxMind é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes
campos:
Isso especifica um diretório contendo arquivos de dados MaxMind. Quaisquer arquivos que terminem com .mmdb serão carregados
automaticamente.
Os locais para seus arquivos de dados são com você, mas /usr/share/GeoIP e /var/lib/GeoIP são comuns no Linux e C:\ProgramData\GeoIP,
C:\Program Files\Wireshark\GeoIP podem ser boas escolhas no Windows.
As versões anteriores do Wireshark suportavam o formato de banco de dados GeoIP Legacy original da MaxMind. Eles foram configurados
de forma semelhante aos arquivos MaxMindDB acima, exceto que os arquivos GeoIP devem começar com Geo e terminar com .dat. Eles
não são mais suportados e a MaxMind parou de distribuir os bancos de dados GeoLite Legacy em abril de 2018.
O Wireshark pode descriptografar cargas criptografadas de pacotes IKEv2 (Internet Key Exchange versão 2) se as informações necessárias
forem fornecidas. Observe que você pode descriptografar apenas pacotes IKEv2 com esse recurso.
Se você deseja descriptografar pacotes IKEv1 ou pacotes ESP, use a configuração Log Filename na preferência do protocolo ISAKMP ou
configurações na preferência do protocolo ESP, respectivamente.
Isso é tratado por uma tabela de usuários, conforme descrito em Tabela de usuários, com os seguintes campos:
Machine Translated by Google
SPI do iniciador
SPI do iniciador do IKE_SA. Este campo recebe string hexadecimal sem prefixo “0x” e o comprimento deve ser de 16
caracteres hexadecimais (representa 8 octetos).
SPI do respondente
SPI do respondente do IKE_SA. Este campo recebe string hexadecimal sem prefixo “0x” e o comprimento deve ser de 16
caracteres hexadecimais (representa 8 octetos).
SK_ei
Chave usada para criptografar/descriptografar pacotes IKEv2 do iniciador para o respondente. Este campo aceita string
hexadecimal sem o prefixo “0x” e seu comprimento deve atender ao requisito do algoritmo de criptografia selecionado.
SK_er
Chave usada para criptografar/descriptografar pacotes IKEv2 do respondente ao iniciador. Este campo aceita string
hexadecimal sem o prefixo “0x” e seu comprimento deve atender ao requisito do algoritmo de criptografia selecionado.
Algoritmo de criptografia
SK_ai
Chave usada para calcular dados de soma de verificação de integridade para pacotes IKEv2 do respondente ao iniciador.
Este campo recebe string hexadecimal sem prefixo “0x” e seu comprimento deve atender ao requisito do algoritmo de
integridade selecionado.
SK_ar
Chave usada para calcular dados de soma de verificação de integridade para pacotes IKEv2 do iniciador ao respondente.
Este campo recebe string hexadecimal sem prefixo “0x” e seu comprimento deve atender ao requisito do algoritmo de
integridade selecionado.
Algoritmo de Integridade
Identificadores de objeto
Muitos protocolos que usam ASN.1 usam identificadores de objeto (OIDs) para identificar exclusivamente determinadas
informações. Em muitos casos, eles são usados em um mecanismo de extensão para que novos identificadores de objetos
(e valores associados) possam ser definidos sem a necessidade de alterar o padrão base.
Embora o Wireshark tenha conhecimento sobre muitos dos OIDs e a sintaxe de seus valores associados, a extensibilidade
significa que outros valores podem ser encontrados.
O Wireshark usa esta tabela para permitir que o usuário defina o nome e a sintaxe dos identificadores de objeto que o
Wireshark não conhece (por exemplo, uma extensão X.400 definida de forma privada). Também permite
Machine Translated by Google
o usuário para substituir o nome e a sintaxe dos identificadores de objeto que o Wireshark conhece (por exemplo, alterando o nome “id-at-
countryName” para apenas “c”).
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
OID
Nome
O nome que deve ser exibido pelo Wireshark quando o Object Identifier é dissecado, por exemplo, (“c”);
Sintaxe
A sintaxe do valor associado ao Identificador de objeto. Esta deve ser uma das sintaxes que o Wireshark já conhece (por exemplo,
“PrintableString”).
O Wireshark usa esta tabela para mapear um identificador de contexto de apresentação para um determinado identificador de objeto
quando a captura não contém um pacote PRES com uma lista de definição de contexto de apresentação para a conversa.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
Id de contexto
Um Integer representando o identificador de contexto de apresentação para o qual esta associação é válida.
O identificador de objeto que representa o nome da sintaxe abstrata, que define o protocolo que é transportado nessa associação.
O Wireshark usa esta tabela para mapear protocolos específicos para uma certa combinação DPC/SSN para SCCP.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
Indicador de rede
DPCs chamados
SSNs chamados
Protocolo do usuário
Se sua cópia do Wireshark suporta libSMI, você pode especificar uma lista de módulos MIB e PIB aqui. Os dissecadores COPS e SNMP
podem usá-los para resolver OIDs.
Nome do módulo
Se sua cópia do Wireshark suporta libSMI, você pode especificar um ou mais caminhos para os módulos MIB e PIB aqui.
Nome do diretório
Um diretório de módulo, por exemplo, /usr/local/snmp/mibs. O Wireshark usa automaticamente o caminho SMI padrão para o seu sistema,
então você geralmente não precisa adicionar nada aqui.
O Wireshark usa esta tabela para mapear valores de armadilhas específicas para descrições definidas pelo usuário em uma Trap PDU.
A descrição é mostrada no elemento trap específico dos detalhes do pacote.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
Enterprise OID
ID da armadilha
Descrição A
O Wireshark usa esta tabela para verificar a autenticação e para descriptografar pacotes SNMPv3 criptografados.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
ID do
mecanismo Se fornecida, esta entrada será usada apenas para pacotes cujo ID do mecanismo seja este. Este campo leva um
Machine Translated by Google
Nome do usuário
Este é o nome de usuário. Quando um único usuário tem mais de uma senha para diferentes mecanismos SNMP, a primeira
entrada para corresponder a ambos é tomada, se você precisar pegar todo o ID do mecanismo (vazio), essa entrada deve ser a
última.
Modelo de autenticação
Senha
A senha de autenticação. Use \xDD para caracteres não imprimíveis. Uma senha hexadecimal deve ser inserida como uma
sequência de caracteres \xDD . Por exemplo, a senha hexadecimal 010203040506 deve ser inserida como \x01\x02\x03\x04\x05\x06.
O caractere \ deve ser tratado como um caractere não imprimível, ou seja, deve ser inserido como \x5C ou \x5c.
Protocolo de
senha de privacidade
A senha de privacidade. Use \xDD para caracteres não imprimíveis. Uma senha hexadecimal deve ser inserida como uma
sequência de caracteres \xDD . Por exemplo, a senha hexadecimal 010203040506 deve ser inserida como \x01\x02\x03\x04\x05\x06.
O caractere \ deve ser tratado como um caractere não imprimível, ou seja, deve ser inserido como \x5C ou \x5c.
A correspondência do arquivo Stk com o protocolo é tratada por uma tabela de usuário, conforme descrito em Tabela de usuário, com
os seguintes campos:
Cadeia de correspondência
Uma correspondência parcial para um nome de arquivo stk, a primeira correspondência vence, portanto, se você tiver um caso
específico e um geral, o específico deve aparecer primeiro na lista.
Protocolo
Este é o nome do protocolo de encapsulamento (a camada mais baixa no pacote de dados) pode ser apenas o nome do protocolo
(por exemplo, mtp2, eth_withoutfcs, sscf-nni ) ou o nome do protocolo de encapsulamento e o “aplicativo” protocolo sobre ele
separado por dois pontos (por exemplo, sscop:sscf-nni, sscop:alcap, sscop:nbap, …)
Machine Translated by Google
Quando um arquivo pcap usa um dos DLTs do usuário (147 a 162), o Wireshark usa esta tabela para saber quais protocolos usar
para cada DLT do usuário.
Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:
DLT
Este é o nome do protocolo de carga útil (a camada mais baixa nos dados do pacote). (por exemplo, “eth” para ethernet, “ip” para
IPv4)
Tamanho do cabeçalho
Se houver um protocolo de cabeçalho (antes do protocolo de carga útil), isso informa qual é o tamanho desse cabeçalho. Um
valor de 0 desativa o protocolo de cabeçalho.
protocolo de cabeçalho
Tamanho do reboque
Se houver um protocolo de trailer (após o protocolo de carga útil), isso informa qual é o tamanho desse trailer. Um valor de 0
desativa o protocolo de reboque.
Protocolo de reboque
O formato de fio binário das mensagens dos buffers de protocolo (Protobuf) não são protocolos autodescritos. Por exemplo, o tipo de
fio varint no pacote protobuf pode ser convertido em tipos de campo int32, int64, uint32, uint64, sint32, sint64, bool ou enum da
linguagem de buffers de protocolo. O Wireshark deve ser configurado com arquivos de linguagem Protocol Buffers (*.proto) para
permitir a dissecação adequada dos dados protobuf (que podem ser a carga útil do gRPC) com base nas definições de mensagem,
enumeração e campo.
Você pode especificar caminhos de pesquisa protobuf nas preferências do protocolo Protobuf. Por exemplo, se você definiu um
arquivo proto com o caminho d:/my_proto_files/helloworld.proto e o helloworld.proto contém uma linha de importação "google/protobuf/
any.proto"; porque qualquer tipo de biblioteca protobuf oficial any.proto d:/protobuf 3.4.1/include/google/protobuf/any.proto. Você deve
é
adicionar os caminhos usava. E a
d:/protobuf-3.4.1/include/ real
e d:/my_proto_files nos caminhosdede pesquisa do protobuf. é
caminho
A configuração dos caminhos de busca do protobuf é uma tabela user, conforme descrito em User Table, com os seguintes campos:
Machine Translated by Google
Isso especifica um diretório contendo arquivos de origem protobuf. Por exemplo, d:/protobuf 3.4.1/include/ e d:/my_proto_files
no Windows ou /home/alice/my_proto_files no Linux/UNIX. /usr/incluir/ e
Se esta opção estiver habilitada, o Wireshark carregará todos os arquivos *.proto neste diretório e seus subdiretórios quando a
inicialização do Wireshark ou as preferências dos caminhos de pesquisa do protobuf forem alteradas. Observe que os diretórios
de origem configurados para protobuf oficial ou terceiro caminho de bibliotecas (como d:/protobuf-3.4.1/include/) não devem ser
configurados para carregar todos os arquivos, o que pode causar
uso da memória.
A configuração da(s) porta(s) UDP para mapas de tipo de mensagem Protobuf é uma tabela de usuário, conforme descrito em
Tabela Usuário, com os seguintes campos:
Portas UDP
Tipo de mensagem
O tipo de mensagem Protobuf como o qual os dados na(s) porta(s) udp especificada(s) devem ser analisados. O tipo de
mensagem pode estar vazio, o que significa deixar o Protobuf dissecar os dados nas portas UDP especificadas como tipo de fio
normal sem definições precisas.
Dicas: Você pode criar seu próprio dissector para chamar Protobuf dissector. Se o seu dissecador estiver escrito em linguagem C,
você pode passar o tipo de mensagem para o dissecador Protobuf pelo parâmetro de dados da função call_dissector_with_data().
Se seu dissecador for escrito em Lua, você pode passar o tipo de mensagem para Protobuf dissector por pinfo.private["pb_msg_type"].
O formato de dados e pinfo.private["pb_msg_type"] é
"mensagem," message_type_name
Por exemplo:
AMIGO
Introdução
O que é MATE? Bem, para resumir, com o MATE você pode criar extensões configuráveis pelo usuário do mecanismo de filtro de
exibição.
O objetivo do MATE é permitir que os usuários filtrem quadros com base em informações extraídas de quadros relacionados ou
informações sobre como os quadros se relacionam entre si. MATE foi escrito para ajudar a solucionar problemas de gateways e outros
sistemas onde um "uso" envolve mais protocolos. No entanto, o MATE também pode ser usado para analisar outras questões
relacionadas à interação entre pacotes, como tempos de resposta, incompletude de transações, presença/ausência de certos atributos
em um grupo de PDUs e
mais.
MATE é um plug-in do Wireshark que permite ao usuário especificar como os diferentes quadros estão relacionados entre si. Para fazer
isso, o MATE extrai dados da árvore dos quadros e, usando essas informações, tenta agrupar os quadros com base em como o MATE
está configurado. Assim que os PDUs estiverem relacionados, o MATE criará uma árvore de "protocolo" com campos que o usuário
pode filtrar. Os campos serão quase os mesmos para todos os quadros relacionados, portanto, pode-se filtrar uma sessão completa
abrangendo vários quadros contendo mais protocolos com base em um atributo que aparece em algum quadro relacionado. Além disso,
o MATE permite filtrar quadros com base em tempos de resposta, número de PDUs em um grupo e muito mais.
• Filtre todos os pacotes de uma chamada usando vários protocolos sabendo apenas o número chamador. (Companheiros
objetivo inicial)
• Filtre todos os pacotes de todas as chamadas usando vários protocolos com base na causa de liberação de um de seus
"segmentos".
• Extrapolar transações lentas de capturas muito "densas". (encontrando solicitações de tempo limite)
• mais…
Começando
Estas são as etapas para experimentar o MATE:
• Execute o Wireshark e verifique se o plugin está instalado corretamente (MATE deve aparecer em
AjudaÿSobreÿPlugins)
• Obtenha um arquivo de configuração por exemplo, tcp.mate (veja Mate/Exemplos para mais) e coloque-o em algum lugar
Machine Translated by Google
• Vá para PreferênciasÿProtocolosÿMATE e defina o nome do arquivo de configuração para o arquivo que deseja usar (você
não precisa reiniciar o Wireshark)
• Carregue um arquivo de captura correspondente (por exemplo, http.cap) e veja se o MATE adicionou alguns novos campos
de filtro de exibição, algo como: mate tcp_pdu:1ÿtcp_ses:1 ou, no prompt: path_to/wireshark -o "mate.config: tcp.mate" -r
http.cap.
Se tudo correr bem, os detalhes do seu pacote podem ser algo como isto:
Manual MATE
Introdução
O MATE cria uma árvore filtrável com base nas informações contidas nos quadros que compartilham alguns
relação com as informações obtidas de outros quadros. A forma como esses relacionamentos são feitos é descrita em um
arquivo de configuração. O arquivo de configuração informa ao MATE o que faz um PDU e como relacioná-lo a outros PDUs.
O MATE analisa cada quadro para extrair informações relevantes da árvore "protocolo" desse quadro.
As informações extraídas estão contidas nos PDUs do MATE; estes contêm uma lista de atributos relevantes retirados da
árvore. A partir de agora, usarei o termo "PDU" para me referir aos objetos criados pelo MATE contendo as informações
relevantes extraídas do quadro; Usarei "frame" para me referir à informação "bruta" extraída pelos vários dissecadores que
pré-analisaram o frame.
Para cada PDU, o MATE verifica se ele pertence a um "Grupo de PDUs" (Gop) existente. Em caso afirmativo, atribui o PDU a
esse Gop e move quaisquer novos atributos relevantes para a lista de atributos do Gop. Como e quando os PDUs pertencem
ao Gops também é descrito no arquivo de configuração.
Cada vez que um Gop recebe um novo PDU, o MATE verifica se ele atende às condições para fazê-lo
Machine Translated by Google
pertencem a um "Grupo de Grupos" (Gog). Naturalmente, as condições que fazem um Gop pertencer a um Gog também
são retiradas do arquivo de configuração.
Depois que o MATE terminar de analisar o quadro, ele poderá criar uma árvore de "protocolo" para cada quadro com base
nos PDUs, os Gops aos quais eles pertencem e, naturalmente, quaisquer Gogs aos quais o primeiro pertence.
Como dizer ao MATE o que extrair, como agrupar e como relacionar esses grupos é feito usando AVPs e AVPLs.
As informações no MATE estão contidas em pares de atributos/valores (AVPs). AVPs são feitos de duas strings: o nome e
o valor. Os AVPs são usados na configuração e lá eles têm um operador também.
Existem várias maneiras pelas quais os AVPs podem ser comparados entre si usando esses operadores.
Os AVPs são agrupados em Listas de AVPs (AVPLs). PDUs, Gops e Gogs têm um AVPL cada. Seus AVPLs serão
comparados de várias maneiras com outros provenientes do arquivo de configuração.
O MATE será instruído sobre como extrair AVPs de quadros para criar um PDU com um AVPL. Isto
será instruído também como combinar esse AVPL com os AVPLs de outros PDUs semelhantes para relacioná-los. No
MATE o relacionamento entre PDUs é um Gop, tem um AVPL também. O MATE será configurado com outros AVPLs para
operar contra o AVPL do Gop para relacionar Gops em Gogs.
Um bom entendimento de como funcionam os AVPs e AVPLs é fundamental para entender como o MATE funciona.
As informações usadas pelo MATE para relacionar diferentes quadros estão contidas em pares de atributos/valores (AVPs).
AVPs são feitos de duas strings - o nome e o valor. Quando os AVPs são usados na configuração, um operador também é
definido. Existem várias maneiras pelas quais os AVPs podem ser comparados entre si usando esses operadores.
avp_name="valor do
avp" another_name= "1234 é o valor"
O nome é uma string usada para se referir a um "tipo" de um AVP. Dois AVPs não combinam, a menos que seus nomes
sejam idênticos.
Você não deve usar letras maiúsculas em nomes ou nomes que começam com “.” ou "_". Nomes em letras maiúsculas são
reservados para parâmetros de configuração (vamos chamá-los de palavras-chave); nada o proíbe de usar strings em letras
maiúsculas para outras coisas também, mas provavelmente seria confuso. Vou evitar usar palavras em maiúsculas para
qualquer coisa, exceto as palavras-chave neste documento, o manual de referência, os exemplos e a biblioteca base.
Nomes que começam com um “.” seria muito confuso também porque na gramática antiga, as transformações AVPL usam
nomes começando com um “.” para indicar que pertencem ao AVPL substituto.
O valor é uma string que é definida na configuração (para AVPs de configuração) ou pelo Wireshark
Machine Translated by Google
enquanto extrai campos interessantes da árvore de um quadro. Os valores extraídos dos campos usam a mesma representação
que fazem nas strings de filtro, exceto que não são usadas aspas.
O nome pode conter apenas caracteres alfanuméricos, "_" e ".". O nome termina com um operador.
O valor será tratado como uma string, mesmo que seja um número. Se houver algum espaço no valor, o valor deve estar entre
aspas "".
ip_addr=10.10.10.11,
tcp_port=1234,
binary_data=01:23:45:67:89:ab:cd:ef,
parameter12=0x23aa,
parameter_with_spaces="este valor tem espaços"
A maneira como dois AVPs com o mesmo nome podem corresponder é descrita pelo operador. Lembre-se de que dois AVPs
não combinam, a menos que seus nomes sejam idênticos. No MATE, as operações de match são sempre feitas entre os
AVPs extraídos dos quadros (chamados AVPs de dados) e os AVPs da configuração.
• Igual = corresponderá se a string fornecida corresponder completamente à string de valor do AVP de dados
• Diferente ! irá corresponder apenas se a string de valor fornecida não for igual à string de valor do AVP de dados
• One Of {} corresponderá se uma das strings possíveis listadas for igual à string de valor do AVP de dados
• Começa com ^ corresponderá se a sequência fornecida corresponder aos primeiros caracteres do valor do AVP de dados
corda
• Termina com $ corresponderá se a sequência fornecida corresponder aos últimos caracteres do valor do AVP de dados
corda
• Contém ~ corresponderá se a string fornecida corresponder a qualquer substring da string de valor do AVP de dados
• Inferior a < corresponderá se a string de valor do AVP de dados for semanticamente menor que a string
dado
• Superior a > corresponderá se a string de valor do AVP de dados for semanticamente maior que a string
dado
• Existe ? (o ? pode ser omitido) corresponderá desde que exista um AVP de dados com o nome fornecido
listas AVP
Um AVPL é um conjunto de diversos AVPs que podem ser comparados com outros AVPLs. Cada PDU, Gop e Gog possui um
AVPL que contém as informações a respeito. As regras que o MATE usa para agrupar Pdus e Gops são operações AVPL.
Nunca haverá dois AVPs idênticos em um determinado AVPL. Porém, podemos ter mais de um AVP com o mesmo nome em
um AVPL desde que seus valores sejam diferentes.
Machine Translated by Google
• AVPLs de operação que vêm da configuração e são usados para dizer ao MATE como se relacionar
itens com base em seus AVPLs de dados.
AVPLs de dados podem ser operados contra AVPLs de operação de várias maneiras:
• Loose Match: Irá corresponder se pelo menos um dos AVPs de cada AVPL corresponder. Se for compatível vai
retorna um AVPL contendo todos os AVPs do operando AVPL que corresponderam aos AVPs do operador.
• "Every" Match: Irá corresponder se nenhum dos AVPs do operador AVPL não corresponder a um AVP presente no operando
AVPL, mesmo que nem todos os AVPs do operador tenham uma correspondência. Se corresponder, retornará um AVPL
contendo todos os AVPs do operando AVPL que corresponderam a um AVP no operador AVPL.
• Strict Match: Irá corresponder se e somente se cada um dos AVPs do operador tiver pelo menos uma correspondência no
operando AVPL. Se corresponder, retornará um AVPL contendo os AVPs do operando correspondente.
• Há também uma operação de mesclagem que deve ser realizada entre AVPLs onde todos os AVPs que não existem no
operando AVPL, mas existem no operando, serão adicionados ao operando AVPL.
• Fora isso, existem Transformações - uma combinação de um AVPL correspondente e um AVPL para
fundir.
Análise MATE
A análise do MATE de um quadro é realizada em três fases:
• Na primeira fase, o MATE tenta extrair um MATE Pdu da árvore de protocolos do quadro. O MATE criará um Pdu se a
configuração do MATE tiver uma declaração de Pdu cujo Proto esteja contido no quadro.
• Na segunda fase, se um Pdu foi extraído do quadro, o MATE tentará agrupá-lo a outros Pdus em um Gop (Grupo de Pdus)
combinando os critérios-chave fornecidos por uma declaração Gop . Se ainda não houver Gop com os critérios-chave para o
Pdu, o MATE tentará criar um novo Gop para ele se corresponder aos critérios de início fornecidos na declaração do Gop.
• Na terceira fase, se houver um Gop para o Pdu, o MATE tentará agrupar esse Gop com outros Gops
Machine Translated by Google
em um Gog (Grupo de Grupos) usando os critérios fornecidos pelos critérios de Membro de uma declaração Gog.
A lógica de extração e correspondência vem da configuração do MATE; O arquivo de configuração do MATE é declarado pela
preferência mate.config . Por padrão, é uma string vazia, o que significa: não configure o MATE.
O arquivo de configuração diz ao MATE o que procurar nos quadros; Como fazer PDUs a partir dele; Como os PDUs serão
relacionados a outros PDUs semelhantes no Gops; E como os Gops se relacionam com os Gogs.
O arquivo de configuração MATE é uma lista de declarações. Existem 4 tipos de declarações: Transform, Pdu, Gop e Gog.
Machine Translated by Google
PDUs do companheiro
O MATE procurará na árvore de cada quadro para ver se há dados úteis para extrair e, se houver, criará um ou mais objetos
PDU contendo as informações úteis.
A primeira parte da análise do MATE é a "extração de PDU"; existem várias "Ações" que são usadas para instruir o MATE sobre
o que deve ser extraído da árvore do quadro atual para as PDUs do MATE.
O MATE fará um Pdu para cada campo proto diferente do tipo Proto presente no quadro. O MATE buscará na árvore de campos
aqueles campos que estão definidos na declaração de ações de configuração do Pdsu cujo deslocamento inicial no quadro está
dentro dos limites do Proto atual e aqueles
O MATE fará um Pdu para cada campo proto diferente do tipo Proto presente no quadro. O MATE buscará na árvore de campos
aqueles campos que estão definidos nas ações de configuração do Pdsu AVPL cujo deslocamento inicial no quadro está dentro
dos limites do Proto atual e os do
Depois que o MATE encontrar um campo Proto para o qual criar um Pdu a partir do quadro, ele se moverá
para trás no quadro procurando os respectivos campos de transporte . Depois disso, ele criará AVPs nomeados como cada um
dos fornecidos no restante do AVPL para cada instância dos campos declarados como seus
Machine Translated by Google
valores.
Às vezes, precisamos de informações de mais de um protocolo de transporte . Nesse caso, o MATE verificará o quadro olhando
para trás para procurar os vários protocolos de transporte na pilha fornecida.
O MATE escolherá apenas o limite de transporte mais próximo por "protocolo" no quadro.
Desta forma, teremos todos os Pdus para cada Proto que aparece em um quadro corresponder a seus transportes relativos.
Pdu isup_pdu Proto isup Transporte mtp3/ip { Extrair m3pc de mtp3.dpc; Extraia m3pc de mtp3.opc; Extrair cic De isup.cic; Extraia o endereço de ip.addr; Extrair
isup_msg De isup.message_type;
};
Isso permite atribuir o transporte correto para o Pdu evitando entradas duplicadas do protocolo de transporte (no caso de ip
encapsulado sobre ip, por exemplo).
Machine Translated by Google
Pdu ftp_pdu Proto ftp Transport tcp/ip { Extract addr From ip.addr; Extrair porta De tcp.port; Extraia ftp_cmd de ftp.command;
};
Além do transporte obrigatório , há também uma instrução de carga útil opcional , que funciona praticamente como
transporte , mas se refere a elementos após o intervalo do Proto . É útil nos casos em que o protocolo de carga útil pode
não aparecer em um Pdu, mas o Pdu pertence à mesma categoria.
http.response.code; Extrair host De http.host; Extrair trx de mmse.transaction_id; Extrair msg_type De mmse.message_type; Extrair notify_status De
};
Machine Translated by Google
Pode haver casos em que não queremos que o MATE crie uma PDU, a menos que alguns de seus atributos extraídos atendam ou
não a alguns critérios. Para isso, usamos as declarações Criteria do Pdu
declarações.
// MATE criará PDUs isup_pdu somente quando não houver um código de ponto '1234'
Critérios de Rejeição Estrita (m3pc=1234); };
// MATE criará PDUs ftp_pdu somente quando forem para a porta 21 de nosso ftp_server
Criteria Accept Strict (addr=10.10.10.10, porta=21); };
A instrução Criteria recebe uma ação (Accept ou Reject), um modo de correspondência (Strict, Loose ou Every) e um AVPL contra
o qual corresponder ao extraído atualmente.
Depois que os campos forem extraídos para o AVPL do Pdu, o MATE aplicará qualquer transformação declarada a ele. A maneira
como as transformações são aplicadas e como elas funcionam é descrita posteriormente.
Porém, é bom saber que uma vez criado o AVPL para o Pdu, ele pode ser transformado antes de ser analisado. Dessa forma,
podemos massagear os dados para simplificar a análise.
Cada Pdu criado com sucesso adicionará uma árvore MATE à dissecação do quadro. Se o Pdu não estiver relacionado a nenhum
Gop, a árvore para o Pdu conterá apenas as informações do Pdu, se for atribuído a um Gop, a árvore também conterá os itens
Gop, e o mesmo se aplica ao nível Gog.
Machine Translated by Google
10.194.4.11
ÿ
endereço: 10.194.24.35
• a árvore também conterá os vários atributos do Pdu, todos eles serão strings (para serem usados
em filtros como "10.0.0.1", não como 10.0.0.1)
ÿ mate.dns_pdu.dns_resp
ÿ mate.dns_pdu.dns_id
ÿ mate.dns_pdu.addr
Depois que o MATE cria o Pdus, ele passa para a fase de análise do Pdu. Durante a fase de análise do PDU, o MATE tentará
agrupar Pdus do mesmo tipo em 'Grupos de Pdus' (também conhecidos como *Gop*s) e copiar alguns AVPs do AVPL do Pdu para
o AVPL do Gop.
Machine Translated by Google
Dado um Pdu, a primeira coisa que o MATE fará é verificar se existe alguma declaração Gop na
configuração para o tipo de Pdu fornecido. Nesse caso, ele usará seu Match AVPL para combiná-lo com
o AVPL do Pdu; se não coincidirem, termina a fase de análise. Se houver uma correspondência, o AVPL
é a chave candidata do Gop que será usada para pesquisar o índice do Gop para o Gop ao qual atribuir
a PDU atual. Se não houver tal Gop e este Pdu não corresponder aos critérios iniciais de uma declaração
Gop para o tipo de Pdu, o Pdu permanecerá não atribuído e apenas a fase de análise será realizada.
Começo de um Gop
Se houver uma correspondência, a chave candidata será usada para pesquisar o índice do Gop para
ver se já existe um Gop que corresponda à chave do Gop da mesma maneira. Se houver tal
correspondência na coleção Gops e o PDU não corresponder ao Start AVPL para seu tipo, o PDU será
atribuído ao Gop correspondente. Se for uma correspondência de início , o MATE verificará se o Gop já
foi interrompido ou não. Se o Gop foi interrompido, um novo Gop será criado e substituirá o antigo no índice do Gop
Machine Translated by Google
Se nenhum Start for fornecido para um Gop, um Pdu cujo AVPL corresponda a uma chave de Gog existente atuará como o início de
um Gop.
Assim que soubermos que existe um Gop e que o Pdu foi atribuído a ele, o MATE copiará no AVPL do Gop todos os atributos
correspondentes à chave mais quaisquer AVPs do AVPL do Pdu correspondentes ao AVPL Extra .
Fim de um Gop
Uma vez que o Pdu tenha sido atribuído ao Gop, o MATE verificará se o Pdu corresponde ou não ao Stop, se isso acontecer, o
MATE marcará o Gop como parado. Mesmo depois de parado, um Gop pode receber um novo Pdus correspondente à sua chave, a
menos que esse Pdu corresponda a Start. Se isso acontecer, o MATE criará um novo Gop começando com aquele Pdu.
Machine Translated by Google
Se nenhum critério de parada for definido para um determinado Gop, o Gop será interrompido assim que for criado.
No entanto, como com qualquer outro Gop, os Pdus correspondentes à chave do Gop ainda serão atribuídos ao Gop, a menos que
correspondam a uma condição inicial, caso em que um novo Gop usando a mesma chave será criado.
árvore de Gop
Para cada quadro contendo um Pdu pertencente a um Gop, o MATE criará uma árvore para esse Gop.
...
mate dns_pdu:6->dns_req:1 dns_pdu: 6 dns_pdu tempo: 2.103063 dns_pdu tempo desde o início do Gop: 2.103063 dns_req: 1 dns_req
dns_req número de PDUs: 2 Iniciar PDU: no quadro 1 Parar PDU: no quadro 6 (2.103063: 2.103063) dns_pdu Atributos dns_resp: 1
Além da árvore do pdu, esta contém informações sobre o relacionamento entre os Pdus que pertencem ao
Gop. Dessa forma temos:
• mate.dns_req que contém o id deste dns_req Gop. Isso estará presente nos quadros que pertencem a
dns_req Gops.
• os cronômetros do Gop
ÿ mate.dns_req.StartTime tempo (em segundos) passado desde o início da captura até o Gop's
começar.
ÿ mate.dns_req.Time tempo passado entre o Pdu de início e o Pdu de parada atribuído a este Gop
(criado apenas se um critério de parada tiver sido declarado para o Gop e um Pdu correspondente
tiver chegado).
ÿ mate.dns_req.Duration tempo passado entre a Pdu inicial e a última Pdu atribuída a esta
Vai p.
cronômetros de Gop
• Tempo, que é definido apenas para Gops que foram parados, e dá o tempo decorrido
entre o Start e o Stop Pdus.
• Duração, que é definida para cada Gop independentemente de seu estado, e dá o tempo decorrido
entre seu Start Pdu e o último Pdu atribuído a esse Gop.
Tão:
• podemos filtrar por Pdus que pertencem a Gops que foram parados com mate.xxx.Time
• podemos filtrar por Pdus que pertencem a Gops não interrompidos com mate.xxx && mate.xxx.Time
• podemos filtrar por Pdus que pertencem a Gops parados usando mate.xxx.Duration
• podemos filtrar os Pdus que pertencem a Gops que levaram mais (ou menos) tempo que 0,5s para concluir com
mate.xxx.Time > 0,5 (você pode tentar isso também como filtros de cores para descobrir quando os tempos
de resposta começam a aumentar )
Quando os Gops são criados, ou sempre que o seu AVPL muda, os Gops são (re)analisados para verificar se
correspondem a um grupo de grupos existente (Gog) ou podem criar um novo. A análise Gop é dividida em duas
fases. Na primeira fase, o Gop ainda não atribuído é verificado para verificar se ele pertence a um Gog já existente
ou pode criar um novo. A segunda fase eventualmente verifica o Gog e registra suas chaves no índice Gogs.
Machine Translated by Google
Existem várias razões para o autor acreditar que esse recurso precisa ser reimplementado, então
provavelmente haverá mudanças profundas na forma como isso é feito em um futuro próximo. Esta
seção da documentação reflete a versão do MATE a partir do Wireshark 0.10.9; em versões futuras
isso mudará.
Machine Translated by Google
A primeira coisa que temos que fazer ao configurar um Gog é dizer ao MATE que ele existe.
Gog web_use {
...
};
Então, temos que dizer ao MATE o que procurar por uma correspondência no Gops candidato.
Gog web_use {
Membro http_ses (host);
Membro dns_req (host); };
Na maioria das vezes, também outros atributos além daqueles usados para correspondência seriam interessantes. Para copiar
de Gop para Gog outros atributos interessantes, podemos usar Extra como fazemos para Gops.
Gog web_use {
...
Extra (biscoito); };
árvore de gog
Machine Translated by Google
mate http_pdu:4->http_req:2->http_use:1 http_pdu: 4 tempo http_pdu: 1.309847 tempo http_pdu desde o início do Gop: 0.218930 http_req: 2 ... (a árvore do
gop para http_req: 2) .. http_use: 1 http_use Host de atributos: www.example.com http_use Horários http_use horário de início: 0,000000 http_use duração:
1,309847 número de GOPs: 3 dns_req: 1 ... (a árvore do gop para dns_req: 1) .. http_req: 1 ... (o gop's árvore para http_req:
Podemos filtrar:
ÿ mate.http_use.host
Transformações AVPL
Uma Transformação é uma sequência de regras de correspondência opcionalmente concluídas com a modificação do
resultado da correspondência por um AVPL adicional. Tal modificação pode ser um Insert (merge) ou um Replace. As
transformações podem ser usadas como auxiliares para manipular o AVPL de um item antes que ele seja processado
posteriormente. Chegam a ser muito úteis em vários casos.
Sintaxe
Nome da transformação {
...
};
O nome é o identificador para a transformação AVPL. É usado para se referir à transformação ao invocá-la posteriormente.
Machine Translated by Google
As declarações de correspondência instruem o MATE sobre o que e como corresponder aos dados AVPL e como modificar
os dados AVPL se a correspondência for bem-sucedida. Eles serão executados na ordem em que aparecem no arquivo de
configuração sempre que forem invocados.
O qualificador de modo de correspondência opcional (Strict, Every ou Loose) é usado para escolher o modo de
correspondência conforme explicado acima; Strict é um valor padrão que pode ser omitido.
O qualificador de modo de modificação opcional instrui o MATE como o AVPL modificado deve ser usado:
• o valor padrão Insert (que pode ser omitido) faz com que o modify_avpl seja mesclado com o
dados existentes AVPL,
• o Replace faz com que todos os AVPs correspondentes dos dados AVPL sejam substituídos pelo modify_avpl.
O modify_avpl pode estar vazio; isso é útil em alguns casos para os modos de modificação Inserir e Substituir .
Exemplos:
Transform insert_name_and
{ Match Strict (host=10.10.10.10, porta=2345) Insert (name=JohnDoe); };
Transform insert_name_or
{ Match Loose (host=10.10.10.10, porta=2345) Insert (name=JohnDoe); };
Transform replace_ip_address
{ Match (host=10.10.10.10) Substituir (host=192.168.10.10); };
Transform add_ip_address
{ Match (host=10.10.10.10) (host=192.168.10.10); };
Transforme replace_may_be_surprising {
Corresponder solto (a=aaaa, b=bbbb) Substituir (c=cccc,
d=dddd); };
dá os seguintes resultados:
• (a=aaaa, b=eeee) é transformado em (b=eeee, c=cccc, d=dddd) porque a=aaaa correspondeu, portanto
foi substituído enquanto b=eeee não correspondia, então foi deixado intacto,
• (a=aaaa, b=bbbb) é transformado em (c=cccc, d=dddd) porque tanto a=aaaa quanto b=bbbb fizeram
partida.
Uso
Uma vez declarados, os Transforms podem ser adicionados às declarações de PDUs, Gops ou Gogs. Isso é feito adicionando a
instrução Transform name_list à declaração:
• No caso de PDU, a lista de transformações é aplicada contra o AVPL do PDU após sua criação.
• No caso de Gop e Gog, a lista de transformações é aplicada em seus respectivos AVPLs quando são criados e sempre que
são alterados.
Operação
Machine Translated by Google
• Uma lista de Transformações declaradas anteriormente pode ser dada a cada Item (Pdu, Gop ou Gog), usando
a instrução Transform.
• Toda vez que o AVPL de um item mudar, ele será operado contra todos os Transforms na lista fornecida para aquele item. As
transformações na lista são aplicadas da esquerda para a direita.
• Dentro de cada um dos Transforms, o AVPL do item será operado contra as cláusulas Match do Transform começando pela mais
alta, até que todos tenham sido tentados ou até que um deles tenha sucesso.
As transformações do MATE podem ser usadas para muitas coisas diferentes, como:
Usando Transforms , podemos adicionar mais de uma condição de início ou parada a um Gop.
Transform start_cond {
Match (attr1=aaa,attr2=bbb) (msg_type=start);
Match (attr3=www,attr2=bbb) (msg_type=start);
Match (attr5^a) (msg_type=stop);
Match (attr6$z) (msg_type=stop); };
Marcas de
transformação { Match (addr=10.10.10.10, user=john)
(john_at_host); Correspondência (addr=10.10.10.10, usuário=tom)
(tom_at_host); }
...
Transform direction_as_text
{ Match (src=192.168.0.2, dst=192.168.0.3) Substitua (direction=from_2_to_3);
Correspondência (src=192.168.0.3, dst=192.168.0.2) Substituir
(direção=from_3_to_2); };
NAT
O NAT pode criar problemas durante o rastreamento, mas podemos contorná-lo facilmente transformando o
Endereço IP NATed e o endereço Ethernet do roteador no endereço não NAT:
Transform denat
{ Match (addr=192.168.0.5, ether=01:02:03:04:05:06) Substituir (addr=123.45.67.89);
Corresponder (addr=192.168.0.6, ether=01:02:03:04:05:06) Substituir (addr=123.45.67.90);
Correspondência (addr=192.168.0.7, éter=01:02:03:04:05:06) Substituir
(addr=123.45.67.91); }
Sobre o MATE
MATE foi originalmente escrito por Luis Ontanon, um solucionador de problemas de sistemas de telecomunicações, como uma
forma de economizar tempo filtrando os pacotes de uma única chamada de enormes arquivos de captura usando apenas o
número chamador. Mais tarde, ele usou o tempo que havia economizado para torná-lo flexível o suficiente para trabalhar com
protocolos diferentes daqueles em que estava diretamente envolvido.
• use mate.http_use.Duration > 5.5 para filtrar quadros com base no tempo que leva para carregar um
página da solicitação DNS para resolver seu nome até que a última imagem seja carregada.
• use mate.http_use.client == "10.10.10.20" && mate.http_use.host == "www.example.com" para isolar pacotes DNS e
HTTP relacionados a uma visita de um determinado usuário.
• use mate.http_req.Duration > 1,5 para filtrar todos os pacotes de solicitações HTTP que levam mais de 1,5 segundos
para serem concluídos.
Nota: Este exemplo usa dns.qry.name que é definido desde o Wireshark versão 0.10.9. Supondo que você tenha um plugin
mate já instalado, você pode testá-lo com a versão atual do Wireshark.
Primeiro, vamos dizer ao MATE como criar um Gop para cada solicitação/resposta de DNS.
O MATE precisa saber o que faz um DNS PDU. Descrevemos isso usando uma declaração Pdu:
Usando o Proto dns , dizemos ao MATE para criar Pdus toda vez que encontrar o dns. Usando Transport ip , informamos ao
MATE que alguns dos campos nos quais estamos interessados estão na parte ip do quadro. Finalmente, dizemos ao MATE
para importar ip.addr como addr, dns.id como dns_id e dns.flags.response como dns_resp.
Assim que dissermos ao MATE como extrair dns_pdus , diremos como corresponder solicitações e respostas
Machine Translated by Google
e agrupá-los em um Gop. Para isso, usaremos uma declaração Gop para definir o Gop e, em seguida, instruções Start e
Stop para informar quando o Gop começa e termina.
Usando a declaração Gop , dizemos ao MATE que o nome do Gop é dns_req, que dns_pdus pode se tornar membro do
Gop e qual é a chave usada para corresponder o Pdus ao Gop.
A chave para este Gop é "addr, addr, dns_id". Isso significa que, para pertencer ao mesmo Gop, dns_pdus deve ter
ambos os endereços e id de solicitação idênticos. Em seguida, instruímos o MATE que um dns_req inicia sempre que
um dns_pdu corresponde a "dns_resp=0" e que para quando outro dns_pdu corresponde a "dns_resp=1".
Neste ponto, se abrirmos um arquivo de captura usando esta configuração, podemos usar um filtro de exibição
mate.dns_req.Time > 1 para ver apenas os pacotes de solicitações de DNS que levam mais de um segundo para serem
concluídos.
Podemos usar um filtro de exibição mate.dns_req && ! mate.dns_req.Time para encontrar solicitações para as quais
nenhuma resposta foi dada. mate.xxx.Time é definido apenas para Gops que foram parados.
• filtragem com mate.http_req.Time > 1 fornecerá todas as solicitações em que o cabeçalho de resposta
leva mais de um segundo para vir
Machine Translated by Google
• filtragem com mate.http_req.Duration > 1,5 mostrará as solicitações que demoram mais de 1,5
segundos para concluir.
Você deve saber que mate.xxx.Time fornece o tempo em segundos entre o PDU correspondente ao GopStart e o Pdu
correspondente ao GopStop (sim, você pode criar temporizadores usando isso!). Por outro lado, mate.xxx.Duration fornece o tempo
passado entre o GopStart e o último pdu atribuído a esse Gop, independentemente de ser uma parada ou não. Após o GopStop, os
Pdus correspondentes à chave do Gop ainda serão atribuídos ao mesmo Gop, desde que não correspondam ao GopStart, caso em
que um novo Gop com a mesma chave será criado.
Para poder agrupar requisições DNS e HTTP, precisamos importar para o Pdus e Gops alguma parte da informação que ambos os
protocolos compartilham. Uma vez definidos os Pdus e Gops, podemos usar as instruções Extract (para Pdus) e Extract (para Gops)
para informar ao MATE quais outros campos de protocolo devem ser adicionados aos AVPLs de Pdus e Gops. Adicionamos as
seguintes declarações às declarações apropriadas:
Extrair host De http.host; // para Pdu http_pdu como o último Extract na lista Extra
(host); // para Gop http_req após a parada
Extrair host de dns.qry.name; // para Pdu dns_pdu como o último Extract na lista Extra
(host); // para Gop dns_req após a parada
Aqui, dissemos ao MATE para importar http.host para http_pdu e dns.qry.name para dns_pdu como host. Também temos que dizer
ao MATE para copiar o atributo do host do Pdus para o Gops, fazemos isso usando o Extra.
Assim que tivermos todos os dados de que precisamos em Pdus e Gops, dizemos ao MATE o que faz com que diferentes Gops
pertençam a um determinado Gog.
Gog http_use
{ Membro http_req (host);
Membro dns_req (host);
Expiração 0,75; };
Usando a declaração Gog , dizemos ao MATE para definir um tipo Gog chamado http_use cuja expiração é 0,75 segundos após
todos os Gops pertencentes a ele terem sido interrompidos. Após esse tempo, um eventual novo Gop com a mesma correspondência
de chave criará um novo Gog em vez de ser adicionado ao Gog anterior.
Machine Translated by Google
Usando as declarações de membro , dizemos ao MATE que http_req*s com o mesmo *host pertencem ao
mesmo Gog, a mesma coisa para *dns_req*s.
Até agora, instruímos o mate a agrupar todos os pacotes relacionados a sessões em um determinado host. Neste
ponto, se abrirmos um arquivo de captura e:
• um filtro de exibição mate.http_use.Duration > 5 mostrará apenas as solicitações que levaram mais de 5
segundos para serem concluídas, começando pela solicitação DNS e terminando com o último pacote de
respostas http.
• um filtro de exibição mate.http_use.host == "www.w3c.org" mostrará todos os pacotes (tanto DNS quanto
HTTP) relacionados aos pedidos direcionados a www.w3c.org
Essa configuração funciona bem se usada para capturas feitas no lado do cliente, mas mais fundo na rede, temos
uma verdadeira bagunça. As solicitações de muitos usuários são misturadas em http_uses. Gogs são criados e
interrompidos quase aleatoriamente (dependendo do momento em que os Gops iniciam e param).
Como obtemos solicitações de usuários individuais separados uns dos outros?
O MATE possui uma ferramenta que pode ser usada para resolver esse tipo de problema de agrupamento. Essa
ferramenta são os Transforms. Uma vez definidos, eles podem ser aplicados contra Pdus, Gops e Gogs e podem
substituir ou inserir mais atributos com base no que está lá. Vamos usá-los para criar um atributo chamado cliente,
com o qual vamos separar diferentes solicitações.
Para DNS, precisamos do ip.src da solicitação movida para o Gop apenas da solicitação de DNS.
Em seguida, dizemos ao MATE para substituir ( dns_resp=1, client ) por apenas dns_resp=1 no Pdu. Dessa
forma, manteremos o atributo cliente apenas no Pdus de requisição DNS (ou seja, pacotes vindos do cliente).
Para isso, devemos adicionar uma declaração Transform (neste caso, com apenas uma cláusula) antes do Pdu
declaração que o usa:
Transformar rm_client_from_dns_resp {
Correspondência (dns_resp=1, cliente) Substituir (dns_resp=1); };
Em seguida, invocamos a transformação adicionando a seguinte linha após a lista Extract do dns_pdu Pdu:
Machine Translated by Google
Transformar rm_client_from_dns_resp;
HTTP é um pouco mais complicado. Temos que remover o atributo carregando ip.src tanto da resposta quanto das
"continuações" da resposta, mas como não há nada para filtrar as continuações, temos que adicionar um atributo falso
primeiro. E então temos que remover o cliente quando o atributo falso
parece. Isso é possível devido ao fato de que as cláusulas Match no Transform são executadas uma a uma até que uma
delas seja bem-sucedida. Primeiro, declaramos outras duas Transforms:
Transformar rm_client_from_http_resp1 {
Correspondência (http_rq); //primeira partida vence, então a solicitação não receberá o atributo
not_rq inserido
Corresponde a cada (addr) Insert (not_rq); //esta linha não será avaliada se a primeira corresponder
então not_rq não será inserido nas requisições };
Transformar rm_client_from_http_resp2 {
Correspondência (not_rq, cliente) Substituir (); //substitui "client e not_rq" por nada (acontecerá apenas
na resposta e eventuais partes dela) };
Em seguida, adicionamos outra instrução Extract à declaração http_pdu e aplicamos ambas as Transforms declaradas
acima em uma ordem adequada:
No MATE, todos os Transform_s listados para um item serão avaliados, enquanto dentro de um único _Transform, a
avaliação será interrompida na primeira cláusula Match bem-sucedida. É por isso que primeiro combinamos http_rq para
sair da primeira sequência antes de adicionar o atributo not_rq . Em seguida, aplicamos o segundo Transform que remove
not_rq e client se ambos estiverem lá. Sim, _Transform_s são complicados, mas são muito úteis.
Uma vez que tenhamos tudo o que precisamos no Pdus, temos que dizer ao MATE para copiar o atributo cliente do
Pdus aos respectivos Gops, adicionando o cliente às listas Extra de ambas as declarações Gop:
Além disso, precisamos modificar as antigas declarações da chave Gop para novas que incluam cliente e host. Portanto,
alteramos as declarações do Gog Member da seguinte maneira:
Machine Translated by Google
sessão TCP
Feito;
Isso provavelmente funcionaria bem em 99,9% dos casos, mas 10.0.0.1:20ÿ10.0.0.2:22 e 10.0.0.1:22ÿ10.0.0.2:20 cairiam no mesmo
gop se acontecessem sobrepor no tempo.
• filtrar com mate.tcp_ses.Time > 1 dará todas as sessões que duram menos de um segundo
• filtrar com mate.tcp_ses.NumOfPdus < 5 mostrará todas as sessões tcp com menos de 5
pacotes.
• filtragem com mate.tcp_ses.Id == 3 mostrará todos os pacotes para a terceira sessão tcp que o MATE possui
encontrado
Esta configuração permite amarrar uma sessão ftp passiva completa (incluindo a transferência de dados) em um único Gog.
Machine Translated by Google
Pdu ftp_pdu Proto ftp Transport tcp/ip { Extrair ftp_addr de ip.addr; Extrair
LastPdu;
};
Pdu ftp_data_pdu Proto ftp-data Transport tcp/ip{ Extract server_addr From ip.src; Extraia
server_port De tcp.srcport;
};
Iniciar (server_addr);
};
Iniciar (ftp_resp=220);
Parar (ftp_resp=221);
};
Gog ftp_ses {
ÿ
};
Feito;
Nota: não ter nada para distinguir entre pacotes de dados ftp faz com que esta configuração crie um Gop
para cada pacote de dados ftp em vez de cada transferência. Gops pré-iniciados evitariam isso.
Espionar pessoas, além de ser imoral, é ilegal em muitos países. Este é um exemplo destinado a explicar
como fazê-lo, não um convite para fazê-lo. Cabe à polícia fazer esse tipo de trabalho quando há um bom
motivo para fazê-lo.
Machine Translated by Google
// com o seguinte grupo de grupos vamos agrupar o radius e o smtp // definimos uma expiração
longa para evitar que a sessão expire em pausas longas.
Gog user_mail
{ Expiração 1800;
Membro radius_req (user_ip);
Membro user_smtp_ses (user_ip); Extra
(nome de usuário); }
Feito;
Chamadas H323
Pdu q931 Proto q931 IP de transporte { Extract addr From ip.addr; Extrair
};
Iniciar (q931_msg=5);
Parar (q931_msg=90);
};
Pdu ras Proto h225.RasMessage Transport ip { Extract addr From ip.addr; Extrair ras_sn de
De h225.guid;
};
Extra (guia);
};
Gog chamada {
Extra (chamado,chamando,q931_cause);
};
Feito;
• filtrar todas as sinalizações para chamadas com uma causa de liberação específica: mate.call.q931_cause == 31
MMS
Com este exemplo, todos os componentes de um envio ou recebimento de MMS serão vinculados a um único Gog.
Observe que este exemplo usa a cláusula Payload porque a entrega MMS usa MMSE sobre HTTP ou WSP. Como
não é possível relacionar a solicitação de recuperação a uma resposta apenas por meio de MMSE (a solicitação é
apenas um HTTP GET sem nenhum MMSE), um Gop é feito de HTTP Pdus, mas os dados MMSE precisam ser
extraídos dos corpos.
## AVISO: este exemplo foi traduzido cegamente da "antiga" sintaxe MATE ## e foi verificado que o Wireshark o aceita. No entanto, não foi ## testado contra nenhum arquivo de captura
Transformar rm_client_from_http_resp1 {
Correspondência (http_rq);
};
Transformar rm_client_from_http_resp2 {
};
Pdu mmse_over_http_pdu Proto http Transporte tcp/ip { Payload mmse; Extraia o endereço de ip.addr; Extrair porta De
};
Iniciar (http_rq);
Pare (http_rs);
};
Transformar mms_start {
};
Machine Translated by Google
Pdu mmse_over_wsp_pdu Proto wsp Transport ip { Payload mmse; Extrair trx de mmse.transaction_id; Extrair msg_type
};
Iniciar (mms_start);
Pare (nunca);
ÿ
};
};
Para cada protocolo com uma entrada de biblioteca, encontraremos definido o que é necessário do PDU para
criar um GoP para esse protocolo, eventualmente qualquer critério e a definição GoP essencial (ou seja,
GopDef, GopStart e GopStop).
Parece que este código está escrito na antiga sintaxe do MATE. Até agora não foi transcrito
NOTA para o novo formato. Ainda pode formar a base para recriá-los no novo formato.
TCP
Ele criará um GoP para cada sessão TCP. Se for usado, deve ser o último da lista. E todos os outros proto em
cima do TCP devem ser declarados com Stop=TRUE; portanto, um TCP PDU não é criado onde já temos um
em andamento.
Machine Translated by Google
DNS
criará um GoP contendo cada solicitação e sua resposta (eventualmente retransmissões também).
RAIO
RTSP
VoIP/Telefonia
A maioria das definições de protocolo aqui criará um Gop para cada trecho de chamada, a menos que indicado.
Machine Translated by Google
É ACIMA
Q931
H225 RAS
trago
MEGACO
Para "vinculá-los" ao GoG da sua chamada, use: Action=GogKey; Nome=sua_chamada; On=mgc_tr; addr! mgc_addr;
megaco_ctx;
O MATE usa AVPs para quase tudo: para manter os dados que extraiu das árvores dos quadros, bem como para manter
os elementos da configuração.
Esses "pares" (na verdade tuplas) são formados por um nome, um valor e, no caso de AVPs de configuração, um operador.
Nomes e valores são strings. AVPs com operadores diferentes de '=' são usados apenas na configuração e são usados
para combinar AVPs de Pdus, GoPs e GoGs na fase de análise.
Nome
O nome é uma string usada para se referir a uma classe de AVPs. Dois atributos não serão correspondentes, a menos que
seus nomes sejam idênticos. Nomes em maiúsculas são reservados para palavras-chave (você pode usá-los para seus
elementos, se quiser, mas acho que não é o caso). Os nomes dos atributos MATE podem ser usados nos filtros de exibição
do Wireshark da mesma forma que os nomes dos campos de protocolo fornecidos pelos dissecadores, mas eles não são
apenas referências a (ou aliases de) campos de protocolo.
Valor
O valor é uma string. Ele é definido na configuração (para AVPs de configuração) ou pelo MATE ao extrair campos
interessantes de uma árvore de dissecação e/ou manipulá-los posteriormente. Os valores extraídos dos campos usam a
mesma representação que fazem nas strings de filtro.
operadores
Atualmente, apenas os operadores de correspondência estão definidos (existem planos para (re)adicionar atributos de
transformação, mas alguns problemas internos precisam ser resolvidos antes disso). As operações de match são sempre
realizadas entre dois operandos: o valor de um AVP declarado na configuração e o valor de um AVP (ou vários AVPs com
o mesmo nome) extraído de pacotes de dados (chamados "data AVPs"). Não é possível combinar AVPs de dados entre si.
Machine Translated by Google
• Igual = teste de igualdade, ou seja: as strings de valor são idênticas ou a correspondência falhará.
• One Of {} corresponderá se uma das strings de valor listadas for igual à string do AVP de dados. Os itens dentro das chaves
da lista são separados por | personagem.
• Começa com ^ corresponderá se a string do valor de configuração corresponder aos primeiros caracteres dos dados
String de valor do AVP.
• Termina com $ corresponderá se a string do valor de configuração corresponder aos últimos caracteres dos dados
String de valor do AVP.
• Contém ~ corresponderá se a string do valor de configuração corresponder a uma substring dos caracteres de
a string de valor do AVP de dados.
• Inferior a < corresponderá se a string de valor do AVP de dados for semanticamente inferior ao
string de valor de configuração.
• Superior a > corresponderá se a sequência de valores do AVP de dados for semanticamente maior do que a
string de valor de configuração.
• Existe ? (pode ser omitido) corresponderá se o nome AVP corresponder, independentemente de qual seja a string de valor
é.
Exemplo
attrib=aaa corresponde a attrib=aaa
attrib=aaa não corresponde a attrib=bbb
Este operador corresponde se as strings de valor de dois AVPs não forem iguais.
Exemplo
attrib=aaa corresponde a attrib!bbb
attrib=aaa não corresponde a atributo!aaa
O operador "one of" corresponde se o valor do AVP de dados for igual a um dos valores listados no AVP "one of".
Exemplo
O operador "começa com" corresponde se os primeiros caracteres do valor AVP de dados forem idênticos ao valor AVP de
configuração.
Exemplo
attrib=abcd corresponde a attrib^abc
attrib=abc corresponde a attrib^abc
attrib=ab não corresponde a attrib^abc
attrib=abcd não corresponde a attrib^bcd
attrib=abc não corresponde a attrib^abcd
O operador ends with corresponderá se os últimos bytes do valor AVP de dados forem iguais ao valor AVP de configuração.
Exemplo
Contém operador
O operador "contém" corresponderá se o valor AVP de dados contiver uma string idêntica ao valor AVP de configuração.
Exemplo
attrib=abcde corresponde a attrib~bcd
attrib=abcde corresponde a attrib~abc
attrib=abcde corresponde a attrib~cde
O operador "inferior a" corresponderá se o valor AVP de dados for semanticamente menor que o valor AVP de configuração.
Exemplo
attrib=abc corresponde a attrib<bcd
attrib=1 corresponde a atributo <2
mas cuidado: attrib=10 não corresponde a attrib<9
attrib=bcd não corresponde a attrib<abc
attrib=bcd não corresponde a attrib<bcd
Machine Translated by Google
INSETOS
O operador "maior que" corresponderá se o valor AVP dos dados for semanticamente maior que o valor AVP da configuração.
Exemplos
INSETOS
Existe operador
O operador exist sempre corresponderá desde que os dois operandos tenham o mesmo nome.
Exemplos
attrib=abc corresponde a attrib (esta é apenas uma notação alternativa do exemplo anterior) obviamente attrib=abc
não corresponde a other_attrib?
Pdus, GoPs e GoGs usam um AVPL para conter as informações de rastreamento. Um AVPL é um conjunto não classificado de AVPs
que podem ser comparados com outros AVPLs.
Existem três tipos de operações de correspondência que podem ser executadas entre AVPLs. O AVPL dos Pdu's/GoP's/GoG's será
sempre um dos operandos; o operador AVPL (tipo de correspondência) e o segundo operando AVPL sempre virão da configuração.
Observe que um operador de correspondência de AVP diversificado pode ser especificado para cada AVP na configuração AVPL.
Uma operação de correspondência AVPL retorna um resultado AVPL. Em Transforms, o resultado AVPL pode ser substituído por outro
AVPL. A substituição significa que os AVPs de dados existentes são descartados e o AVPL de substituição da configuração é mesclado
com o AVPL de dados do Pdu/GoP/GoG.
• Loose Match: Irá corresponder se pelo menos um dos AVPs dos dois AVPLs de operandos corresponder. Se isso
Machine Translated by Google
corresponde, ele retorna um resultado AVPL contendo todos os AVPs dos dados AVPL que corresponderam aos AVPs da
configuração.
• "Every" Match: Irá corresponder se nenhum dos AVPs da configuração AVPL não corresponder a um AVP nos dados AVPL,
mesmo que nem todos os AVPs de configuração tenham uma correspondência. Se corresponder, retorna um resultado AVPL
contendo todos os AVPs dos dados AVPL que corresponderam a um AVP na configuração AVPL.
• Correspondência estrita: corresponderá se e somente se cada um dos AVPs na configuração AVPL tiver pelo menos uma
correspondência nos dados AVPL. Se corresponder, retornará um resultado AVPL contendo os AVPs dos dados AVPL
correspondentes.
jogo solto
Uma correspondência livre entre AVPLs é bem-sucedida se pelo menos um dos AVPs de dados corresponder a pelo menos um dos
AVPs de configuração. Seu resultado AVPL contém todos os AVPs de dados correspondentes.
Partidas soltas são usadas em operações Extra contra o AVPL do Pdu para mesclar o resultado no AVPL do Gop e contra o AVPL do
Gop para mesclar o resultado no AVPL do Gog . Eles também podem ser usados em Criteria e Transforms.
A partir do atual (2.0.1), Loose Match não funciona conforme descrito aqui, consulte o problema 12184.
NOTA
Somente o uso em Transformações e Critérios é efetivamente afetado pelo bug.
Toda combinação
Uma correspondência "cada" entre AVPLs é bem-sucedida se nenhum dos AVPs da configuração que têm uma contraparte nos dados
AVPL não corresponder. Seu resultado AVPL contém todos os AVPs de dados correspondentes.
OBSERVAÇÃO A partir da versão atual (2.0.1), Loose Match não funciona conforme descrito aqui, consulte o problema 12184.
(attr_a=aaa, attr_b=bbb, attr_c=xxx) Corresponde a cada (attr_a?, attr_c?, attr_d=ddd) =ÿ (attr_a=aaa, attr_c=xxx)
Correspondência estrita
Uma correspondência estrita entre AVPLs é bem-sucedida se, e somente se, cada AVP na configuração AVPL tiver pelo menos
uma contraparte nos dados AVPL e nenhuma das correspondências AVP falhar. O AVPL resultante contém todos os AVPs de
dados correspondentes.
Estes são usados entre chaves Gop (chave AVPLs) e Pdu AVPLs. Eles também podem ser usados em Criteria e Transforms.
Exemplos
(attr_a=aaa, attr_b=bbb, attr_c=xxx, attr_c=yyy) Match Strict (attr_a?, attr_c?) =ÿ (attr_a=aaa, attr_c=xxx, attr_c=yyy)
(attr_a=aaa, attr_b=bbb, attr_c=xxx) Correspondência estrita (attr_a?, attr_c?, attr_d?) =ÿ Sem correspondência!
Combinação AVPL
Um AVPL pode ser mesclado em outro. Isso adicionaria ao último todo AVP do primeiro que ainda não existe lá.
• entre o resultado de uma partida Transform e AVPL de Pdu/Gop. Se a operação especificada pela cláusula Match for
Substituir, o AVPL resultante da correspondência será removido do AVPL do item antes que o modify_avpl seja mesclado
nele.
Exemplos
(attr_a=aaa, attr_b=bbb) Mesclar (attr_a=aaa, attr_c=xxx) o antigo torna-se (attr_a=aaa, attr_b=bbb, attr_c=xxx)
(attr_a=aaa, attr_b=bbb) Mesclar (attr_a=aaa, attr_a=xxx) o anterior torna-se (attr_a=aaa, attr_a=xxx, attr_b=bbb)
(attr_a=aaa, attr_b=bbb) Mesclar (attr_c=xxx, attr_d=ddd) o antigo torna-se (attr_a=aaa, attr_b=bbb, attr_c=xxx, attr_d=ddd)
Machine Translated by Google
transforma
Uma transformação é uma sequência de regras de correspondência opcionalmente seguidas por uma instrução sobre como
modificar o resultado da correspondência usando um AVPL adicional. Tal modificação pode ser um Insert (merge) ou um Replace.
A sintaxe é a seguinte:
Nome da transformação {
A lista de regras Match dentro de um Transform é processada de cima para baixo; o processamento termina assim que uma
regra de correspondência for bem-sucedida ou todas forem tentadas em vão.
As transformações podem ser usadas como auxiliares para manipular o AVPL de um item antes que o item seja processado
posteriormente. Uma declaração de item pode conter uma cláusula Transform indicando uma lista de Transforms declaradas
anteriormente. Independentemente de as transformações individuais serem bem-sucedidas ou não, a lista é sempre executada
completamente e na ordem indicada, ou seja, da esquerda para a direita.
No arquivo de configuração do MATE, um Transform deve ser declarado antes de declarar qualquer item que o utilize.
AVPLs de configuração
Ações de configuração do Pdsu
As AVPLs de configuração a seguir lidam com a criação de PDU e extração de dados.
Em cada quadro da captura, o MATE procurará os PDUs do proto_name de origem na ordem em que as declarações aparecem
em sua configuração e criará Pdus de todos os tipos possíveis a partir desse quadro, a menos que seja especificamente
instruído de que algum tipo de Pdu é o último a ser ser procurado no quadro.
Se informado para um determinado tipo, o MATE extrairá todos os Pdus desse tipo e os tipos declarados anteriormente que
encontrar no quadro, mas não os declarados posteriormente.
A declaração completa de uma Pdu se parece com a seguinte; a ordem obrigatória das diversas cláusulas é a mostrada.
Machine Translated by Google
Pdu name Proto proto_name Transport proto1[/proto2/proto3[/...]]] { Payload proto; //opcional, sem valor padrão Extrair atributo de proto.field ; //pode ocorrer várias vezes, pelo menos uma vez Transform (transform1[, transform2[, ...]]); //Critério opcional [{Aceitar|Rejeitar}] [{Strict|Todo|Loose} match_avpl]; DropUnassigned {true|false}; //opcional, default=false DiscardPduData {true|false}; //opcional, default=false LastExtracted {true|false}; //opcional, default=false };
nome Pdu
O nome é um atributo obrigatório de uma declaração de Pdu. É escolhido arbitrariamente, exceto que cada nome só pode
ser usado uma vez na configuração do MATE, independentemente da classe de um item para o qual é usado.
O nome é usado para distinguir entre diferentes tipos de Pdus, Gops e Gogs. O nome também é usado como parte dos
nomes dos campos filtráveis relacionados a esse tipo de Pdu que o MATE cria.
No entanto, várias declarações de Pdu podem compartilhar o mesmo nome. Nesse caso, todos eles são criados a partir
de cada PDU de origem correspondente a suas cláusulas Proto, Transport e Payload , enquanto os corpos de suas
declarações podem ser totalmente diferentes entre si. Juntamente com as cláusulas Aceitar (ou Rejeitar) , esse recurso é
útil quando é necessário construir o AVPL do Pdu a partir de diferentes conjuntos de campos de origem, dependendo do
conteúdo (ou mera presença) de outros campos de origem.
Cada instância do protocolo proto_name PDU em um quadro gerará um Pdu com os AVPs extraídos dos campos que
estão no intervalo do proto_name e/ou nos intervalos dos protocolos subjacentes especificados pela lista de transporte .
É um atributo obrigatório de uma declaração de Pdu. O proto_name é o nome do protocolo usado no filtro de exibição do
Wireshark.
O Proto do Pdu e sua lista de transporte de protocolos separados por / informam ao MATE quais campos de um quadro
podem entrar no AVPL do Pdu. Para que o MATE extraia um atributo da árvore de protocolo de um quadro, a área que
representa o campo na exibição hexadecimal do quadro deve estar dentro da área do Proto ou de seus transportes
relativos . Os transportes são escolhidos movendo-se para trás da área do protocolo, na ordem em que são fornecidos.
Proto http Transport tcp/ ip faz o que você espera - ele seleciona o intervalo tcp mais próximo que precede o intervalo http
atual e o intervalo ip mais próximo que precede esse intervalo tcp. Se houver outro intervalo de ip antes do mais próximo
(por exemplo, no caso de tunelamento de IP), esse não será selecionado. O transporte tcp/ip/ip que "logicamente" deve
selecionar o cabeçalho IP de encapsulamento também não funciona até agora.
Depois de selecionar os intervalos Proto e Transport , o MATE buscará os campos de protocolo pertencentes a eles cuja
extração é declarada usando as cláusulas Extract para o tipo Pdu. A lista de transporte também é obrigatória, se você
realmente não quiser usar nenhum protocolo de transporte, use
Machine Translated by Google
Além do Proto do Pdu e seus protocolos de transporte , há também um atributo Payload para informar ao MATE de quais
intervalos da carga útil do Proto extrair campos de um quadro para o Pdu. Para extrair um atributo da árvore de um quadro,
a área destacada do campo na exibição hexadecimal deve estar dentro da área da (s) carga(s) relativa(s) do Proto . Payload
s são escolhidos a partir da área de protocolo, na ordem em que são fornecidos. Proto http Transport tcp/ ip Payload mmse
selecionará o primeiro intervalo mmse após o intervalo http atual. Depois de selecionar os intervalos de carga útil , o MATE
buscará os campos de protocolo pertencentes a eles cuja extração é declarada usando as cláusulas Extract para o tipo Pdu.
Extrair cláusula
Cada cláusula Extract informa ao MATE qual valor de campo de protocolo extrair como um valor AVP e qual string usar
como nome AVP. Os campos de protocolo são referidos usando os nomes usados nos filtros de exibição do Wireshark. Se
houver mais de um desses campos de protocolo no quadro, cada instância que atender aos critérios declarados acima será
extraída em seu próprio AVP. Os nomes AVP podem ser escolhidos arbitrariamente, mas para poder corresponder valores
originalmente provenientes de Pdus diferentes (por exemplo, nome de host de consulta DNS e nome de host de solicitação
HTTP GET) posteriormente na análise, nomes AVP idênticos devem ser atribuídos a eles e o dissectors devem fornecer os
valores de campo em formato idêntico (o que nem sempre é o caso).
Cláusula de transformação
A cláusula Transform especifica uma lista de Transform s previamente declarados a serem executados no AVPL da Pdu
após todos os campos de protocolo terem sido extraídos para ele. A lista é sempre executada completamente, da esquerda
para a direita. Pelo contrário, a lista de cláusulas Match dentro de cada Transform individual é executada somente até que
a primeira correspondência seja bem-sucedida.
Cláusula de critérios
Esta cláusula informa ao MATE se deve usar o Pdu para análise. Ele especifica uma correspondência AVPL, um tipo de
correspondência AVPL (Strict, Every ou Loose) e a ação a ser executada (Aceitar ou Rejeitar) se a correspondência for bem-
sucedida. Uma vez que todos os atributos foram extraídos e a eventual lista de transformação foi executada, e se a cláusula
Criteria estiver presente, o AVPL da Pdu é comparado com o AVPL correspondente; se a correspondência for bem-sucedida,
a ação especificada é executada, ou seja, a Pdu é aceita ou rejeitada. Os comportamentos padrão usados se as respectivas
palavras-chave forem omitidas são Strict e Accept. Consequentemente, se a cláusula for omitida, todos os Pdus são aceitos.
Cláusula DropUnassigned
Se definido como TRUE, o MATE destruirá o Pdu se não puder atribuí-lo a um Gop. Se definido como FALSE (o padrão se
não for fornecido), o MATE os manterá.
Machine Translated by Google
Cláusula DiscardPduData
Se definido como TRUE, o MATE excluirá o AVPL do Pdu depois de analisá-lo e, eventualmente, extrair alguns AVPs dele
para o AVPL do Gop. Isso é útil para economizar memória (da qual o MATE usa muito). Se definido como FALSE (o padrão
se não for fornecido), o MATE manterá os atributos Pdu.
Se definido como FALSE (o padrão se não for fornecido), o MATE continuará a procurar por Pdus de outros tipos no quadro.
Se definido como TRUE, ele não tentará criar Pdus de outros tipos a partir do quadro atual, mas continuará tentando para o
tipo atual.
Gop nome
O nome é um atributo obrigatório de uma declaração Gop. É escolhido arbitrariamente, exceto que cada nome só pode ser
usado uma vez na configuração do MATE, independentemente da classe de um item para o qual é usado.
O nome é usado para distinguir entre diferentes tipos de Pdus, Gops e Gogs. O nome também é usado como parte dos
nomes dos campos filtráveis relacionados a esse tipo de Gop que o MATE cria.
Na cláusula
Cláusula de correspondência
Define quais AVPs formam a parte chave do AVPL do Gop (o AVPL da chave do Gop ou simplesmente a chave do Gop).
Todos os Pdus correspondentes à chave AVPL de um Gop ativo são atribuídos a esse Gop; um Pdu que contém os AVPs
cujos nomes de atributos estão listados na chave AVPL do Gop, mas eles não
Machine Translated by Google
corresponder a qualquer chave AVPL de Gop ativa, criará um novo Gop (a menos que uma cláusula Start seja fornecida).
Quando um Gop é criado, os elementos de sua chave AVPL são copiados do Pdu criador.
Cláusula inicial
Se fornecido, informa ao MATE qual match_avpl deve corresponder ao AVPL de um Pdu, além de corresponder à chave
do Gop, para iniciar um Gop. Se não for fornecido, qualquer Pdu cujo AVPL corresponda à chave AVPL do Gop atuará
como um início para um Gop. Os AVPs do Pdu correspondentes ao match_avpl não são copiados automaticamente para
o AVPL do Gop.
Cláusula de parada
Se fornecido, informa ao MATE qual match_avpl deve corresponder ao AVPL de um Pdu, além de corresponder à chave
do Gop, para parar um Gop. Se omitido, o Gop é "parado automaticamente" - isto é, o Gop é marcado como parado assim
que é criado. Os AVPs do Pdu correspondentes ao match_avpl não são copiados automaticamente para o AVPL do Gop.
cláusula extra
Se fornecido, informa ao MATE quais AVPs do AVPL do Pdu devem ser copiados para o AVPL do Gop, além da chave do
Gop.
Cláusula de transformação
A cláusula Transform especifica uma lista de Transform s previamente declarados a serem executados no AVPL do Gop
após os AVPs de cada novo Pdu, especificados pela chave AVPL e pelo match_avpl da cláusula Extra , terem sido
mesclados nele. A lista é sempre executada completamente, da esquerda para a direita. Pelo contrário, a lista de cláusulas
Match dentro de cada Transform individual é executada somente até que a primeira correspondência seja bem-sucedida.
Cláusula de expiração
Um número (flutuante) de segundos depois que um Gop é parado, durante o qual outros Pdus correspondentes à chave
do Gop parado , mas não à condição inicial , ainda serão atribuídos a esse Gop. O valor padrão de zero tem um significado
real de infinito, já que desativa este temporizador, então todos os Pdus correspondentes à chave Stop ped Gop serão
atribuídos a esse Gop, a menos que correspondam à condição Start .
Cláusula IdleTimeout
Um número (flutuante) de segundos decorridos desde o último Pdu atribuído ao Gop após o qual o Gop será considerado
liberado. O valor padrão de zero tem um significado real de infinito, pois desabilita este temporizador, então o Gop não
será liberado mesmo se nenhum Pdus chegar - a menos que o temporizador vitalício expire.
Cláusula vitalícia
Um (flutuante) de segundos após o Gop Start após o qual o Gop será considerado liberado independentemente de qualquer
outra coisa. O valor padrão de zero tem um significado real de infinito.
Machine Translated by Google
Cláusula DropUnassigned
Se um Gop que não foi atribuído a nenhum Gog deve ou não ser descartado. Se TRUE, o Gop é descartado logo após a
criação. Se for FALSE, o padrão, o Gop não atribuído é mantido. Defini-lo como TRUE ajuda a economizar memória e
acelerar a filtragem.
Cláusula TreeMode
• FrameTree: a árvore é mostrada e mostra os Pdus pelo número do quadro em que estão
Cláusula ShowTimes
Se deve ou não mostrar a subárvore times do Gop. Se TRUE, o padrão, a subárvore com os temporizadores é adicionada à
árvore do Gop. Se for FALSE, a subárvore é suprimida.
match_avpl; // Transformação opcional transform_list; // tempo de expiração opcional; // opcional, padrão 2.0 GopTree [NoTree|PduTree|FrameTree|BasicTree]; // opcional ShowTimes [TRUE|FALSE]; // opcional, padrão TRUE };
Gop nome
O nome é um atributo obrigatório de uma declaração Gog. É escolhido arbitrariamente, exceto que cada nome só pode ser
usado uma vez na configuração do MATE, independentemente da classe de um item para o qual é usado.
O nome é usado para distinguir entre diferentes tipos de Pdus, Gops e Gogs. O nome também é usado como parte dos
nomes dos campos filtráveis relacionados a esse tipo de Gop que o MATE cria.
Cláusula de membro
Define a chave AVPL para o Gog individualmente para cada tipo Gop gopname. Todos os Gops do tipo gopname cuja chave
AVPL corresponde à chave AVPL correspondente de um Gog ativo são atribuídos a esse Gog; uma
Machine Translated by Google
Gop que contém os AVPs cujos nomes de atributo estão listados na chave AVPL correspondente do Gog, mas eles
não correspondem estritamente a nenhuma chave AVPL ativa do Gog, criará um novo Gog. Quando um Gog é
criado, os elementos de sua chave AVPL são copiados do Gop criador.
Embora os AVPLs- chave sejam especificados separadamente para cada um dos gopname s do membro, na maioria
dos casos eles são idênticos, pois o objetivo de um Gog é agrupar Gops feitos de Pdus de tipos diferentes.
cláusula extra
Se fornecido, informa ao MATE quais AVPs de qualquer AVPL do Gop devem ser copiados para o AVPL do Gog,
além da chave do Gog.
Cláusula de expiração
Um número (flutuante) de segundos após todos os Gops atribuídos a um Gog terem sido liberados durante os quais
novos Gops correspondentes a qualquer uma das chaves de sessão ainda devem ser atribuídos ao Gog existente
em vez de criar um novo. Seu valor pode variar de 0,0 a infinito. O padrão é 2,0 segundos.
Cláusula de transformação
A cláusula Transform especifica uma lista de Transform s previamente declarados a serem executados no AVPL do
Gog após os AVPs de cada novo Gop, especificados pela chave AVPL e pelo match_avpl da cláusula Extra , terem
sido mesclados nele. A lista é sempre executada completamente, da esquerda para a direita. Pelo contrário, a lista
de cláusulas Match dentro de cada Transform individual é executada somente até que a primeira correspondência
seja bem-sucedida.
Cláusula TreeMode
Cláusula ShowTimes
Se deve ou não mostrar a subárvore times do Gog. Se TRUE, o padrão, a subárvore com os cronômetros é
adicionada à árvore do Gog. Se for FALSE, a subárvore é suprimida.
O elemento de configuração Settings é usado para passar para o MATE vários parâmetros operacionais. os
parâmetros possíveis são
Machine Translated by Google
GogExpiration
Quanto tempo em segundos após todos os gops atribuídos a um gog terem sido liberados, novos gops correspondentes a qualquer uma
das chaves de sessão devem criar um novo gog em vez de serem atribuídos ao anterior. Seu valor pode variar de 0,0 a infinito. O padrão
é 2,0 segundos.
DiscardPduData
Se o AVPL de cada Pdu deve ou não ser excluído após o processamento (economiza memória). Pode ser VERDADEIRO ou FALSO. O
padrão é VERDADEIRO. Defini-lo como FALSE pode evitar dores de cabeça se sua configuração não funcionar.
DiscardUnassignedPdu
Se os Pdus devem ser excluídos se não forem atribuídos a nenhum Gop. Pode ser VERDADEIRO ou FALSO.
O padrão é FALSO. Defina-o como TRUE para economizar memória se os Pdus não atribuídos forem inúteis.
DiscardUnassignedGop
Se os GoPs devem ser excluídos se não forem atribuídos a nenhuma sessão. Pode ser VERDADEIRO ou FALSO. O padrão é FALSO.
Defini-lo como TRUE economiza memória.
ShowPduTreeName
ShowGopTimes
Coisas de depuração
As seguintes configurações são usadas para depurar o MATE e sua configuração. Todos os níveis são números inteiros variando de 0
(somente erros de impressão) a 9 (inundar-me com lixo), o padrão é 0.
Depurar {
ÿ
Nível Pdu [0-9]; //opcional, nível de depuração específico para manipulação de Pdu
ÿ
Nível Gop [0-9]; //opcional, nível de depuração específico para manipulação de Gop
ÿ
Nível Gog [0-9]; //opcional, nível de depuração específico para manipulação Gog };
O {{{path/name}}} é um caminho completo para o arquivo no qual a saída de depuração deve ser gravada. Um arquivo inexistente será
criado, o arquivo existente será substituído a cada abertura de um arquivo de captura. Se a instrução estiver ausente, as mensagens de
depuração serão gravadas no console, o que significa que elas ficarão invisíveis no Windows.
Machine Translated by Google
Cláusula de nível
Define o nível de depuração para mensagens de depuração genéricas. É um número inteiro que varia de 0 (somente erros de
impressão) a 9 (inundar-me com lixo).
Define o nível de depuração para mensagens relacionadas à criação de Pdu. É um número inteiro que varia de 0 (somente erros
de impressão) a 9 (inundar-me com lixo).
Define o nível de depuração para mensagens relacionadas à análise de Pdu (é assim que elas se encaixam em ?GoPs).
É um número inteiro que varia de 0 (somente erros de impressão) a 9 (inundar-me com lixo).
Define o nível de depuração para mensagens relacionadas à análise GoP (é assim que elas se encaixam nos ?GoGs).
É um número inteiro que varia de 0 (somente erros de impressão) a 9 (inundar-me com lixo).
Exemplo de configurações
Ação=Incluir
Ação=Incluir; {Filename=filename;|Lib=libname;}
Nome do arquivo
O nome do arquivo a ser incluído. Se não começar com '/', ele procurará o arquivo no caminho atual.
Lib
O nome da configuração da lib a ser incluída. irá procurar por libname.mate em wiresharks_dir/matelib.
Incluir Exemplo
[Pacote Malformado]
Pacote malformado significa que o dissecador de protocolo não pode dissecar mais o conteúdo do pacote. Pode haver vários motivos:
• Dissecador errado: O Wireshark erroneamente escolheu o dissecador de protocolo errado para este pacote. Isso acontecerá, por
exemplo, se você estiver usando um protocolo que não esteja em sua conhecida porta TCP ou UDP.
Você pode tentar Analisar|Decodificar como para contornar esse problema.
• Pacote não remontado: O pacote é maior que um único quadro e não foi remontado, consulte
Remontagem de pacotes para obter mais detalhes.
• O pacote está malformado: Na verdade, o pacote está errado (malformado), significando que uma parte do pacote simplesmente
não é o esperado (não segue as especificações do protocolo).
• O dissecador está com erros: O dissecador de protocolo correspondente está simplesmente com erros ou ainda incompleto.
Qualquer um dos itens acima é possível. Você terá que olhar para a situação específica para determinar o motivo.
Você pode desativar o dissecador desativando o protocolo no menu Analisar e verificar como o Wireshark exibe o pacote. Você pode
(se for TCP) habilitar a remontagem para TCP e o dissecador específico (se possível) no menu Edit|Preferences. Você mesmo pode
verificar o conteúdo do pacote lendo os bytes do pacote e comparando-o com a especificação do protocolo. Isso pode revelar um bug
dissector. Ou você pode descobrir que o pacote está realmente errado.
O tamanho do pacote foi limitado durante a captura, consulte “Limitar cada pacote a n bytes” na caixa de diálogo “Opções de captura”.
Durante a dissecação, o dissecador de protocolo atual estava simplesmente ficando sem bytes de pacote e teve que desistir. Não há
mais nada que você possa fazer agora, exceto repetir todo o processo de captura novamente com uma limitação maior (ou nenhuma)
de tamanho de pacote.
O pacote atual é a solicitação de um par de solicitação/resposta detectado. Você pode pular diretamente para o
pacote de resposta correspondente clicando duas vezes na mensagem.
A mensagem do protocolo de controle de sessão (SDP, H225, etc.) que sinalizou a criação desta sessão.
Você pode pular diretamente para o pacote correspondente clicando duas vezes nesta mensagem.
Machine Translated by Google
Wireshark usa o pcapng formato de arquivo como o formato padrão para salvar os pacotes capturados. É muito flexível, mas outras
ferramentas podem não suportá-lo.
O Wireshark também suporta o libpcap formato de arquivo. Este é um formato muito mais simples e está bem estabelecido. No
entanto, tem algumas desvantagens: não é extensível e carece de algumas informações que seriam realmente úteis (por exemplo,
ser capaz de adicionar um comentário a um pacote como “os problemas começam aqui” seria muito bom).
Além do formato libpcap, o Wireshark suporta vários formatos de arquivo de captura diferentes.
No entanto, os problemas descritos acima também se aplicam a esses formatos.
No início de cada arquivo de captura libpcap, algumas informações básicas são armazenadas como um número mágico para
identificar o formato do arquivo libpcap. A informação mais interessante deste início de arquivo é o tipo de camada de enlace (Ethernet,
802.11, MPLS, etc.).
Uma descrição detalhada do formato de arquivo libpcap pode ser encontrada em https://gitlab.com/wireshark/wireshark/-/wikis/
Development/LibpcapFileFormat
Você também deve saber o que não é salvo nos arquivos de captura:
Os arquivos Pcapng podem, opcionalmente, salvar informações de resolução de nomes. Arquivos Libpcap não podem. Outros
formatos de arquivo têm vários níveis de suporte.
Machine Translated by Google
Uma lista das pastas que o Wireshark realmente usa pode ser encontrada na guia Pastas na caixa de
GORJETA
Pastas no Windows
%APPDATA% é a aplicativo
pessoal, por exemplo: dados pasta,
nome de usuário\AppData\Roaming\Wireshark C:\Usuários\
Se você estiver usando macOS e estiver executando uma cópia do Wireshark instalado como um pacote de
aplicativos, APPDIR é o diretório de nível superior do pacote de aplicativos Wireshark, que normalmente será /
Applications/ Wireshark.app. Caso contrário, INSTALLDIR é o diretório de nível superior no qual residem os
subdiretórios nos quais os componentes do Wireshark são instalados. Isso normalmente será /usr se o Wireshark
estiver empacotado com o sistema (por exemplo, fornecido como um pacote com uma distribuição Linux) e /usr/ local
se, por exemplo, você construiu o Wireshark a partir do código-fonte e o instalou.
Arquivos de configuração
O Wireshark usa vários arquivos de configuração enquanto está em execução. Alguns deles residem na pasta de
configuração pessoal e são usados para manter as informações entre as execuções do Wireshark, enquanto alguns
deles são mantidos nas áreas do sistema.
Machine Translated by Google
No Windows:
• A pasta de configuração pessoal é $XDG_CONFIG_HOME/ wireshark. Para compatibilidade com versões anteriores do Wireshark
antes de 2.2, se $XDG_CONFIG_HOME/ wireshark não existir e $HOME/.wireshark estiver presente, então o último será usado.
• Se você estiver usando o macOS e estiver executando uma cópia do Wireshark instalado como um pacote de aplicativos, a pasta de
configuração global é APPDIR/ Contents/ Resources/ share/ wireshark.
Caso contrário, a pasta de configuração global é INSTALLDIR/ share/ wireshark.
• A pasta /etc é a pasta de configuração do sistema. A pasta realmente usada em seu sistema pode
variam, talvez algo como: /usr/ local/ etc.
Conteúdo do arquivo
cfiltros
Este arquivo contém todos os filtros de captura que você definiu e salvou. É composto por uma ou mais linhas, onde
cada linha tem o seguinte formato:
Ao iniciar o programa, se houver um arquivo cfilters na pasta de configuração pessoal, ele será lido. Se não houver um
arquivo cfilters na pasta de configuração pessoal, então, se houver um arquivo cfilters na pasta de configuração global,
ele será lido.
Quando você pressiona o botão Salvar na caixa de diálogo “Filtros de captura”, todos os filtros de captura atuais são
gravados no arquivo de filtros de captura pessoal.
filtros de cores
Este arquivo contém todos os filtros de cores que você definiu e salvou. É composto por uma ou mais linhas, onde
cada linha tem o seguinte formato:
Ao iniciar o programa, se houver um arquivo colorfilters na pasta de configuração pessoal, ele será lido. Se não houver
um arquivo colorfilters na pasta de configuração pessoal, então, se houver um arquivo colorfilters na pasta de
configuração global, ele será lido.
Quando você pressiona o botão Salvar na caixa de diálogo “Regras de coloração”, todos os filtros de cores atuais são
gravados no arquivo de filtros de cores pessoais.
dfilter_buttons
Este arquivo contém todos os botões de filtro de exibição que você definiu e salvou. É composto por uma ou mais
linhas, onde cada linha tem o seguinte formato:
Ao iniciar o programa, se houver um arquivo dfilter_buttons na pasta de configuração pessoal, ele será lido. Se não
houver um arquivo dfilter_buttons na pasta de configuração pessoal, então, se houver um arquivo dfilter_buttons na
pasta de configuração global, ele será lido.
Machine Translated by Google
Quando você salva quaisquer alterações nos botões de filtro, todos os botões de filtro de exibição atuais são gravados no
arquivo de botões de filtro de exibição pessoal.
dfilter_macros
Este arquivo contém todas as macros de filtro de exibição que você definiu e salvou. É composto por uma ou mais linhas,
onde cada linha tem o seguinte formato:
Ao iniciar o programa, se houver um arquivo dfilter_macros na pasta de configuração pessoal, ele será lido. Se não houver
um arquivo dfilter_macros na pasta de configuração pessoal, então, se houver um arquivo dfilter_macros na pasta de
configuração global, ele será lido.
Quando você pressiona o botão Salvar na caixa de diálogo "Exibir macros de filtro", todas as macros de filtro de exibição
atuais são gravadas no arquivo de macros de filtro de exibição pessoal.
Mais informações sobre Macros de Filtro de Exibição estão disponíveis em Macros de Filtro de Exibição
dfilters
Este arquivo contém todos os filtros de exibição que você definiu e salvou. É composto por uma ou mais linhas, onde
cada linha tem o seguinte formato:
Ao iniciar o programa, se houver um arquivo dfilters na pasta de configuração pessoal, ele será lido. Se não houver um
arquivo dfilters na pasta de configuração pessoal, então, se houver um arquivo dfilters na pasta de configuração global,
ele será lido.
Quando você pressiona o botão Salvar na caixa de diálogo “Filtros de exibição”, todos os filtros de exibição atuais são
gravados no arquivo de filtros de exibição pessoal.
disabled_protos
Cada linha neste arquivo especifica um nome de protocolo desabilitado. Seguem alguns exemplos:
tcp
udp
Ao iniciar o programa, se houver um arquivo disabled_protos na pasta de configuração global, ele será lido primeiro.
Então, se houver um arquivo disabled_protos na pasta de configuração pessoal, ele será lido; se houver uma entrada para
um protocolo definido em ambos os arquivos, a configuração no arquivo de protocolos desabilitados pessoais substituirá
a configuração no arquivo de protocolos desabilitados globais.
Quando você pressiona o botão Salvar na caixa de diálogo “Protocolos habilitados”, o conjunto atual de