Você está na página 1de 299

Machine Translated by Google

Guia do usuário do Wireshark


versão 4.1.0
Richard Sharpe, Ed Warnicke, Ulf Lamping
Machine Translated by Google

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.

Quem deve ler este documento?


O público-alvo deste livro é qualquer pessoa que use o Wireshark.

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.

• Gilbert Ramirez, pelo encorajamento geral e dicas úteis ao longo do caminho.

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.

• Martin Regner, por suas várias sugestões e correções.

• Graeme Hewson, por muitas correções gramaticais.

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.

Sobre este documento


Este livro foi originalmente desenvolvido por Richard Sharpe com fundos fornecidos pelo Wireshark Fund. Foi atualizado por Ed Warnicke
e mais recentemente redesenhado e atualizado por Ulf Lamping.

Foi originalmente escrito em DocBook/XML e convertido para AsciiDoc por Gerald Combs.

Onde obter a cópia mais recente deste documento?


A cópia mais recente desta documentação sempre pode ser encontrada em https://www.wireshark.org/docs/ wsug_html_chunked/.

Fornecendo feedback sobre este documento


Se você tiver algum comentário sobre este documento, envie-o aos autores através de wireshark-dev[AT]wireshark.org.

Convenções tipográficas
A tabela a seguir mostra as convenções tipográficas usadas neste guia.

Tabela 1. Convenções tipográficas

Estilo Descrição Exemplo

itálico Nomes de arquivos, nomes de pastas e extensões C:\Desenvolvimento\wireshark.

Monoespaço Comandos, sinalizadores e variáveis de ambiente Opção -G do CMake .

Negrito
Comandos que devem ser executados pelo Execute cmake -G Ninja...
Monoespaço do utilizador

[Botão ] Botões de diálogo e janela Pressione [Lançar] para ir para a Lua.

Chave Atalho de teclado Pressione Ctrl + Baixo para mover para o próximo

pacote.

Cardápio Item do menu Selecione Ir › Próximo pacote para mover para o

próximo pacote.
Machine Translated by Google

Advertências

Itens importantes e notáveis são marcados da seguinte forma:

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

Esta é uma informação importante


IMPORTANTE
RTFM - Leia o Manual do Bem

esta é uma dica


GORJETA

As dicas são úteis para o seu trabalho diário usando o Wireshark.

esta é uma nota


NOTA
Uma nota apontará erros comuns e coisas que podem não ser óbvias.

Prompt de shell e exemplos de código-fonte


Bourne shell, usuário normal

$ # Este é um comentário $
git config --global log.abbrevcommit true

Bourne shell, usuário root

# # Este é um comentário #
ninja install

Prompt de comando (cmd.exe)

>rem Isto é um comentário


>cd C:\Desenvolvimento

PowerShell

PS$># Isso é um comentário


PS$> lista de chocolate -l
Machine Translated by Google

C Código Fonte

#include "config.h"

/* Este método disseca foos */


static int dissect_foo_message(tvbuff_t
*tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {

/* TODO: implemente seu código de dissecação


*/ return tvb_captured_length(tvb); }
Machine Translated by Google

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.

Alguns propósitos pretendidos


Aqui estão algumas razões pelas quais as pessoas usam o Wireshark:

• Os administradores de rede o usam para solucionar problemas de rede

• Os engenheiros de segurança de rede o usam para examinar problemas de segurança

• Os engenheiros de controle de qualidade o usam para verificar os aplicativos de rede

• Os desenvolvedores o usam para depurar implementações de protocolo

• As pessoas o usam para aprender os internos do protocolo de rede

O Wireshark também pode ser útil em muitas outras situações.

Recursos

A seguir estão alguns dos muitos recursos que o Wireshark oferece:

• Disponível para UNIX e Windows.

• Capturar pacotes de dados ao vivo de uma interface de rede.

• Arquivos abertos contendo dados de pacotes capturados com tcpdump/WinDump, Wireshark e muitos outros programas de captura de
pacotes.

• Importar pacotes de arquivos de texto contendo despejos hexadecimais de dados de pacote.

• Exibir pacotes com informações de protocolo muito detalhadas.

• Salve os dados do pacote capturados.

• Exportar alguns ou todos os pacotes em vários formatos de arquivo de captura.

• Filtrar pacotes em vários critérios.


Machine Translated by Google

• Pesquise pacotes em vários critérios.

• Colorir a exibição de pacotes com base em filtros.

• Crie várias estatísticas.

• …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.

Figura 1. O Wireshark captura pacotes e permite examinar seu conteúdo.

Captura ao vivo de várias mídias de rede diferentes

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.

Importar arquivos de muitos outros programas de captura

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

Exporte arquivos para muitos outros programas de captura

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.

Muitos dissecadores de protocolo

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 que o Wireshark não é

Aqui estão algumas coisas que o Wireshark não fornece:

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

Redes ocupadas significam grandes capturas

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.

Se o Wireshark ficar sem memória, ele travará. Consulte https://gitlab.com/wireshark/wireshark/wikis/ KnownBugs/OutOfMemory


para obter detalhes e soluções alternativas.
Machine Translated by Google

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:

• O Universal C Runtime. Isso está incluído no Windows 10 e no Windows Server 2019 e é

instalado automaticamente em versões anteriores se o Microsoft Windows Update estiver ativado. Caso contrário, você deve instalar
o KB2999226 ou KB3118401.

• Qualquer processador moderno AMD64/x86-64 de 64 bits ou x86 de 32 bits.

• 500 MB de RAM disponível. Arquivos de captura maiores requerem mais RAM.

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

• Uma placa de rede compatível para captura

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

ÿ Outro meios de comunicação. Ver https://gitlab.com/wireshark/wireshark/wikis/CaptureSetup/


NetworkMedia.

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.

Veja o ciclo de vida de lançamento do Wireshark página para mais detalhes.


Machine Translated by Google

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.

UNIX, Linux e BSD

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

• Red Hat Enterprise Linux / CentOS / Fedora

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

Onde obter o Wireshark


Você pode obter a cópia mais recente do programa no site da Wireshark em https://www.wireshark.org/download.html. A
página de download deve destacar automaticamente o download apropriado para sua plataforma e direcioná-lo para o
espelho mais próximo. Os instaladores oficiais do Windows e macOS são assinados usando certificados confiáveis
nessas plataformas. Os instaladores do macOS também são autenticados.

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.

Uma Breve História do Wireshark


No final de 1997, Gerald Combs precisava de uma ferramenta para rastrear problemas de rede e queria aprender mais
sobre redes, então começou a escrever Ethereal (o nome original do projeto Wireshark) como uma forma de resolver
ambos os problemas.

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 2006, o projeto mudou de casa e ressurgiu com um novo nome: Wireshark.

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.

Desenvolvimento e manutenção do Wireshark


O Wireshark foi inicialmente desenvolvido por Gerald Combs. O desenvolvimento e a manutenção contínuos do Wireshark são
administrados pela equipe do Wireshark, um grupo flexível de indivíduos que corrige bugs e fornece novas funcionalidades.

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

2. Os desenvolvedores do Wireshark podem melhorar ainda mais suas alterações ou implementar


recursos na parte superior do seu código, que também podem beneficiá-lo.

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.

Relatar problemas e obter ajuda


Se você tiver problemas ou precisar de ajuda com o Wireshark, existem vários lugares que podem ser interessantes (além deste
guia, é claro).

Local na rede Internet

Você encontrará muitas informações úteis na página inicial do Wireshark em https://www.wireshark.org/.


Machine Translated by Google

Wiki

O Wireshark Wiki em https://gitlab.com/wireshark/wireshark/wikis/ fornece uma ampla gama de informações relacionadas


ao Wireshark e captura de pacotes em geral. Você encontrará muitas informações que não fazem parte deste guia do
usuário. Por exemplo, ele contém uma explicação sobre como capturar em uma rede comutada, um esforço contínuo para
construir uma referência de protocolo, informações específicas do protocolo e muito mais
mais.

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.

Site de perguntas e respostas

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

As Perguntas Frequentes listam as perguntas mais frequentes e suas respectivas respostas.

Leia as 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

frequentes na caixa de diálogo mostrada.

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

Existem várias listas de discussão de tópicos específicos do Wireshark disponíveis:

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.

As listas são arquivadas

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

Ao relatar problemas com o Wireshark, forneça as seguintes informações:

1. O número da versão do Wireshark e as bibliotecas dependentes vinculadas a ele, como Qt ou GLib.


Você pode obter isso na caixa sobre do Wireshark ou no comando wireshark -v.

2. Informações sobre a plataforma em que você executa o Wireshark (Windows, Linux, etc. e 32 bits, 64 bits,
etc).

3. Uma descrição detalhada do seu problema.

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.

Não envie informações confidenciais!

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.

Não envie arquivos grandes

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

Relatando falhas em plataformas UNIX/Linux


Ao relatar falhas com o Wireshark, é útil fornecer as informações de rastreamento junto com as informações mencionadas
em “Relatando problemas”.

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.

Envie backtrace.txt por e-mail para wireshark-dev[AT]wireshark.org.

Relatando falhas em plataformas Windows


As distribuições do Windows não contêm os arquivos de símbolos (.pdb) porque são muito grandes. Você pode baixá-los
separadamente em https://www.wireshark.org/download/win32/all-versions/ e https://www.wireshark.org/download/win64/
all-versions/ .
Machine Translated by Google

Construindo e Instalando o Wireshark


Introdução

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.

As etapas gerais são as seguintes:

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.

Obtendo a fonte e as distribuições binárias


Você pode obter as distribuições fonte e binária na página principal do Wireshark ou a página de download em
https://www.wireshark.org/download.html. Selecione o pacote mais apropriado para o seu sistema.

Instalando o Wireshark no Windows


Os pacotes oficiais do Windows podem ser baixados na página principal do Wireshark ou a página de download .
Os nomes do instalador contêm a plataforma e a versão. Por exemplo, Wireshark-win64-4.1.0.exe instala o
Wireshark 4.1.0 para Windows de 64 bits. O instalador do Wireshark inclui o Npcap, que é necessário para a
captura de pacotes. Os pacotes do Windows são atualizados automaticamente. Consulte Atualizando o Wireshark
para obter detalhes.

Basta baixar o instalador do Wireshark em https://www.wireshark.org/download.html e execute-o. Os pacotes


oficiais são assinados pela Sysdig, Inc.. Você pode optar por instalar vários componentes opcionais e selecionar
o local do pacote instalado. As configurações padrão são recomendadas para a maioria dos usuários.
Machine Translated by Google

Componentes de instalação

Na página Escolher componentes do instalador, você pode selecionar o seguinte:

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

• Plugins e Extensões - Extras para os mecanismos de dissecação Wireshark e TShark

ÿ Plug- ins de codec - suporte a codec adicional.

ÿ Perfis de configuração - Perfis de configuração adicionais.

ÿ Plug- ins de dissecação - Dissecadores de protocolo adicionais.

ÿ 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

ÿ Capinfos - Imprima informações sobre os arquivos de captura.

ÿ Captype - Imprima o tipo (formato) dos arquivos de captura.

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

ÿ Mergecap - Combine vários arquivos de captura salvos em um único arquivo de saída.

ÿ 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)

ÿ Rawshark - Despeja e analisa dados pcap brutos.

ÿ Reordercap - Copia pacotes para um novo arquivo, classificados por tempo.

ÿ Text2Pcap - Gera um arquivo de captura de um ASCII hexdump de pacotes.

• Captura Externa (extcap) - Interfaces de Captura Externa

ÿ Androiddump - Fornece interfaces de captura de dispositivos Android.

ÿ 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

• Item do menu Iniciar do Wireshark - Adicione um atalho ao menu Iniciar.

• Ícone da área de trabalho do Wireshark - Adicione um ícone do Wireshark à área de trabalho.

• Associar extensões de arquivo de rastreamento com Wireshark - Associar arquivos de rastreamento de rede padrão a
Wireshark.

Local de instalação

Por padrão, o Wireshark é instalado em %ProgramFiles%\Wireshark no Windows de 32 bits e %ProgramFiles64%\Wireshark no


Windows de 64 bits. Isso se expande para C:\Program Files\Wireshark na maioria dos sistemas.

Instalando o Npcap

O instalador do Wireshark contém o instalador Npcap mais recente.

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.

Para obter mais informações sobre o Npcap, consulte https://npcap.com/ e https://gitlab.com/wireshark/wireshark/wikis/Npcap .

Opções de linha de comando do instalador do Windows

Para casos especiais, existem alguns parâmetros de linha de comando disponíveis:

• /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.

• /D define o diretório de instalação padrão ($INSTDIR), substituindo InstallDir e InstallDirRegKey.


Deve ser o último parâmetro usado na linha de comando e não deve conter aspas, mesmo que o caminho contenha
espaços.

• /NCRC desabilita a verificação CRC. Recomendamos não usar esse sinalizador.

• /EXTRACOMPONENTS lista separada por vírgulas de componentes opcionais a serem instalados. Os seguintes
binários extcap são suportados.

ÿ androiddump - Fornece interfaces para capturar de dispositivos Android

ÿ 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

ÿ udpdump - Fornece um receptor UDP que obtém pacotes de dispositivos de rede

Exemplo:

> Wireshark-win64-wireshark-2.0.5.exe /NCRC /S /desktopicon=sim /quicklaunchicon=não /D=C:


\Arquivos de Programas\Foo

> Wireshark-win64-3.3.0.exe /S /EXTRACOMPONENTS=sshdump,udpdump

A execução do instalador sem nenhum parâmetro mostra o instalador interativo normal.

Instalação Manual do Npcap

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.

Compilando a partir da fonte no Windows


Recomendamos fortemente o uso do instalador binário para Windows, a menos que você queira começar a desenvolver o Wireshark
na plataforma Windows.

Para obter mais informações sobre como obter fontes e construir o Wireshark para Windows a partir das fontes

consulte o Guia do desenvolvedor em:

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

Instalando o Wireshark no macOS


Os pacotes oficiais do macOS podem ser baixados na página principal do Wireshark ou a página de download . Os pacotes são
distribuídos como imagens de disco (.dmg) contendo o pacote de aplicativos. Os nomes dos pacotes contêm a plataforma e a versão.
Para instalar o Wireshark, basta abrir a imagem do disco e arrastar o Wireshark para a pasta /Applications . Os pacotes macOS são
atualizados automaticamente. Consulte Atualizando o Wireshark para obter detalhes.

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

clicando duas vezes em “macOS Extras”.

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.

Instalando os binários no UNIX


Em geral, a instalação do binário em sua versão do UNIX será específica para os métodos de instalação usados com sua versão do
UNIX. Por exemplo, no AIX, você usaria smit para instalar o pacote binário Wireshark, enquanto no Tru64 UNIX (anteriormente Digital
UNIX) você usaria setld.
Machine Translated by Google

Instalando a partir de RPMs no Red Hat e similares

Construir RPMs a partir do código-fonte do Wireshark resulta em vários pacotes (a maioria das distribuições segue
o mesmo sistema):

• O pacote wireshark contém as principais bibliotecas Wireshark e ferramentas de linha de comando.

• O pacote wireshark ou wireshark-qt contém a GUI baseada em Qt.

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:

yum instalar wireshark wireshark-qt

Se você construiu seus próprios RPMs a partir das fontes do Wireshark, você pode instalá-los executando, por
exemplo:

rpm -ivh wireshark-2.0.0-1.x86_64.rpm wireshark-qt-2.0.0-1.x86_64.rpm

Se o comando acima falhar devido a dependências ausentes, instale as dependências primeiro e repita a etapa
acima.

Instalando a partir de debs no Debian, Ubuntu e outros derivados do Debian

Se você pode apenas instalar a partir do repositório, use

apt instalar wireshark

O Apt deve cuidar de todos os problemas de dependência para você.

A captura requer privilégios

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)

Instalando do portage no Gentoo Linux

Use o seguinte comando para instalar o Wireshark no Gentoo Linux com todos os recursos extras:

USE="c-ares ipv6 snmp ssl kerberos threads selinux" emerge wireshark


Machine Translated by Google

Instalando a partir de pacotes no FreeBSD

Use o seguinte comando para instalar o Wireshark no FreeBSD:

pkg_add -r wireshark

pkg_add deve cuidar de todos os problemas de dependência para você.

Compilando a partir do código-fonte no UNIX ou Linux


Recomendamos usar o instalador binário para sua plataforma, a menos que você queira começar a desenvolver o
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:

• Como funciona a interface de usuário do Wireshark

• Como capturar pacotes no Wireshark

• Como visualizar pacotes no Wireshark

• Como filtrar pacotes no Wireshark

• … e muitas outras coisas!

Inicie o Wireshark

Você pode iniciar o Wireshark a partir do seu shell ou gerenciador de janelas.

Dica de usuário avançado

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

Figura 2. A janela principal

A janela principal do Wireshark consiste em partes que são comumente conhecidas de muitas outras GUIs

programas.

1. O menu (veja O Menu) é usado para iniciar ações.

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

os pacotes são exibidos (consulte Filtrando pacotes durante a exibição).

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

painel, você controla o que é exibido nos outros dois painéis.

5. O painel de detalhes do pacote (consulte O painel “Detalhes do pacote”) exibe o pacote selecionado no pacote

painel de lista com mais detalhes.

6. O painel de bytes de pacotes (consulte o painel "Bytes de pacotes") exibe os dados do pacote selecionado em

painel da lista de pacotes e realça o campo selecionado no painel de detalhes do pacote.

7. O painel do diagrama de pacotes (consulte o painel "Diagrama de pacotes") exibe o pacote selecionado no

lista de pacotes como um diagrama de estilo de livro didático.

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

O layout da janela principal pode ser personalizado alterando as configurações de preferência.


GORJETA

Consulte Preferências para obter detalhes.

Navegação na Janela Principal

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.

Tabela 2. Navegação pelo Teclado

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

para os detalhes do pacote.

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

Ctrl + . Mover para o próximo pacote da conversa (TCP, UDP ou IP).

Ctrl + , Mover para o pacote anterior da conversa (TCP, UDP ou IP).

Alt + ÿ ou Opção + ÿ (macOS) Mover para o próximo pacote no histórico de seleção.

Alt + ÿ ou Opção + ÿ (macOS) Mover para o pacote anterior no histórico de seleção.

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

Ctrl + ÿ No detalhe do pacote, abre todos os itens da árvore.

Ctrl + ÿ No detalhe do pacote, fecha todos os itens da árvore.

Backspace No detalhe do pacote, salta para o nó pai.

Retornar ou Entrar No detalhe do pacote, alterna o item da árvore selecionado.

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

O menu principal contém os seguintes itens:

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,

exibição de estatísticas de hierarquia de protocolo e muito mais. Consulte o menu “Telefonia”.

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.

Consulte o menu “Ajuda”.

Cada um desses itens de menu é descrito com mais detalhes nas seções a seguir.

Atalhos facilitam a vida


GORJETA
Os itens de menu mais comuns possuem atalhos de teclado. Por exemplo, você pode pressionar as teclas Control e K juntas

para abrir a caixa de diálogo “Opções de captura”.

O menu “Arquivo”

O menu do arquivo Wireshark contém os campos mostrados nos itens do menu Arquivo.
Machine Translated by Google

Figura 4. Menu “Arquivo”

Tabela 3. Itens do menu Arquivo

Item do menu Acelerador Descrição

Abrir… Ctrl + O Isso mostra a caixa de diálogo de abertura de arquivo que


permite carregar um arquivo de captura para visualização.
Isso é discutido com mais detalhes na caixa de diálogo “Abrir
arquivo de captura”.

Aberto recentemente Isso permite abrir arquivos de captura abertos recentemente.


Clicar em um dos itens do submenu abrirá o arquivo de captura
correspondente diretamente.

Mesclar… Este item de menu permite mesclar um arquivo de captura


no arquivo atualmente carregado. Isso é discutido com mais
detalhes em Mesclar arquivos de captura.

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

Item do menu Acelerador Descrição

Perto Ctrl + W Este item de menu fecha a captura atual. Se você não salvou a

captura, será solicitado a fazê-lo primeiro (isso pode ser desativado

por uma configuração de preferência).

Salve ÿ Ctrl + S Este item de menu salva a captura atual. Se você não definiu um nome

de arquivo de captura padrão (talvez com a opção -w <capfile>), o

Wireshark exibe a caixa de diálogo Salvar arquivo de captura como

(que é discutida mais adiante na caixa de diálogo “Salvar arquivo de

captura como”).

Se você já salvou a captura atual, este item de menu ficará

esmaecido.

Você não pode salvar uma captura ao vivo enquanto a captura estiver

em andamento. Você deve interromper a captura para salvar.

Salvar como… Shift + Ctrl + S Este item de menu permite que você salve o arquivo de captura atual em qualquer

arquivo que desejar. Ele abre a caixa de diálogo Salvar arquivo de

captura como (que é discutida mais adiante na caixa de diálogo

“Salvar arquivo de captura como”).

Conjunto de arquivos › Listar arquivos Este item de menu permite mostrar uma lista de arquivos em um

conjunto de arquivos. Ele abre a caixa de diálogo Wireshark List File

Set (que é discutida mais adiante em File Sets).

Conjunto de arquivos › Próximo arquivo Se o arquivo carregado atualmente fizer parte de um conjunto de

arquivos, pule para o próximo arquivo no conjunto. Se não fizer parte de

um conjunto de arquivos ou apenas o último arquivo desse conjunto, esse

item ficará esmaecido.

Conjunto de arquivos › Arquivo anterior Se o arquivo carregado atualmente fizer parte de um conjunto de

arquivos, pule para o arquivo anterior no conjunto. Se não fizer parte de

um conjunto de arquivos ou apenas o primeiro arquivo desse conjunto,

esse item ficará esmaecido.

Exportar pacotes especificados… Este item de menu permite exportar todos (ou alguns) dos

pacotes no arquivo de captura para arquivo. Ele abre a caixa de

diálogo Wireshark Export (que é discutida mais adiante em Exportando

dados).
Machine Translated by Google

Item do menu Acelerador Descrição

Exportar Ctrl + H Esses itens de menu permitem exportar os bytes


dissecações de pacotes… atualmente selecionados no painel de bytes de pacote para
um arquivo de texto em vários formatos, incluindo simples,
CSV e XML. Isso é discutido mais adiante na caixa de
diálogo "Exportar bytes de pacote selecionados".

Exportar objetos Esses itens de menu permitem exportar objetos DICOM,


HTTP, IMF, SMB ou TFTP capturados para arquivos locais.
Ele exibe uma lista de objetos correspondente (que é
discutida mais adiante na caixa de diálogo “Export Objects”)

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

Desistir Ctrl + Q Este item de menu permite que você saia do


Wireshark. O Wireshark pedirá para salvar seu
arquivo de captura se você não o salvou anteriormente
(isso pode ser desabilitado por uma configuração de preferência).

O Menu “Editar”
O menu Editar do Wireshark contém os campos mostrados nos itens do menu Editar.
Machine Translated by Google

Figura 5. Menu “Editar”

Tabela 4. Editar itens de menu

Item do menu Acelerador Descrição

cópia de Esses itens de menu copiarão a lista de pacotes,


detalhes do pacote ou propriedades do pacote atualmente
selecionado para a área de transferência.

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

próxima marca Ctrl + Shift + N Encontre o próximo pacote marcado.


Machine Translated by Google

Item do menu Acelerador Descrição

marca anterior Ctrl + Shift + B Encontre o pacote marcado anterior.

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

pacote atualmente selecionado. Consulte Referência de


tempo de pacote para obter mais informações sobre os
pacotes com referência de tempo.

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.

Excluir todos os pacotes Isso excluirá todos os comentários de todos os pacotes.


Comentários Observe que a capacidade de salvar comentários de captura
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.

Figura 6. O menu “Visualizar”

Tabela 5. Exibir itens de menu

Item do menu Acelerador Descrição

Barra de ferramentas principal Este item de menu oculta ou mostra a barra de ferramentas principal, consulte

A barra de ferramentas “Principal”.

Barra de ferramentas de filtro Este item de menu oculta ou mostra a barra de ferramentas do filtro, consulte

A barra de ferramentas “Filtro”.

Barra de ferramentas sem fio Este item de menu oculta ou mostra a conexão sem fio

barra de ferramentas. Pode não estar presente em algumas plataformas.

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

o painel “Lista de pacotes”.

Detalhes do pacote Este item de menu oculta ou mostra o painel de detalhes do

pacote, consulte o painel “Detalhes do pacote”.

Bytes de pacote Este item de menu oculta ou mostra o painel de bytes de pacote, consulte o

painel “Bytes de pacote”.


Machine Translated by Google

Item do menu Acelerador Descrição

Diagrama de Pacotes Este item de menu oculta ou mostra o painel do


diagrama de pacotes. Consulte o painel "Diagrama de pacotes".

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.

Os campos “Hora do dia”, “Data e hora do dia”, “Segundos


desde o primeiro pacote capturado”, “Segundos desde o
pacote anterior capturado” e “Segundos desde o pacote
anterior exibido” são mutuamente exclusivos.

Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de

Hora do dia: hora no formato de hora do dia, consulte Formatos de exibição


01:02:03.123456 de hora e referências de hora.

Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de

Segundos desde a época hora em segundos desde 1970-01-01 00:00:00, consulte


(1970-01-01): 1234567890.123456 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 desde o primeiro tempo em segundos desde o primeiro formato de pacote

Pacote Capturado: capturado, consulte Formatos de exibição de tempo e


123.123456 referências de tempo.

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

capturado anterior: 1,123456 anterior, consulte Formatos de exibição de tempo e


referências de tempo.

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

exibido anterior: 1,123456 anteriormente, consulte Formatos de exibição de tempo e


referências de tempo.

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.

Os campos “Automático”, “Segundos” e “…segundos”


são mutuamente exclusivos.

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

Item do menu Acelerador Descrição

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

nanossegundo, consulte Formatos de exibição de tempo e


referências de tempo.

Formato de exibição de hora › Selecionar isso diz ao Wireshark para exibir carimbos de

Exibir segundos com horas hora em segundos, com horas e minutos.


e minutos

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

para camada de rede


Wireshark traduz endereços de rede em

nomes, consulte Resolução de nomes.

Resolução de nomes › Ativar Este item permite que você controle se o Wireshark traduz ou

para Camada de Transporte não os endereços de transporte em nomes, consulte Resolução


de nomes.

Colorir Lista de Pacotes Este item permite que você controle se o Wireshark deve ou
não colorir a lista de pacotes.

Habilitar a colorização diminuirá a exibição de novos pacotes


durante a captura ou carregamento de arquivos de captura.

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

Reduzir o zoom Ctrl + - Afaste os dados do pacote (diminua 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

Item do menu Acelerador Descrição

Redimensionar todas as colunas Shift + Ctrl + R Redimensione todas as larguras das colunas para que o conteúdo caiba
afim disso.

O redimensionamento pode levar um tempo significativo,


especialmente se um arquivo de captura grande for carregado.

Colunas Exibidas Esses itens de menu se desdobram com uma lista de

todas as colunas configuradas. Essas colunas agora podem


ser mostradas ou ocultadas na lista de pacotes.

Expandir subárvores Shift + ÿ Este item de menu expande a subárvore atualmente


selecionada na árvore de detalhes do pacote.

Recolher subárvores Shift + ÿ Este item de menu recolhe a subárvore atualmente


selecionada na árvore de detalhes do pacote.

Expandir todos Ctrl + ÿ 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 expande todas as subárvores em todos os pacotes
na captura.

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 › Esses itens de menu habilitam um dos dez


Cor 1-10 filtros de cores temporários com base na conversa
atualmente selecionada.

Colorir conversa › Este item de menu limpa todas as regras de coloração

Redefinir coloração temporárias.

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

Item do menu Acelerador Descrição

Internos Informações sobre vários dados internos


estruturas. Consulte os itens do menu Internos abaixo para
Mais Informações.

Mostrar Pacote em Novo Mostra o pacote selecionado em uma janela separada.


Janela A janela separada mostra apenas os detalhes e bytes do
pacote. Consulte Visualizando um pacote em uma janela
separada para obter detalhes.

recarregar Ctrl + R Este item de menu permite recarregar o arquivo de captura


atual.

Tabela 6. Itens de menu internos

Item do menu Descrição

Tabelas de hash de conversa Mostra as tuplas (combinações de endereço e porta) usadas para identificar
cada conversa.

Mesas dissecadoras Mostra tabelas de relacionamentos de subdissetores.

Protocolos suportados Exibe protocolos suportados e campos de protocolo.

O Menu “Ir”
O menu Wireshark Go contém os campos mostrados nos itens do menu Go.
Machine Translated by Google

Figura 7. O Menu “Ir”

Tabela 7. Itens do menu Go

Item do menu Acelerador Descrição

Voltar Alt + ÿ Ir para o pacote visitado recentemente no histórico de pacotes,


muito parecido com o histórico da página em um navegador da
web.

Avançar Alt + ÿ Pule para o próximo pacote visitado no histórico de pacotes,


muito parecido com o histórico da página em um navegador
da web.

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.

Ir para Correspondente Vá para o pacote correspondente do campo de protocolo


Pacote atualmente selecionado. Se o campo selecionado não
corresponder a um pacote, este item ficará acinzentado.

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

Item do menu Acelerador Descrição

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.

primeiro pacote Ctrl + Início Vá para o primeiro pacote do arquivo de captura.

último pacote Ctrl + Fim Ir para o último pacote do arquivo de captura.

Entrada anterior do pacote Ctrl + , Mover para o pacote anterior na conversa atual. Isso
Conversação pode ser usado para mover para o

pacote anterior, mesmo que a lista de pacotes não tenha o


foco do teclado.

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

pacote anterior, mesmo que a lista de pacotes não tenha o


foco do teclado.

O menu “Capturar”
O menu Captura do Wireshark contém os campos mostrados nos itens do menu Captura.

Figura 8. Menu “Capturar”

Tabela 8. Itens de menu de captura


Machine Translated by Google

Item do menu Acelerador Descrição

Opções… Ctrl + K Mostra a caixa de diálogo Opções de captura, que permite


configurar interfaces e opções de captura. Consulte a caixa
de diálogo “Opções de captura”.

Começar Ctrl + E Imediatamente começa a capturar pacotes com as mesmas


configurações da última vez.

Pare Ctrl + E Interrompe a captura em execução no momento. Consulte


Parar a captura em execução.

Reiniciar Ctrl + R Interrompe a captura em execução no momento e a inicia


novamente com as mesmas opções.

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.

Atualizar interfaces F5 Limpe e recrie a lista de interfaces.

O Menu “Analisar”
O menu Wireshark Analyze contém os campos mostrados nos itens do menu Analyze.

Figura 9. Menu “Analisar”


Machine Translated by Google

Tabela 9. Analisar itens de menu

Item do menu Acelerador Descrição

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.

Aplicar como filtro Altere o filtro de exibição atual e aplique-o imediatamente.


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.

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.

Filtro de conversa Aplique um filtro de conversa para vários protocolos.

Protocolos ativados… Shift + Ctrl + E Ativa ou desativa vários dissecadores de protocolo.


Consulte a caixa de diálogo “Protocolos ativados”.

Decodificar como… Decodifique certos pacotes como um protocolo específico.


Consulte Decodificações especificadas pelo usuário.

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

Item do menu Acelerador Descrição

Informações especializadas Abra uma janela mostrando as informações do especialista


encontradas na captura. Alguns dissecadores de protocolo
adicionam itens de detalhes de pacotes para comportamento
notável ou incomum, como somas de verificação inválidas ou
retransmissões. Esses itens são mostrados aqui.

Consulte Informações especializadas para obter mais informações.

A quantidade de informações varia de acordo com o protocolo

O Menu “Estatísticas”
O menu Estatísticas do Wireshark contém os campos mostrados nos itens do menu Estatísticas.

Figura 10. Menu “Estatísticas”

Cada item de menu abre uma nova janela mostrando estatísticas específicas.

Tabela 10. Itens do menu Estatísticas

Item do menu Acelerador Descrição

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

Item do menu Acelerador Descrição

Endereços Resolvidos Ver endereços resolvidos

Hierarquia de protocolo Exibir uma árvore hierárquica de estatísticas de protocolo,


consulte a janela “Protocol Hierarchy”.

Conversas Exiba uma lista de conversas (tráfego entre dois endpoints),


consulte “Conversas”
Janela.

Terminais Exiba uma lista de terminais (tráfego de/para um endereço),


consulte a janela “Endpoints”.

Comprimentos de pacote Consulte os comprimentos dos pacotes

Gráficos de E/S Exibir gráficos especificados pelo usuário (por exemplo, o


número de pacotes no decorrer do tempo), consulte a janela “I/
O Graphs”.

Tempo de resposta do serviço Exiba o tempo entre uma solicitação e a resposta


correspondente, consulte Tempo de resposta do serviço.

DHCP (BOOTP) Consulte as estatísticas de DHCP (BOOTP)

NetPerfMeter Veja as estatísticas do NetPerfMeter

Programas ONC-RPC Ver Programas ONC-RPC

29Oeste Veja 29West

ANCP Ver ANCP

BACnet Ver BACnet

Coletado Ver Coletado

DNS Ver DNS

Fluxograma Ver gráfico de fluxo

HART-IP Veja HART-IP

ALIMENTAÇÕES HP Veja HPFEEDS

HTTP Estatísticas de solicitação/resposta HTTP, consulte HTTP


Estatisticas

HTTP2 Veja HTTP2

Mesmo tempo Ver Sametime

Gráficos de Fluxo TCP Ver Gráficos de Transmissão TCP

Fluxos multicast UDP Ver Fluxos Multicast UDP

Pool de servidores confiáveis Consulte Pool de servidores confiáveis (RSerPool)


(RSerPool)
Machine Translated by Google

Item do menu Acelerador Descrição

F5 Ver F5

Estatísticas de IPv4 Veja as estatísticas do IPv4

Estatísticas do IPv6 Veja as estatísticas do IPv6

O Menu “Telefonia”
O menu Telefonia do Wireshark contém os campos mostrados nos itens do menu Telefonia.

Figura 11. Menu “Telefonia”

Cada item de menu mostra estatísticas específicas relacionadas à telefonia.

Tabela 11. Itens do menu de telefonia

Item do menu Acelerador Descrição

Chamadas VoIP… Ver Janela de Chamadas VoIP

ANSI Consulte ANSI

GSM Ver janelas GSM

Análise de fluxo IAX2 Consulte a janela de análise de fluxo IAX2

Mensagens ISUP Ver Janela de Mensagens ISUP


Machine Translated by Google

Item do menu Acelerador Descrição

LTE Ver LTE

MTP3 Ver Janelas MTP3

Osmux Ver Janelas Osmux

RTP Ver Janela de Fluxos RTP e Fluxo RTP

Janela de Análise

RTSP Ver Janela RTSP

SCTP Ver Janelas SCTP

Operações SMPP Consulte a Janela de Operações SMPP

Mensagens UCP Ver Janela de Mensagens UCP

H.225 Ver Janela H.225

Fluxos SIP Veja a Janela de Fluxos SIP

Estatísticas SIP Veja a Janela de Estatísticas SIP

Contador de pacotes WAP-WSP Consulte a janela do contador de pacotes WAP-WSP

O menu “Sem fio”


O menu Sem fio permite analisar a atividade da LAN sem fio Bluetooth e IEEE 802.11 conforme mostrado no menu “Sem fio”.
Machine Translated by Google

Figura 12. Menu “Wireless”

Cada item de menu mostra estatísticas específicas de Bluetooth e IEEE 802.11.

Tabela 12. Itens de menu sem fio

Item do menu Acelerador Descrição

Servidor ATT Bluetooth Consulte os atributos do servidor Bluetooth ATT


Atributos

Dispositivos Bluetooth Ver Dispositivos Bluetooth

Resumo HCI Bluetooth Consulte o resumo do Bluetooth HCI

Tráfego WLAN Ver Tráfego WLAN

O menu “Ferramentas”
O menu Ferramentas do Wireshark contém os campos mostrados nos itens do menu Ferramentas.
Machine Translated by Google

Figura 13. Menu “Ferramentas”

Tabela 13. Itens do menu Ferramentas

Item do menu Acelerador Descrição

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.

Assume-se que as regras serão aplicadas a uma interface


externa.

O item do menu fica acinzentado, a menos que um (e


apenas um) quadro seja selecionado na lista de pacotes.
Machine Translated by Google

Item do menu Acelerador Descrição

Credenciais Isso permite que você extraia credenciais do arquivo


de captura atual. Alguns dos dissecadores (ftp, http,
imap, pop, smtp) foram instrumentados para fornecer
ao módulo nomes de usuários e senhas e mais serão
instrumentados no futuro. A caixa de diálogo da janela
fornece o número do pacote onde as credenciais foram
encontradas, o protocolo que as forneceu, o nome de
usuário e as informações específicas do protocolo.

lua Essas opções permitem que você trabalhe com o


interpretador Lua opcionalmente embutido no Wireshark.
Consulte “Lua Support in Wireshark” no Wireshark
Developer's Guide.

A estrutura do menu Lua é definida por console.lua no


diretório de instalação do Wireshark.

O menu “Ajuda”
O menu Ajuda do Wireshark contém os campos mostrados nos itens do menu Ajuda.

Figura 14. Menu “Ajuda”


Machine Translated by Google

Tabela 14. Itens do menu Ajuda

Item do menu Acelerador Descrição

Conteúdo F1 Este item de menu traz um sistema de ajuda básico.

Páginas de manual ›… Este item de menu inicia um navegador da Web mostrando


uma das páginas de manual html instaladas localmente.

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.

Transferências Este item de menu inicia um navegador da Web mostrando


os downloads de: https://www.wireshark.org/download.html .

Wiki Este item de menu inicia um navegador da Web mostrando


a página inicial de: https://gitlab.com/wireshark/wireshark/
wikis/ .

Capturas de amostra Este item de menu inicia um navegador da Web mostrando


as capturas de amostra de: https://gitlab.com/wireshark/
wireshark/wikis/SampleCaptures .

Sobre o Wireshark Este item de menu abre uma janela de informações


que fornece vários itens de informações detalhadas
sobre o Wireshark, como como ele foi construído, os plug-
ins carregados, as pastas usadas, …

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”

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

Figura 15. A barra de ferramentas “Principal”

Tabela 15. Itens da barra de ferramentas principal

barra de ferramentas Item da barra de ferramentas Item do menu Descrição


Ícone

[Iniciar ] Capturar › Iniciar Inicia a captura de pacotes com as mesmas opções


da última captura ou as opções padrão se nenhuma
foi definida (Iniciar Captura).

[Parar ] Capturar › Parar Interrompe a captura em execução no momento (Iniciar


Captura).

[ Reiniciar ] Capturar › Reiniciar Reinicia a sessão de captura atual.

[ Opções… ] Capturar › Opções… Abre a caixa de diálogo “Opções de captura”.


Consulte Iniciar a captura para obter detalhes.

[Abrir… ] Arquivo › Abrir… Abre a caixa de diálogo de abertura de arquivo,


que permite carregar um arquivo de captura para
exibição. Isso é discutido com mais detalhes na caixa
de diálogo “Abrir arquivo de captura”.

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

[ Recarregar ] Ver › Recarregar Recarrega o arquivo de captura atual.

[ Encontrar pacote… ] Editar › Find Packet… Encontre um pacote com base em diferentes critérios.
Consulte Encontrar pacotes para obter detalhes.

[Voltar ] Ir › Voltar Volte no histórico de pacotes. Mantenha


pressionada a tecla Alt ( Option no macOS) para voltar
no histórico de seleção.

[ Vá em frente ] Go › Go Forward Avança no histórico de pacotes. Mantenha pressionada a tecla Alt


(Option no macOS) para avançar no histórico de seleção.

[ Go to Packet… ] Go › Go to Packet… Vai para um pacote específico.


Machine Translated by Google

barra de ferramentas Item da barra de ferramentas Item do menu Descrição


Ícone

[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

Capturar] na captura ao vivo captura ao vivo (ou não).

[ Colorir ] Visualizar › Colorir Colorir a lista de pacotes (ou não).

[Zoom In ] Visualizar › Ampliar Aumente o zoom nos dados do pacote (aumente o


tamanho da fonte).

[ 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 "Filtro"

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

disponíveis em Filtrando pacotes durante a exibição.

Figura 16. A barra de ferramentas “Filtro”

Tabela 16. Filtrar itens da barra de ferramentas

barra de ferramentas Nome Descrição


Ícone

Favoritos Gerencie ou selecione filtros salvos.


Machine Translated by Google

barra de ferramentas Nome Descrição


Ícone

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.

Depois de alterar algo neste campo, não se esqueça de pressionar o


botão Aplicar (ou a tecla Enter/Return), para aplicar esta string de filtro ao
display.

Este campo também é onde o filtro aplicado atual é exibido.

Claro Redefina o filtro de exibição atual e limpe a área de edição.

Aplicar Aplique o valor atual na área de edição como o novo filtro de exibição.

A aplicação de um filtro de exibição em arquivos de captura grandes pode


levar muito tempo.

Recente Selecione em uma lista de filtros aplicados recentemente.

Adicionar botão Adicione um novo botão de filtro.

[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”.

O painel "Lista de pacotes"

O painel da lista de pacotes exibe todos os pacotes no arquivo de captura atual.


Machine Translated by Google

Figura 17. O painel “Lista de pacotes”

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.

As colunas padrão mostrarão:

• [ No. ] O número do pacote no arquivo de captura. Este número não mudará, mesmo se um display
filtro é usado.

• [ Time ] O timestamp do pacote. O formato de apresentação deste timestamp pode ser


alterado, consulte Formatos de exibição de tempo e referências de tempo.

• [ Origem ] O endereço de onde este pacote está vindo.

• [ Destination ] O endereço para onde este pacote está indo.

• [ Protocolo ] O nome do protocolo em uma versão curta (talvez abreviada).

• [Comprimento] O comprimento de cada pacote.

• [ Info ] Informações adicionais sobre o conteúdo do pacote.

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.

Símbolos de pacotes relacionados

Primeiro pacote em uma conversa.


Machine Translated by Google

Parte da conversa selecionada.

Não faz parte da conversa selecionada.

Último pacote em uma conversa.

Solicitar.

Resposta.

O pacote selecionado reconhece este pacote.

O pacote selecionado é uma confirmação duplicada deste pacote.

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 "Detalhes do pacote"

O painel de detalhes do pacote mostra o pacote atual (selecionado no painel “Lista de pacotes”) de forma mais detalhada.

Figura 18. O painel “Packet Details”

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

Alguns campos de protocolo têm significados especiais.

• 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 "Bytes de pacote"


O painel de bytes do pacote mostra os dados do pacote atual (selecionado no painel “Lista de pacotes”) em um estilo hexdump.

Figura 19. O painel “Packet Bytes”

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

Figura 20. O painel “Packet Bytes” com guias

As guias adicionais geralmente contêm dados remontados de vários pacotes ou dados descriptografados.

O Painel "Diagrama de Pacotes"


O painel do diagrama de pacotes mostra o pacote atual (selecionado no painel “Packet List”) como um diagrama, semelhante aos
usados em livros didáticos e IETF RFCs.

Figura 21. O painel “Diagrama de Pacotes”

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.

Figura 22. A barra de status inicial

Esta barra de status é mostrada enquanto nenhum arquivo de captura é carregado, por exemplo, quando o Wireshark é iniciado.

Figura 23. A barra de status com um arquivo de captura carregado

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

O número de pacotes capturados.

Exibido O

número de pacotes atualmente sendo exibidos.

marcado

O número de pacotes marcados. Exibido apenas se você marcou algum pacote.

Derrubado

O número de pacotes descartados Exibido apenas se o Wireshark não conseguiu capturar todos os pacotes.

ignorado

O número de pacotes ignorados Exibido apenas se você ignorou algum pacote.


Machine Translated by Google

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.

Figura 24. A barra de status com um menu de perfil de configuração

Para obter uma descrição detalhada dos perfis de configuração, consulte Perfis de configuração.

Figura 25. A barra de status com um campo de protocolo selecionado

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.

Figura 26. A barra de status com uma mensagem de filtro de exibição

Isso é exibido se você estiver tentando usar um filtro de exibição que pode ter resultados inesperados.
Machine Translated by Google

Capturando dados de rede ao vivo


Introdução

Capturar dados de rede ao vivo é um dos principais recursos do Wireshark.

O mecanismo de captura Wireshark fornece os seguintes recursos:

• Captura de diferentes tipos de hardware de rede, como Ethernet ou 802.11.

• Captura simultaneamente de várias interfaces de rede.

• Interrompa a captura em diferentes acionadores, como a quantidade de dados capturados, o tempo decorrido ou o
número de pacotes.

• Mostra simultaneamente pacotes decodificados enquanto o Wireshark está capturando.

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

O mecanismo de captura ainda carece dos seguintes recursos:

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

Aqui estão algumas armadilhas comuns:

• 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 clicar duas vezes em uma interface na tela de boas-vindas.

• Você pode selecionar uma interface na tela de boas-vindas e, em seguida, selecionar Capturar › Iniciar ou clicar no primeiro
Machine Translated by Google

botão da barra de ferramentas.

• 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…).

• Se você já conhece o nome da interface de captura, pode iniciar o Wireshark a partir do


linha de comando:

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

A seção “Capturar” da tela de boas-vindas


Quando você abre o Wireshark sem iniciar uma captura ou abrir um arquivo de captura, ele exibirá a “Tela de boas-vindas”,
que lista todos os arquivos de captura abertos recentemente e as interfaces de captura disponíveis.
A atividade de rede para cada interface será mostrada em um minigráfico ao lado do nome da interface. É possível
selecionar mais de uma interface e capturar simultaneamente.

Figura 27. Interfaces de captura no Microsoft Windows

Figura 28. Interfaces de captura no macOS

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

A caixa de diálogo “Opções de captura”


Quando você seleciona Capturar › Opções… (ou usa o item correspondente na barra de ferramentas principal), o
Wireshark exibe a caixa de diálogo “Opções de captura” conforme mostrado na guia de entrada “Opções de captura”.
Se você não tiver certeza de quais opções escolher nesta caixa de diálogo, deixar as configurações padrão como estão
deve funcionar bem em muitos casos.

Figura 29. A guia de entrada “Opções de captura”

A guia “Entrada” contém a tabela “Interface”, que mostra as seguintes colunas:

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

Um minigráfico mostrando a atividade da rede ao longo do tempo.

Cabeçalho da camada de link

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.

Dica de usuário avançado do Linux

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

Figura 30. A guia de saída “Opções de captura”

A guia “Saída” mostra as seguintes informações:

Capturar para um arquivo permanente

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/

PcapNg para mais detalhes sobre pcapng.

Crie um novo arquivo automaticamente...

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:

• O número de pacotes no arquivo de captura.

• O tamanho do arquivo de captura.

• A duração do arquivo de captura.

• A hora do relógio de parede.

Use um buffer de anel com

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

Figura 31. A guia de opções “Opções de captura”

A guia “Opções” mostra as seguintes informações:

Opções de exibição

Atualizar lista de pacotes em tempo real

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 automaticamente durante a captura ao vivo

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.

Mostrar informações de captura durante a captura

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

Resolver endereços MAC

Traduza endereços MAC em nomes.

Resolver nomes de rede

Traduzir endereços de rede em nomes.

Resolver nomes de transporte

Traduzir nomes de transporte (números de porta).

Consulte Resolução de nomes para obter mais detalhes sobre cada uma dessas opções.
Machine Translated by Google

Interrompa a captura automaticamente após…

A captura pode ser interrompida com base nas seguintes condições:

• O número de pacotes no arquivo de captura.

• O número de arquivos de captura.

• O tamanho do arquivo de captura.

• A duração do arquivo de captura.

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"

Figura 32. A caixa de diálogo “Gerenciar interfaces”

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

O nome do dispositivo da interface.


Machine Translated by Google

Comente

Pode ser usado para adicionar um comentário descritivo para a interface.

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.

Para remover um pipe da lista de interfaces, selecione-o e pressione [- ].

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 [-] .

A Caixa de Diálogo “Saída do Filtro Compilado”


Esta figura mostra os resultados da compilação do filtro BPF para as interfaces selecionadas.
Machine Translated by Google

Figura 33. A caixa de diálogo “Saída do Filtro Compilado”

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.

Capturar arquivos e modos de arquivo


Durante a captura, o mecanismo de captura libpcap subjacente pegará os pacotes da placa de rede e manterá os
dados do pacote em um buffer de kernel (relativamente) pequeno. Esses dados são lidos pelo Wireshark e salvos em
um arquivo de captura.

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

Figura 34. Opções de saída de captura


Machine Translated by Google

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.

Tabela 17. Modo de captura de arquivo selecionado pelas opções de captura

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, …

foo.cap x x Vários arquivos, buffer foo_00001_20230714110102.cap,


de anel foo_00002_20230714110318.cap, …

Único arquivo temporário

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.

Arquivo com nome único

Um único arquivo de captura será usado. Escolha este modo se desejar colocar o novo arquivo de captura em uma pasta específica.

Vários arquivos, contínuos

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…”).

Múltiplos arquivos, buffer circular

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.

Tipo de cabeçalho da camada de link

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

Filtrando durante a captura


O Wireshark suporta limitar a captura de pacotes a pacotes que correspondem a um filtro de captura. Os filtros de captura do Wireshark
são escritos na linguagem de filtro libpcap. Abaixo está uma breve visão geral da sintaxe da linguagem de filtro libpcap. A documentação
completa pode ser encontrada na página man do pcap-filter. Você pode encontrar muitos exemplos de filtros de captura em https://
gitlab.com/wireshark/wireshark/wikis/CaptureFilters.

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:

[não] primitivo [e|ou [não] primitivo...]

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

porta tcp 23 e host 10.0.0.5

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.

Exemplo 2. Capturando todo o tráfego telnet não de 10.0.0.5

porta tcp 23 e não host src 10.0.0.5

Uma primitiva é simplesmente uma das seguintes: [src|dst] host <host>


Essa primitiva permite filtrar um endereço IP ou nome do host. Você pode, opcionalmente, preceder o
primitivo com a palavra-chave src|dst para especificar que está interessado apenas em endereços de origem
ou destino. Se eles não estiverem presentes, os pacotes em que o endereço especificado aparece como
endereço de origem ou de destino serão selecionados.

ether [src|dst] host <ehost>


Esta primitiva permite filtrar endereços de host Ethernet. Opcionalmente, você pode incluir a palavra-chave
src|dst entre as palavras-chave ether e host para especificar que está interessado apenas em endereços de
origem ou destino. Se eles não estiverem presentes, os pacotes em que o endereço especificado aparece
no endereço de origem ou no endereço de destino serão selecionados.

host de gateway <host>


Essa primitiva permite filtrar pacotes que usaram o host como um gateway. Ou seja, onde a origem ou
destino Ethernet era o host, mas nem o endereço IP de origem nem o de destino eram
hospedar.

[src|dst] net <net> [{mask <mask>}|{len <len>}]


Essa primitiva permite filtrar por números de rede. Você pode, opcionalmente, preceder essa primitiva com
a palavra-chave src|dst para especificar que está interessado apenas em uma rede de origem ou destino.
Se nenhum deles estiver presente, serão selecionados pacotes que tenham a rede especificada no endereço
de origem ou de destino. Além disso, você pode especificar a máscara de rede ou o prefixo CIDR para a
rede se eles forem diferentes do seu.

[tcp|udp] [origem|dst] porta <porta>


Essa primitiva permite filtrar os números das portas TCP e UDP. Você pode, opcionalmente, preceder essa
primitiva com as palavras-chave src|dst e tcp|udp , que permitem especificar que você está interessado
apenas nas portas de origem ou destino e nos pacotes TCP ou UDP, respectivamente. As palavras-chave
tcp|udp devem aparecer antes de src|dst.
Machine Translated by Google

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.

ip|éter protocolo <protocolo>

Essa primitiva permite filtrar o protocolo especificado na camada Ethernet ou na camada IP.

ether|ip broadcast|multicast

Essa primitiva permite que você filtre em transmissões Ethernet ou IP ou multicasts.

<expr> relo <expr>

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.

Filtragem Automática de Tráfego Remoto

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.

As seguintes variáveis de ambiente são analisadas:

SSH_CONNECTION (ssh)

<IP remoto> <porta remota> <IP local> <porta local>

SSH_CLIENT (ssh)

<IP remoto> <porta remota> <porta local>

REMOTEHOST (tcsh, outros?)

<nome remoto>

EXIBIÇÃO (x11)

[nome remoto]:<display num>

SESSIONNAME (servidor de terminal)

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

Enquanto uma captura está em execução…

Você pode ver a seguinte caixa de diálogo durante a execução de uma captura:

Figura 35. A caixa de diálogo “Capturar informações”

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

Pare a captura em execução

Uma sessão de captura em execução será interrompida de uma das seguintes maneiras:

1. O botão [Stop Capture] na caixa de diálogo “Capture Information”.

2. O item de menu Capturar › Parar .

3. O botão [Parar] da barra de ferramentas.

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.

Reiniciar uma captura em execução

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:

1. Usando o item de menu Capturar › Reiniciar .

2. Usando o botão [Reiniciar] da barra de ferramentas.


Machine Translated by Google

Entrada, saída e impressão de arquivos


Introdução

Este capítulo irá descrever a entrada e saída de dados de captura.

• Abrir arquivos de captura em vários formatos de arquivo de captura

• Salvar e exportar arquivos de captura em vários formatos

• Mesclar arquivos de captura juntos

• Importar arquivos de texto contendo despejos hexadecimais de pacotes

• Pacotes de impressão

Abrir arquivos de captura


O Wireshark pode ler arquivos de captura salvos anteriormente. Para lê-los, basta selecionar o menu Arquivo › Abrir ou item da barra de

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

Você pode usar arrastar e soltar para abrir arquivos


GORJETA
Na maioria dos sistemas, você pode abrir um arquivo simplesmente arrastando-o em seu gerenciador de arquivos e soltando-

o na janela principal do Wireshark.

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"

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.

Comportamento de diálogo comum em todos os sistemas:

• Selecione arquivos e diretórios.

• Clique no botão [Abrir] para aceitar o arquivo selecionado e abri-lo.

• Clique no botão [Cancelar] para voltar ao Wireshark e não carregar um arquivo de captura.
Machine Translated by Google

• O botão [Ajuda] o levará a esta seção do “Guia do Usuário”.

O Wireshark adiciona os seguintes controles:

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

Figura 36. “Abrir” no Microsoft Windows

Esta é a caixa de diálogo comum de abertura de arquivo do Windows junto com algumas extensões do Wireshark.
Machine Translated by Google

Figura 37. “Aberto” - Linux e UNIX

Esta é a caixa de diálogo aberta do arquivo Qt comum junto com algumas extensões do Wireshark.

Formatos de arquivo de entrada

Os formatos de arquivo de captura nativos usados pelo Wireshark são:

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

• Oracle (anteriormente Sun) snoop e capturas atmsnoop

• Capturas do Topógrafo Finisar (anteriormente Shomiti)

• Capturas do Microsoft Network Monitor

• Novell LANalyzer captura

• Capturas de iptrace do AIX

• Capturas NetXray da Cinco Networks

• NETSCOUT (anteriormente Network Associates/Network General) Sniffer baseado em Windows e


Capturas do Sniffer Pro

• Capturas Sniffer baseadas em DOS da Network General/Network Associates (comprimidas ou


descompactado) captura

• LiveAction (anteriormente WildPackets/Savvius) *Capturas Peek/EtherHelp/PacketGrabber

• O Analisador de WAN/LAN da RADCOM captura


Machine Translated by Google

• Viavi (anteriormente Network Instruments) Capturas do Observer

• Saída de depuração do roteador Lucent/Ascend

• capturas de nettl HP-UX

• Saída de dump dos roteadores ISDN da Toshiba

• saída de i4btrace do projeto ISDN4BSD

• traços do EyeSDN USB S0

• a saída do formato IPLog do Cisco Secure Intrusion Detection System

• logs pppd (formato pppdump)

• a saída dos utilitários TCPIPtrace/TCPtrace/UCX$TRACE do VMS

• a saída de texto do utilitário DBS Etherwatch VMS

• Captura de tráfego Visual UpTime da Visual Networks

• a saída da depuração CoSine L2

• a saída dos agentes InfoVista (anteriormente Accellent) 5Views LAN

• Capturas de formato ERF da Endace Measurement Systems

• Linux Bluez Bluetooth stack hcidump -w traces

• Arquivos .out Catapult (agora Ixia/Keysight) DCT2000

• Saída de texto gerada por Gammu de telefones Nokia DCT3 no modo Netmonitor

• Traços de comunicação da série IBM (OS/400) (ASCII e UNICODE)

• Capturas de espionagem Juniper Netscreen

• Capturas btsnoop do sistema operacional Symbian

• Captura Tamosoft CommView

• Capturas de formato Tektronix K12xx 32bit .rf5

• Capturas de formato de arquivo de texto Tektronix K12

• Capturas do Apple PacketLogger

• Capturas do software PC108 da Aethra Telecommunications para seus instrumentos de teste

• Arquivos Citrix NetScaler Trace

• Logs binários e de formato de texto do Android Logcat

• Capturas Colasoft Capsa e PacketBuilder

• Arquivos mplog Micropross

• Monitoramento de canais Unigraf DPA-400 DisplayPort AUX

• Traços 802.15.4 do Sensor Network Analyzer da Daintree

• Fluxos de transporte MPEG-2 conforme definido na ISO/IEC 13818-1


Machine Translated by Google

• Arquivos de log do utilitário candump

• Logs da ferramenta BUSMASTER

• Capturas brutas Ixia IxVeriWave

• Arquivos do Inspetor de CAM da Rabbit Labs

• arquivos de diário do systemd

• Arquivos de rastreamento 3GPP TS 32.423

Novos formatos de arquivo são adicionados de tempos em tempos.

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.

Salvando Pacotes Capturados


Você pode salvar pacotes capturados usando os itens de menu Arquivo › Salvar ou Arquivo › Salvar como… . Você pode escolher quais

pacotes salvar e qual formato de arquivo usar.

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

pacotes descartados. Consulte Capturar arquivos para obter detalhes.

A caixa de diálogo "Salvar arquivo de captura como"

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.

Figura 38. “Salvar” no Microsoft Windows


Machine Translated by Google

Este é o diálogo comum de salvamento de arquivos do Windows com algumas extensões adicionais do Wireshark.

Figura 39. “Salvar” no Linux e UNIX

Este é o diálogo comum de salvamento de arquivo Qt com extensões Wireshark adicionais.

Você pode executar as seguintes ações:

• Digite o nome do arquivo no qual deseja salvar os pacotes capturados.

• Selecione o diretório para salvar o arquivo.

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

• O botão [Ajuda] o levará a esta seção do “Guia do Usuário”.

• “Compactar com gzip” irá compactar o arquivo de captura enquanto ele é gravado no disco.

• Clique no botão [Salvar] para aceitar o arquivo selecionado e salvá-lo.

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

Wireshark pode converter formatos de arquivo


GORJETA
Você pode converter arquivos de captura de um formato para outro abrindo uma captura e salvando-a em um
formato diferente.

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

Formatos de arquivo de saída

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.

Salvar em um formato diferente pode causar perda de dados

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

• pcapng (*.pcapng). Um sucessor flexível e extensível do formato libpcap. Wireshark 1.8 e


posteriormente, salve os arquivos como pcapng por padrão. Versões anteriores a 1.8 usavam libpcap.

• pcap (*.pcap). O formato padrão usado pela biblioteca de captura de pacotes libpcap . Usado por tcpdump,
_Snort, Nmap, Ntop e muitas outras ferramentas.

• 5 visualizações excelentes (*.5vw)

• captura de HP-UX nettl ({asteriscotrc0,*.trc1)

• Microsoft Network Monitor - NetMon (*.cap)

• Network Associates Sniffer - DOS (*.cap,*.enc,*.trc,*.fdc,*.syc)

• Capturas Cinco Networks NetXray (*.cap)

• Sniffer da Network Associates - Windows (*.cap)

• Instrumentos de Rede/Viavi Observer (*.bfr)

• Novell LANalyzer (*.tr1)

• Oracle (anteriormente Sun) snoop (*.snoop,*.cap)

• Tráfego Visual UpTime da Visual Networks (*.*)

• Capturas btsnoop do sistema operacional Symbian (*.log)

• Captura Tamosoft CommView (*.ncf)

• Arquivos .out Catapult (agora Ixia/Keysight) DCT2000 (*.out)

• Captura do formato ERF da Endace Measurement Systems (*.erf)

• Traços EyeSDN USB S0 (*.trc)

• Capturas de formato de arquivo de texto Tektronix K12 (*.txt)

• Capturas de formato Tektronix K12xx 32bit .rf5 (*.rf5)

• Logs binários do Android Logcat (*.logcat)

• Logs de texto Android Logcat (*.*)

• Arquivos Citrix NetScaler Trace (*.cap)


Machine Translated by Google

Novos formatos de arquivo são adicionados de tempos em tempos.

Se as ferramentas acima serão ou não mais úteis do que o Wireshark é uma questão diferente ;-)

Analisadores de protocolo de terceiros podem exigir extensões de arquivo específicas

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.

Mesclando Arquivos de Captura

À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).

Existem três maneiras de mesclar arquivos de captura usando o 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.

A caixa de diálogo “Mesclar com arquivo de captura”

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.

Os controles específicos desta caixa de diálogo de mesclagem são:

Anexar pacotes

Anexe os pacotes do arquivo selecionado antes dos pacotes atualmente carregados.

Mesclar cronologicamente

Mescle ambos os pacotes do arquivo selecionado e atualmente carregado em ordem cronológica.

Anexar pacotes

Acrescente os pacotes do arquivo selecionado após os pacotes atualmente carregados.


Machine Translated by Google

Figura 40. “Mesclar” no Microsoft Windows

Esta é a caixa de diálogo comum de abertura de arquivo do Windows com extensões adicionais do Wireshark.

Figura 41. “Mesclar” no Linux e UNIX

Esta é a caixa de diálogo aberta do arquivo Qt com extensões Wireshark adicionais.

Despejo Hexadecimal de Importação

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.

Dois métodos para converter a entrada são suportados:

Hexdumps ASCII padrão


O Wireshark entende um hexdump do formulário gerado por od -Ax -tx1 -v. Em outras palavras, cada byte é exibido
individualmente, com espaços separando os bytes uns dos outros. Os dígitos hexadecimais podem ser maiúsculos ou
minúsculos.

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

Despejos de texto regulares

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.

Por exemplo, o seguinte despejo:

> 0:00:00.265620 a130368b000000080060


> 0:00:00.280836 a1216c8b00000000000089086b0b82020407
< 0:00:00.295459 a20108000000000000000000000000
> 0:00:00.296982 a1303c8b00000008007088286b0bc1ffcbf0f9ff
> 0: 00: 00.305644 A121718B00000000008BA86A0B8008
<0: 00: 00.319061 a20109000000000000001000600000>
0: 00.330937 A130428B
> 0:00:00.356037 a121788b0000000000008a18

pode ser importado usando estas configurações:

regex: ^(?<dir>[<>])\s(?<tempo>\d+:\d\d:\d\d.\d+)\s(?<dados>[0-9a-fA- F]+)$ timestamp:


%H:%M:%S.%f dir: in: < out: > codificação: HEX

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:

• dados: dados reais do quadro capturado

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.

• time: timestamp para o pacote

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.

• dir: a direção em que o pacote foi enviado pela rede

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.

• seqno: um ID para este pacote

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.

A caixa de diálogo “Importar de Hex Dump”


Esta caixa de diálogo permite selecionar um arquivo de texto, contendo um despejo hexadecimal de dados de pacote, a ser importado e
definir os parâmetros de importação.
Machine Translated by Google

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

Determine qual arquivo de entrada deve ser importado

Formato de entrada

Determine como o arquivo de entrada deve ser interpretado.

Encapsulamento

Determine como os dados devem ser encapsulados.

Origem do arquivo

Nome do arquivo / Navegar

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

Dump" e "Expressão Regular"

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

A aba Hex Dump

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.

A guia Expressão regular

Figura 43. A aba "Regular Expression" dentro da caixa de diálogo "Import from Hex Dump".

Expressão regular de formato de pacote

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

Formato de carimbo de data/hora

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.

Comprimento máximo do quadro

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

arquivos de maneira conveniente.

Como o Wireshark detecta os arquivos de um conjunto de arquivos?

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

exemplo, “.pcap”) e uma parte intermediária variável.

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,

o mecanismo falhará em encontrar todos os arquivos de um conjunto.

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.

A caixa de diálogo "Listar arquivos"


Machine Translated by Google

Figura 44. A caixa de diálogo “List Files”

Cada linha contém informações sobre um arquivo do 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

A hora de criação do arquivo.

Última modificação

A última vez que o arquivo foi modificado.

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.

O botão [Close] fechará a caixa de diálogo.

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.

A caixa de diálogo “Exportar pacotes especificados”

Figura 45. A caixa de diálogo “Exportar pacotes especificados”

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.

A caixa de diálogo “Export Packet Dissections”

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

Figura 46. A caixa de diálogo “Export Packet Dissections”

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 conforme mostrado na janela principal

• Valores separados por vírgula (CSV)

• Compatível com C matrizes de bytes

• PSML (sumário XML)

• PDML (XML detalhado)

• Notação de objeto JavaScript (JSON)

Aqui estão alguns exemplos de dados exportados:


Machine Translated by Google

Texto simples

Não. Tempo Fonte Destino Comprimento do protocolo


SSID Informações

1 0,000000 200.121.1.131 172.16.0.122 TCP 1454


10554 ÿ 80 [ACK] Seq=1 Ack=1 Win=65535 Len=1400 [segmento TCP de uma PDU remontada]

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)

Soma de verificação do cabeçalho: 0xd390 [validação desativada]


[Status da soma de verificação do cabeçalho: não verificado]
Fonte: 200.121.1.131 (200.121.1.131)
Destino: 172.16.0.122 (172.16.0.122)
[Fonte GeoIP: PE, ASN 6147, Telefonica del Peru SAA]
Protocolo de Controle de Transmissão, Porta Src: 10554, Porta Dst: 80, Seq: 1, Ack: 1, Len: 1400

Se você quiser importar quaisquer pacotes exportados anteriormente de um arquivo de texto simples, é recomendável
fazer o seguinte:

• Adicione a coluna “Data e hora absolutas”.

• Ocultar temporariamente todas as outras colunas.

• Desative Editar › Preferências › Protocolos › Dados “Mostrar dados não dissecados em novos
GORJETA

painel Packet Bytes” de preferência. Mais detalhes são fornecidos em Preferências

• Inclua a linha de resumo do pacote.

• Excluir cabeçalhos de coluna.

• Excluir detalhes do pacote.

• Incluir os bytes do pacote.


Machine Translated by Google

CSV

"Não.","Hora","Fonte","Destino","Protocolo","Comprimento","SSID","Informações","Tamanho do Win"

"1","0.000000","200.121.1.131","172.16.0.122","TCP","1454","","10554 > 80 [ACK]

Seq=1 Ack=1 Win=65535 Len=1400 [segmento TCP de uma PDU remontada]","65535"

"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

de 2014 13:29:41.834477000 PDT", "frame.offset_shift": "0.000000000", "frame.time_epoch": "1403468981.834477000", "frame.time_delta": "

0.450535000", "frame.time_delta_displayed": "0.450535000", "frame.time_relative": "0.450535000", "frame.number": "2", "frame.len": "86",

"frame.cap_len": " 86", "frame.marked": "0", "frame.ignored": "0", "frame.protocols": "eth:ethertype:ipv6:icmpv6", "frame.coloring_rule.name": "ICMP" ,

"frame.coloring_rule.string": "icmp || icmpv6" }, "eth": { "eth.dst": "33:33:ff:9e:e3:8e", "eth.dst_tree": { " eth.dst_resolved":

"33:33:ff:9e:e3:8e", "eth.dst.oui": "3355647", "eth.addr": "33:33:ff:9e:e3:8e" ,


ÿ

ÿ
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",

"icmpv6.opt.linkaddr": "00:01:5c:62:8c:46", "icmpv6.opt.src_linkaddr": "00:01:5c:62:8c:46"

}}]

A caixa de diálogo "Exportar bytes de pacote selecionados"

Exporte os bytes selecionados no painel “Packet Bytes” para um arquivo binário bruto.
Machine Translated by Google

Figura 47. A caixa de diálogo “Exportar bytes de pacote selecionados”

Nome do arquivo

O nome do arquivo para o qual exportar os dados do pacote.

Salvar como tipo

A extensão do arquivo.

A caixa de diálogo “Exportar PDUs para 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

caixa de diálogo Exportar PDUs para a janela Arquivo.


Machine Translated by Google

Figura 48. Janela Exportar PDUs para Arquivo

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

c. Logcat e Logcat Texto. Você pode usá-los para os logs do Android.

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 “Cabeçalhos de tira…”

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.

O procedimento é semelhante ao da caixa de diálogo “Exportar PDUs para arquivo…”:

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.

A caixa de diálogo "Exportar chaves de sessão TLS..."

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.

Para exportar chaves de sessão TLS capturadas, siga as etapas abaixo:

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.

Figura 49. Janela Exportar Chaves de Sessão TLS

2. Digite o nome do arquivo desejado no campo Salvar como .

3. Escolha a pasta de destino para seu arquivo no campo Onde .

4. Pressione o botão [Salvar] para concluir o procedimento de exportação do arquivo.

A caixa de diálogo "Exportar objetos"

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

Figura 50. A caixa de diálogo “Export Objects”

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

O nome do host do servidor que enviou este objeto.

Tipo de conteúdo

O tipo de conteúdo deste objeto.

Tamanho

O tamanho deste objeto em bytes.

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

Exibe apenas os objetos que contêm a sequência de texto especificada.


Machine Translated by Google

Ajuda

Abre esta seção do “Guia do Usuário”.

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

Fecha a caixa de diálogo sem exportar.

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.

É fácil desperdiçar papel fazendo isso


AVISO A saída impressa pode conter muito texto, principalmente se você imprimir detalhes de pacotes e bytes.

A caixa de diálogo "Imprimir"


Machine Translated by Google

Figura 51. A caixa de diálogo “Imprimir”

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.

As seguintes configurações estão disponíveis na caixa de diálogo Imprimir:

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

Imprimir detalhes para cada pacote.

bytes

Imprima um despejo hexadecimal de cada pacote.

Intervalo de pacotes

Selecione os pacotes a serem impressos. Consulte o quadro “Intervalo de pacotes” para obter detalhes.

[ Configurar página… ] permite selecionar o tamanho e a orientação da página.


Machine Translated by Google

[Imprimir…] imprime em sua impressora padrão.

[Cancelar] fechará a caixa de diálogo sem imprimir.

[Ajuda] exibirá esta seção do “Guia do Usuário”.

O quadro “Intervalo de pacotes”


O quadro de intervalo de pacotes faz parte das caixas de diálogo “Exportar pacotes especificados”, “Exportar dissecações de pacotes” e
“Imprimir” . Você pode usá-lo para especificar quais pacotes serão exportados ou impressos.

Figura 52. O quadro “Intervalo de pacotes”

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

Todos os pacotes capturados ou exibidos, dependendo da seleção principal acima.

pacote selecionado

Somente o pacote selecionado.

pacotes marcados

Apenas pacotes marcados. Consulte Marcação de pacotes.

Primeiro ao último marcado

Permite marcar um intervalo inclusivo de pacotes.

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.

Remover pacotes ignorados

Não exporte ou imprima pacotes ignorados. Consulte Ignorando pacotes.


Machine Translated by Google

O quadro de formato de pacote

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.

Figura 53. O quadro “Packet Format”

Cada uma das configurações abaixo corresponde à lista de pacotes, detalhes de pacotes e bytes de pacotes na janela principal.

Linha de resumo do pacote

Exporte ou imprima cada linha de resumo conforme mostrado no painel “Lista de pacotes”.

Detalhes do pacote

Exporte ou imprima o conteúdo da árvore “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

Exporte ou imprima o conteúdo do painel “Packet Bytes”.

Cada pacote em uma nova página

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

Capturar cabeçalho de informações


Adicione um cabeçalho a cada página com o nome do arquivo de captura e o número total de pacotes e pacotes
mostrados.
Machine Translated by Google

Trabalhando com pacotes capturados


Visualizando os pacotes que você capturou
Depois de capturar alguns pacotes ou abrir um arquivo de captura salvo anteriormente, você pode visualizar os pacotes
exibidos no painel de lista de pacotes simplesmente clicando em um pacote no painel de lista de pacotes, o que exibirá o
pacote selecionado no painel exibição em árvore e painéis de exibição de byte.

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.

Figura 54. Wireshark com um pacote TCP selecionado para visualização

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

Figura 55. Visualizando um pacote em uma janela separada

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.

• A partir dos itens de menu do menu pop-up “Lista de pacotes”.

• A partir dos itens de menu do menu pop-up “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.

Menu pop-up do cabeçalho da coluna "Lista de pacotes"


Machine Translated by Google

Figura 56. Menu pop-up do cabeçalho da coluna “Packet List”

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

Alinhar à esquerda Alinhar os valores à esquerda nesta coluna.

Alinhar Centro Centralize os valores nesta coluna.

Alinhar à Direita Alinhe os valores à direita nesta coluna.

Preferências de coluna... Abra a caixa de diálogo "Preferências" para esta coluna.

Editar coluna Abra a barra de ferramentas do editor de colunas para esta coluna.

Redimensionar para conteúdo Redimensione a coluna para ajustar seus valores.

Resolver nomes Se esta coluna contiver endereços, resolva-os.

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

Menu pop-up do painel "Lista de pacotes"


Machine Translated by Google

Figura 57. Menu pop-up do painel “Lista de pacotes”

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.

Tabela 19. Os itens de menu do menu pop-up “Packet List”

Item principal Descrição

correspondente
cardápio

item

Marcar pacote (alternar) Editar Marque ou desmarque um pacote.

Ignorar pacote (alternar) Editar Ignore ou inspecione este pacote enquanto analisa o arquivo de captura.

Definir referência de Editar Defina ou redefina uma referência de tempo.

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

Item principal Descrição

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

os itens subseqüentes mostram as diferentes formas de aplicação do filtro.

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.

Filtro de conversa Aplique um filtro de exibição com as informações de endereço do pacote


selecionado. Por exemplo, a entrada do menu IP definirá um filtro para
mostrar o tráfego entre os dois endereços IP do pacote atual.

Colorir conversa Crie uma nova regra de coloração com base nas informações de endereço do
pacote selecionado.

SCTP Permite analisar e preparar um filtro para esta associação SCTP.

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

Item principal Descrição

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

Preferências de protocolo Ajuste as preferências para o protocolo selecionado.

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.

Menu pop-up do painel "Detalhes do pacote"


Machine Translated by Google

Figura 58. Menu pop-up do painel “Packet Details”

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.

Tabela 20. Os itens de menu do menu pop-up “Detalhes do pacote”

Item principal Descrição

correspondente
cardápio

item

Expandir subárvores Visualizar Expanda a subárvore atualmente selecionada.

Recolher subárvores Exibir Recolhe a subárvore atualmente selecionada.

Expandir todos Visualizar Expanda todas as subárvores em todos os pacotes na captura.

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

Item principal Descrição

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

os itens subseqüentes mostram as diferentes formas de aplicação do filtro.

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 › Nome do campo


Editar Copie o nome 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

Item principal Descrição

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”

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

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

em seu navegador da web.

Preferências de protocolo Ajuste as preferências 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

correspondente para uma resposta DNS, vá até ele.

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

separada. Consulte Visualizando um pacote em uma janela separada para obter

detalhes.

Menu pop-up do painel “Packet Bytes”


Machine Translated by Google

Figura 59. Menu pop-up do painel “Packet Bytes”

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.

Tabela 21. Os itens de menu do menu pop-up “Packet Bytes”

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

armazenados na área de transferência usando o tipo MIME “aplicativo/octeto


corrente".

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

…como ASCII Use a codificação ASCII ao exibir o texto “hexdump”.

…como EBCDIC Use a codificação EBCDIC ao exibir o texto “hexdump”.

Menu pop-up do painel "Diagrama de pacotes"

Figura 60. Menu pop-up do painel “Packet Diagram”

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.

Tabela 22. Os itens de menu do menu pop-up “Packet Diagram”

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

Filtrando Pacotes Durante a Visualização


O Wireshark possui duas linguagens de filtragem: filtros de captura e filtros de exibição. Os filtros de captura são usados para
filtragem ao capturar pacotes e são discutidos em Filtragem durante a captura. Filtros de exibição são usados para filtrar quais
pacotes são exibidos e são discutidos abaixo. Para obter mais informações sobre a sintaxe do filtro de exibição , consulte o wireshark-
filter(4) página man.

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

• Os valores dos campos


Machine Translated by Google

• Uma comparação entre campos


• … e muito mais!

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.

NOTA Os nomes de protocolo e campo geralmente estão em letras minúsculas.

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.

Figura 61. Filtragem no protocolo TCP

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

Construindo Expressões de Filtro de Exibição


O Wireshark fornece uma linguagem de filtro de exibição que permite controlar com precisão quais pacotes são exibidos. Eles
podem ser usados para verificar a presença de um protocolo ou campo, o valor de um campo ou até mesmo comparar dois
campos entre si. Essas comparações podem ser combinadas com operadores lógicos, como "e" e "ou", e parênteses em
expressões complexas.

As seções a seguir abordam a funcionalidade do filtro de exibição com mais detalhes.

Existem muitos exemplos de filtro de exibição na página Wireshark Wiki Display Filter em: https://gitlab.com/
GORJETA

wireshark/wireshark/wikis/DisplayFilters.

Campos de Filtro de Exibição

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

Tabela 23. Operadores de comparação do filtro de exibição


Machine Translated by Google

Pseudônimo inglês tipo C Descrição Exemplo

equação qualquer_eq == Igual (qualquer se for mais de um) ip.src == 10.0.0.5

ne tudo_ne != Diferente (todos se houver mais de um) ip.src != 10.0.0.5


=== ip.src === 10.0.0.5
all_eq Igual (todos se mais de um)

qualquer_ne!== Não igual (qualquer se for mais de ip.src !== 10.0.0.5


um)

> Maior que frame.len > 10


gt

lt < Menor que frame.len < 128

ge >= Melhor que ou igual a frame.len ge 0x100

le <= frame.len <= 0x20


Menos que ou igual a

contém Protocolo, campo ou fatia contém um sip.To contém "a1762"


valor

partidas ~ Protocolo ou campo de texto corresponde a um http.host corresponde


a "acme\\.(org|com|net)"
Expressão regular compatível
com Perl

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.

Tipos de campo de filtro de exibição

Número inteiro sem sinal

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

Número inteiro com sinal

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

Pode ser 1 ou "True" ou "TRUE", 0 ou "False" ou "FALSE" (sem aspas).


Machine Translated by Google

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:

dns.qry.name contém "www.\x77\x69\x72\x65\x73\x68\x61\x72\x6b.org"

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.

http.user_agent corresponde a r"\(X11;"

Data e hora

frame.time == "26 de setembro de 2004 23:18:04.954975"

ntp.xmt ge "2020-07-04 12:34:56"

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:

frame.time < "2022-01-01"

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

udp contém 81:60:03

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.

sip.To contém "a1762"

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.

http.host corresponde a "acme\\.(org|com|net)"

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.

tcp.flags & 0x02

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.

Possíveis armadilhas usando expressões regulares

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

sequência de escape de bytes (0x43 é o código hexadecimal ASCII para C).

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

Tabela 24. Operações Lógicas do Filtro de Exibição

Inglês tipo C Descrição Exemplo

e && E lógico ip.src==10.0.0.5 e tcp.flags.fin OU lógico

ou || ip.src==10.0.0.5 ou ip.src==192.1.1.1 XOR lógico tr.dst[0:3]

xor ^^
== 0.6.29 xor tr.src[0:3] == 0.6.29

não ! Lógico NÃO não llc

[…] Subsequência Consulte “Operador de Fatia” abaixo.

no Definir http.request.method em {"HEAD", "GET"}. Consulte


Filiação “Operador de associação” abaixo.

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

tcp.port em {80, 443, 8080}

é equivalente a

tcp.port == 80 || tcp.port == 443 || tcp.port == 8080

No entanto, o filtro de exibição

NOTA

tcp.port em {443, 4430..4434}

não é equivalente a

tcp.port == 443 || (tcp.port >= 4430 && tcp.port <= 4434)

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

Tabela 25. Operações aritméticas do filtro de exibição


Machine Translated by Google

Nome Sintaxe Descrição

Unário menos -A Negação de A

Adição A+B Adicionar B a A

Subtração A - B Subtrair B de A
*
Multiplicação A B Multiplique A vezes B

Divisão A/B Divida A por B

Módulo A %B Resto de A dividido por B

Bit a bit AND A & B E bit a bit de A e B

Expressões aritméticas podem ser agrupadas usando chaves.

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.

Tabela 26. Funções de Filtro de Exibição

Função Descrição

superior Converte um campo de string em letras maiúsculas.

mais baixo Converte um campo de string em letras minúsculas.

len Retorna o comprimento em bytes de uma string ou campo de bytes.

contar Retorna o número de ocorrências de campo em um quadro.

corda Converte um campo não string em uma string.

máximo Retorna o valor máximo para os argumentos.

min Retorna o valor mínimo para os argumentos.

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

Por exemplo, para corresponder a números de quadros ímpares:

string(frame.number) corresponde a "[13579]$"

Para corresponder endereços IP que terminam em 255 em um bloco de sub-redes (172.16 a 172.31):

string(ip.dst) corresponde a r"^172\.(1[6-9]|2[0-9]|3[0-1])\.[0-9]{1,3}\.255 "

As funções max() e min() pegam qualquer número de argumentos do mesmo tipo e retornam o maior/menor respectivamente do
conjunto.

max(tcp.srcport, tcp.dstport) <= 1024

Às vezes, os campos mudam de nome

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

Alguns nomes de protocolo podem ser ambíguos

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.

frame[10:] contém .fc ou frame[10] == :fc

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 "Exibir expressão de filtro"


Quando você estiver acostumado com o sistema de filtragem do Wireshark e souber quais rótulos deseja usar em seus filtros, pode
ser muito rápido simplesmente digitar uma string de filtro. No entanto, se você é novo no Wireshark ou está trabalhando com um
protocolo um pouco desconhecido, pode ser muito confuso tentar descobrir o que digitar. A caixa de diálogo “Exibir expressão de
filtro” ajuda com isso.

A caixa de diálogo “Display Filter Expression” é uma excelente maneira de aprender a escrever strings de filtro de
GORJETA

exibição do Wireshark.

Figura 62. A caixa de diálogo “Exibir expressão de filtro”


Machine Translated by Google

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

Um intervalo de números inteiros ou um grupo de intervalos, como 1-12 ou 39-42,98-2000.

[ Ajuda ]

Abre esta seção do Guia do Usuário.

[ 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

Definindo e salvando filtros


Você cria filtros predefinidos que aparecem nos menus de favoritos de filtro de captura e exibição ( ).
Isso pode economizar tempo ao lembrar e redigitar alguns dos filtros mais complexos que você usa.

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.

Figura 63. As caixas de diálogo “Filtros de captura” e “Filtros de exibição”

[+]

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 ]

Salva as configurações do filtro e fecha a caixa de diálogo.

[Cancelar]

Fecha a caixa de diálogo sem salvar nenhuma alteração.

Definindo e salvando macros de filtro


Você pode definir uma macro de filtro com o Wireshark e rotulá-la para uso posterior. Isso pode economizar tempo em

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:

1. No menu principal, selecione Analisar › Exibir macros de filtro…. O Wireshark abrirá um


caixa de diálogo correspondente Exibir janela Macros de filtro.

Figura 64. Janela Display Filter Macros

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

A barra de ferramentas "Localizar pacote"

Figura 65. A barra de ferramentas “Find Packet”

Você pode pesquisar usando os seguintes critérios:

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

Pesquise uma sequência de bytes específica nos dados do pacote.

Por exemplo, use “ef:bb:bf” para localizar o próximo pacote que contém a marca de ordem de byte UTF-8.

String

Encontre uma string nos dados do pacote, com várias opções.

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.

Ir para um pacote específico


Você pode pular facilmente para pacotes específicos com um dos itens de menu no menu Ir .
Machine Translated by Google

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.

A barra de ferramentas "Ir para o pacote"

Figura 66. A barra de ferramentas “Go To Packet”

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.

O comando “Ir para o pacote correspondente”

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.

O comando “Ir para o primeiro pacote”

Este comando irá pular para o primeiro pacote exibido.

O comando “Ir para o último pacote”

Este comando irá pular para o último pacote exibido.

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.

• Mark All Displayed define o estado de marcação de todos os pacotes exibidos.

• Desmarcar todos os exibidos redefine o estado de marcação de todos os 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.

• Ignorar todos os exibidos define o estado ignorado de todos os pacotes exibidos.

• Unignore All Displayed redefine o estado ignorado de todos os pacotes.

Formatos de exibição de tempo e referências de tempo


Enquanto os pacotes são capturados, cada pacote recebe um carimbo de data/hora. Esses carimbos de data e hora serão salvos no
arquivo de captura, portanto, estarão disponíveis para análise posterior.

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

Os formatos de apresentação disponíveis são:

• 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).

As precisões disponíveis (aka. o número de casas decimais exibidas) são:

• 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).

• Segundos, décimos de segundo, centésimos de segundo, milissegundos, microssegundos ou nanossegundos A


precisão do registro de data e hora será forçada para a configuração especificada. Se a precisão realmente disponível for
menor, zeros serão acrescentados. Se a precisão for maior, as casas decimais restantes serão cortadas.

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.

Referência de Tempo de Pacote

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.

• Find Next Encontre o próximo pacote referenciado no painel “Packet List”.

• Localizar anterior Localizar o pacote com referência de tempo anterior no painel “Lista de pacotes”.
Machine Translated by Google

Figura 67. Wireshark mostrando um pacote com referência de tempo

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

Este capítulo irá descrever alguns dos recursos avançados do Wireshark.

Seguindo fluxos de protocolo


Pode ser muito útil ver um protocolo da maneira que a camada de aplicativo o vê. Talvez você esteja procurando senhas
em um fluxo de Telnet ou tentando entender um fluxo de dados. Talvez você só precise de um filtro de exibição para
mostrar apenas os pacotes em um fluxo TLS ou SSL. Nesse caso, a capacidade do Wireshark de seguir fluxos de
protocolo será útil para você.

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.

Figura 68. A caixa de diálogo “Follow TCP Stream”

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.

Você pode escolher entre as seguintes ações:

[ Ajuda ]

Mostre esta ajuda.

[ Filtrar este stream ]

Aplique um filtro de exibição removendo os dados do fluxo atual da exibição.

[ Imprimir ]

Imprima os dados de fluxo no formato atualmente selecionado.

[ Salvar como… ]

Salve os dados do fluxo no formato atualmente selecionado.

[ Voltar ]

Feche esta caixa de diálogo e restaure o filtro de exibição anterior.

[ Perto ]

Feche esta caixa de diálogo, deixando o filtro de exibição atual em vigor.

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.

Você pode optar por visualizar os dados em um dos seguintes formatos:

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

Para os malucos do ferro grande lá fora.

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

Como ASCII, mas decodifica os dados como UTF-8.

UTF-16

Como ASCII, mas decodifica os dados como UTF-16.

YAML

Isso permite que você carregue o stream como YAML.

A saída YAML é dividida em 2 seções principais:

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

Exemplo 3. Siga a saída YAML do fluxo

pares: - ponto: 0

host: 127.0.0.1 porta: 54048 -

ponto: 1 host: 127.0.10.1 porta: 5000 pacotes: - pacote: 1 ponto: 0

índice: 0

timestamp: 1599485409.693955274 dados: !!binário | aGVsbG8K - pacote: 3 pares: 1 índice: 0 timestamp: 1599485423.885866692

dados: !!binário | Ym9uam91cgo=

O mesmo exemplo, mas no formato YAML antigo (antes da versão 3.5):


Machine Translated by Google

# Pacote 1
peer0_0: !!binary |
aGVsbG8K
# Pacote 3
peer1_0: !!binário |
Ym9uam91cgo=

Como os dados do formato antigo podem ser encontrados no novo formato:

Novo formato YAML Antigo formato YAML

... # Pacote AAA AAA: número do pacote na captura


pacotes: - peerBBB_CCC !!binário | DDD original
ÿ

pacote: par AAA: BBB: índice de pares


índice BBB: dados CCC: índice de pacotes para
CCC: !!binário | DDD este par
DDD: dados em base64

ÿ
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 alternar entre os fluxos usando o seletor “Stream”.

Você pode pesquisar texto inserindo-o na caixa de entrada "Localizar" e pressionando [ Localizar próximo ].

Figura 69. A caixa de diálogo “Follow HTTP/ 2 Stream”


Machine Translated by Google

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.

Figura 70. A caixa de diálogo “Follow SIP Call”

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.

Mostrar bytes de pacote


Se um campo de pacote selecionado não mostra todos os bytes (ou seja, eles são truncados quando exibidos) ou se eles são mostrados
como bytes em vez de strings ou se requerem mais formatação porque contêm uma imagem ou HTML, então esta caixa de diálogo pode
ser usada.

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.

Você pode escolher entre as seguintes ações:

[ Ajuda ]

Mostre esta ajuda.

[ Imprimir ]

Imprima os bytes no formato atualmente selecionado.


Machine Translated by Google

[ Cópia de ]

Copie os bytes para a área de transferência no formato atualmente selecionado.

[ Salvar como ]

Salve os bytes no formato atualmente selecionado.

[ Perto ]

Feche esta caixa de diálogo.

Você pode optar por decodificar os dados de um dos seguintes formatos:

Nenhum

Este é o padrão que não decodifica nada.

Base64

Isso irá decodificar de Base64.

Compactado Isso

irá descompactar o buffer usando zlib.

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

Isso irá decodificar a partir de uma string Quoted-Printable.

ROT-13

Isso decodificará o texto codificado em ROT-13.

Você pode optar por visualizar os dados em um dos seguintes formatos:

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

Para os malucos do ferro grande lá fora.


Machine Translated by Google

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

Nesta exibição, você vê os bytes como 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

Nesta visualização, você vê os bytes como UTF-8.

UTF-16

Nesta exibição, você vê os bytes como UTF-16.

YAML

Isso mostrará os bytes como um dump binário 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.

Informações especializadas são apenas uma dica

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.

Entradas de informações especializadas

As entradas de informações especializadas são agrupadas por nível de gravidade (descrito abaixo) e contêm o seguinte:

Tabela 27. Exemplo de itens de informações especializadas

Pacote # Resumo Grupo Protocolo

592 TCP: [TCP fora de Malformado TCP


serviço] …

1202 DNS: consulta padrão Protocolo DNS

resposta …

443 TCP: 80 ÿ 59322 [RST] Seqüência TCP

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)

Problemas sérios, como pacotes malformados.

Resumo

Texto explicativo curto para cada item de informação especializada.


Machine Translated by Google

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

Uma soma de verificação era inválida.

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

campo de protocolo foi obsoleto.

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

Um problema de segurança, por exemplo, uma implementação insegura.

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.

É possível que mais grupos sejam adicionados no futuro.

Protocolo

O dissecador de protocolo que criou o item de informação especializado.

A caixa de diálogo "Informações especializadas"

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.

Figura 71. A caixa de diálogo “Informações especializadas”

Você pode escolher entre as seguintes ações:

Limite para exibir o filtro

Mostrar apenas itens de informações especializadas presentes em pacotes que correspondam ao filtro de exibição atual.

Agrupar por resumo

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 ]

Fecha a caixa de diálogo

Árvore de detalhes de protocolo “colorida”

Figura 72. A árvore de detalhes do protocolo “colorido”

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.

Coluna de Lista de Pacotes “Expert” (Opcional)


Machine Translated by Google

Figura 73. A coluna da lista de pacotes “Expert”

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.

Figura 74. Itens de detalhes do pacote “Análise 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

Próximo número de sequência esperado

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.

Próximo número de confirmação esperado

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.

Número de confirmação visto pela última vez

Sempre definido. Observe que isso não é o mesmo que o próximo número de confirmação esperado.

Número de confirmação visto pela última vez

Sempre atualizado para cada pacote. Observe que isso não é o mesmo que o próximo número de confirmação esperado.

TCP ACKed segmento não visto

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.

TCP Dup ACK <frame>#<número de confirmação>

Definido quando todos os itens a seguir forem verdadeiros:

• O tamanho do segmento é zero.

• O tamanho da janela é diferente de zero e não mudou.

• 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).

• SYN, FIN e RST não estão definidos.

TCP Retransmissão Rápida

Definido quando todos os itens a seguir forem verdadeiros:

• Este não é um pacote keepalive.

• Na direção direta, o tamanho do segmento é maior que zero ou o SYN ou FIN está definido.

• O próximo número de sequência esperado é maior que o número de sequência atual.

• Temos mais de dois ACKs duplicados na direção reversa.

• O número de sequência atual é igual ao próximo número de confirmação esperado.

• Vimos a última confirmação há menos de 20 ms.

Substitui “Fora de serviço” e “Retransmissão”.


Machine Translated by Google

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.

Substitui “Retransmissão rápida”, “Fora de ordem”, “Retransmissão espúria” e “Retransmissão”.

TCP Keep-Alive ACK

Definido quando todos os itens a seguir forem verdadeiros:

• O tamanho do segmento é zero.

• O tamanho da janela é diferente de zero e não mudou.

• O número de sequência atual é igual ao próximo número de sequência esperado.

• O número de confirmação atual é o mesmo que o último número de confirmação visto.

• O pacote visto mais recentemente na direção inversa foi um keepalive.

• O pacote não é SYN, FIN ou RST.

Substitui “Dup ACK” e “ZeroWindowProbeAck”.

TCP fora de ordem

Definido quando todos os itens a seguir forem verdadeiros:

• Este não é um pacote keepalive.

• Na direção direta, o comprimento do segmento é maior que zero ou o SYN ou FIN está definido.

• O próximo número de sequência esperado é maior que o número de sequência atual.

• O próximo número de sequência esperado e o próximo número de sequência diferem.

• 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”.

Números de porta TCP reutilizados

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.

TCP Segmento anterior não capturado


Machine Translated by Google

Definido quando o número de sequência atual é maior que o próximo número de sequência esperado.

TCP retransmissão espúria


Verifica uma retransmissão com base nos dados de análise na direção reversa. Definido quando todos os itens a seguir forem
verdadeiros:

• O sinalizador SYN ou FIN está definido.

• Este não é um pacote keepalive.

• O comprimento do segmento é maior que zero.

• Os dados para este fluxo foram confirmados. Ou seja, o último número de confirmação visto foi
definido.

• O próximo número de sequência é menor ou igual ao último número de confirmação visto.

Substitui “Retransmissão rápida”, “Fora de ordem” e “Retransmissão”.

Retransmissão TCP

Definido quando todos os itens a seguir forem verdadeiros:

• Este não é um pacote keepalive.

• Na direção direta, o comprimento do segmento é maior que zero ou o sinalizador SYN ou FIN está definido.

• O próximo número de sequência esperado é maior que o número de sequência atual.

Janela TCP Cheia

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.

Atualização da Janela TCP

Definido quando todos os itens a seguir forem verdadeiros:

• O tamanho do segmento é zero.

• O tamanho da janela é diferente de zero e não é igual ao tamanho da última janela vista.

• O número de sequência é igual ao próximo número de sequência esperado.

• O número de confirmação é igual ao último número de confirmação visto.

• Nenhum SYN, FIN ou RST está definido.

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.

Isso afeta “Retransmissão rápida”, “Fora de serviço” ou “Retransmissão”.

TCP ZeroWindowProbeAck

Definido quando todos os itens a seguir forem verdadeiros:

• O tamanho do segmento é zero.

• O tamanho da janela é zero.

• O número de sequência é igual ao próximo número de sequência esperado.

• O número de confirmação é igual ao último número de confirmação visto.

• O último pacote visto na direção reversa foi uma sondagem de janela zero.

Substitui “TCP Dup ACK”.

TCP Interpretações Ambíguas


Algumas capturas são muito difíceis de analisar automaticamente, especialmente quando o período de tempo pode abranger
pacotes de retransmissão rápida e fora de ordem. Uma preferência TCP permite alternar a precedência dessas duas
interpretações no nível do protocolo.

Integridade da Conversação TCP


As conversas TCP são consideradas completas quando possuem handshakes de abertura e fechamento, independentemente
de qualquer transferência de dados. No entanto, podemos estar interessados em identificar conversas completas com alguns
dados enviados e estamos usando os seguintes valores de bit para criar um valor de filtro no campo tcp.completeness :
Machine Translated by Google

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

Capturar formatos de arquivo

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

(qualquer que seja o benefício).

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

O que são fusos horários?

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)!

Mais informações podem ser encontradas em: https://en.wikipedia.org/wiki/Time_zone e https://en.wikipedia.org/wiki/


Coordinated_Universal_Time.

O que é o horário de verão (DST)?

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 podem ser encontradas em https://en.wikipedia.org/wiki/Daylight_saving.

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

Defina a hora do seu computador corretamente!


Machine Translated by Google

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:

1. Defina seu fuso horário para sua localização atual

2. Defina o relógio do seu computador para a hora local

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

Wireshark e fusos horários


Então, qual é a relação entre o Wireshark e os fusos horários?

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)

Los Angeles Nova York Madri Londres Berlim Tóquio

Capturar arquivo 10:00 10:00 10:00 10:00 10:00 10:00


(UTC)

Deslocamento -8 -5 -1 0 +1 +9
local para UTC

Exibido 02:00 05:00 09:00 10:00 11:00 19:00


Hora (local
Tempo)

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

limites no lado receptor.

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

Como o Wireshark lida com isso

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”).

Figura 75. O painel “Packet Bytes” com uma guia remontada

A remontagem pode ocorrer em várias camadas de protocolo, então é possível que várias guias no painel “Packet Bytes”
apareçam.

OBSERVAÇÃO Você encontrará os dados remontados no último pacote do bloco.

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.

Desvantagens da resolução de nomes

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

Resolução de Nome Ethernet (Camada MAC)

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

Resolução de nomes IP (camada de rede)

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.

Resolução de nome de porta TCP/UDP (camada de transporte)

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

SS7 Resolução de Código de Ponto

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

descrito aqui também é conhecida como verificação de redundância.

Para que servem as somas de verificação?

As somas de verificação são usadas para garantir a integridade das porções de dados para transmissão ou armazenamento de dados.

Uma soma de verificação é basicamente um resumo calculado de tal porção 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

alguma forma e retransmitir o(s) pacote(s) necessário(s).

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

muito pequeno de erros de transmissão pode permanecer não detectado.

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

necessário e de muitas outras coisas.

Mais informações sobre checksums podem ser encontradas em: https://en.wikipedia.org/wiki/ Checksum.
Machine Translated by Google

Validação de soma de verificação do Wireshark

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.

Descarregamento de soma de verificação

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

• Propriedades do arquivo de captura sobre o arquivo de captura.

• Hierarquia de protocolo dos pacotes capturados.

• Conversas , por exemplo, tráfego entre endereços IP específicos.

• Endpoints , por exemplo, tráfego de e para endereços IP.

• Gráficos de I/O visualizando o número de pacotes (ou similar) no tempo.

Estatísticas específicas do protocolo

• Tempo de resposta do serviço entre solicitação e resposta de alguns protocolos.

• Várias outras estatísticas específicas de protocolo.

As estatísticas específicas do protocolo requerem conhecimento detalhado sobre o protocolo específico. A


NOTA menos que você esteja familiarizado com esse protocolo, as estatísticas sobre ele podem ser difíceis de
entender.

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.

Algumas dessas estatísticas são descritas em https://gitlab.com/wireshark/wireshark/wikis/Statistics.

A caixa de diálogo "Capturar propriedades do arquivo"


Informações gerais sobre o arquivo de captura atual.
Machine Translated by Google

Figura 76. A caixa de diálogo “Propriedades do arquivo de captura”

Esta caixa de diálogo mostra as seguintes informações:

Detalhes

Informações notáveis sobre o arquivo de captura.

Arquivo

Informações gerais sobre o arquivo de captura, incluindo seu caminho completo, tamanho, hashes criptográficos, formato
de arquivo e encapsulamento.

Tempo

Os timestamps do primeiro e do último pacote no arquivo junto com sua diferença.


Machine Translated by Google

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

Informações sobre a interface ou interfaces de captura.

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.

Capturar comentários do arquivo

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]

Atualiza as informações na caixa de diálogo.

[Salvar comentários]

Salva o conteúdo da entrada de texto “Capturar comentários do arquivo”.

[ Perto ]

Fecha a caixa de diálogo

[ Copiar para área de transferência ]

Copia as informações de “Detalhes” para a área de transferência.

[ Ajuda ]

Abre esta seção do Guia do Usuário.

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.

A guia Portas mostra a lista de nomes, portas e tipos de serviços.

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.

Figura 77. Janela Endereços Resolvidos

A janela "Hierarquia de protocolo"


A hierarquia de protocolo dos pacotes capturados.
Machine Translated by Google

Figura 78. A Janela “Hierarquia de Protocolo”

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.

O botão [Copiar] permite copiar o conteúdo da janela como CSV ou YAML.

Colunas de hierarquia de protocolo

Protocolo

O nome deste protocolo.

Porcentagem de Pacotes

A porcentagem de pacotes de protocolo em relação a todos os pacotes na captura.

pacotes

O número total de pacotes que contêm este protocolo.

Porcentagem de bytes

A porcentagem de bytes de protocolo em relação ao total de bytes na captura.

bytes

O número total de bytes deste protocolo.

bits/s

A largura de banda deste protocolo em relação ao tempo de captura.

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

O número total de PDUs deste protocolo.

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

Figura 79. A janela “Conversas”

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

estiver fazendo uma captura ao vivo.


Machine Translated by Google

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

procurar. A lista de terminais Ethernet ou IP geralmente é o que você está procurando.

Endpoint e tipos de conversa


Bluetooth

Um endereço MAC-48 semelhante a Ethernet.

Ethernet

Idêntico ao identificador MAC-48 do dispositivo Ethernet.

Fibre Channel

Um endereço MAC-48 semelhante a Ethernet.

IEEE 802.11

Um endereço MAC-48 semelhante a Ethernet.

FDDI

Idêntico ao endereço FDDI MAC-48.

IPv4

Idêntico ao endereço IPv4 de 32 bits.

IPv6

Idêntico ao endereço IPv6 de 128 bits.

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

Um URN SHA-1 de 160 bits.

PCN

Semelhante ao IPX.

Responda Por Favor

Uma combinação de vários atributos de sessão RSVP e endereços IPv4.


Machine Translated by Google

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

Idêntico ao endereço Token Ring MAC-48.

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

Idêntico ao endereço USB de 7 bits.

Endpoints de broadcast e multicast

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.

Figura 80. A janela “Endpoints”


Machine Translated by Google

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

Cada linha da lista mostra os valores estatísticos para exatamente um endpoint.

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

estiver fazendo uma captura ao vivo.

Comprimentos de pacote

Mostra a distribuição de comprimentos de pacotes e informações relacionadas.

Figura 81. A janela “Comprimento dos Pacotes”


Machine Translated by Google

As informações são divididas por intervalos de comprimento de pacote, conforme mostrado acima.

Comprimentos de pacote

O intervalo de comprimentos de pacotes.

Os intervalos podem ser configurados na seção “Statistics ÿ Stats Tree” da caixa de diálogo Preferences.

Contar

O número de pacotes que se enquadram nesse intervalo.

Média

A média aritmética dos comprimentos dos pacotes neste intervalo.

Valor mínimo, Valor máximo

Os comprimentos mínimo e máximo neste intervalo.

Taxa (ms)

A média de pacotes por milissegundo para os pacotes neste intervalo.

Por cento

A porcentagem de pacotes neste intervalo, por contagem.

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.

Esses cálculos podem ser ajustados na seção “Estatísticas” do Diálogo de Preferências.

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.

A janela “Gráficos de E/S”


Permite plotar dados de pacotes e protocolos de várias maneiras.
Machine Translated by Google

Figura 82. A janela “I/ O Graphs”

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

Desenhe ou não desenhe este gráfico.

Nome do gráfico

O nome deste gráfico.

Filtro de exibição

Limita o gráfico aos pacotes que correspondem a esse filtro.

Cor

A cor a ser usada para plotar as linhas, barras ou pontos do gráfico.

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 valor a ser usado para o eixo Y do gráfico. Pode ser um de:

Pacotes, Bytes ou Bits

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)

A soma dos valores do campo especificado em “Y Field” por intervalo.

CONTAGEM DE QUADROS (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.

CONTAGEM DE CAMPOS (Campo Y)

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.

MAX(Campo Y), MIN(Campo Y), AVG(Campo Y)

Os valores médios máximo, mínimo e aritmético do “Campo Y” especificado por intervalo.


Para os valores MAX e MIN, passar o mouse e clicar no gráfico mostrará e levará você ao pacote com o valor MAX ou
MIN no intervalo, em vez do pacote mais recente.

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

Mostra uma média de valores em um período especificado de intervalos.

O gráfico como um todo pode ser configurado usando os controles na lista de gráficos:

[+]

Adicione um novo gráfico.

[-]

Adicione um novo gráfico.

[ Cópia de ]

Copie o gráfico selecionado.


Machine Translated by Google

[ Claro ]

Remova todos os gráficos.

Arrastos / zooms do mouse

Ao usar o mouse dentro da área do gráfico, arraste o conteúdo do gráfico ou selecione um zoom
área.

Intervalo

Defina o período de intervalo para o gráfico.

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

Alterne entre um eixo Y logarítmico ou linear.

Os principais botões de diálogo na parte inferior permitem que você faça o seguinte:

O botão [Ajuda] o levará a esta seção do Guia do Usuário.

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

[Copiar de] permite copiar gráficos de outro perfil.

[ Fechar ] fechará esta caixa de diálogo.

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

Os valores ausentes são zero

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.

Tempo de resposta do serviço


O tempo de resposta do serviço é o tempo entre uma solicitação e a resposta correspondente. Essas informações estão disponíveis
para muitos protocolos, incluindo os seguintes:

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

A janela "Estatísticas de tempo de resposta do serviço SMB2"

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

Figura 83. A janela “Estatísticas de tempo de resposta do serviço SMB2”

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:

O botão [Copiar] copiará as informações de tempo de resposta como texto.

[Salvar como…] salvará as informações de tempo de resposta em vários formatos.

[ Fechar ] fechará esta caixa de diálogo.

Estatísticas de DHCP (BOOTP)


O Dynamic Host Configuration Protocol (DHCP) é uma opção do Bootstrap Protocol (BOOTP). Ele atribui dinamicamente endereços IP
e outros parâmetros a um cliente DHCP. DHCP (BOOTP)
A janela Estatísticas exibe uma tabela sobre o número de ocorrências de um tipo de mensagem DHCP. O usuário pode filtrar, copiar ou
salvar os dados em um arquivo.

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.

Com essas estatísticas você pode:


Machine Translated by Google

• Número observado de mensagens e bytes por tipo de mensagem.

• O compartilhamento de mensagens e bytes para cada tipo de mensagem.

• Veja a primeira e a última ocorrência de cada tipo de mensagem.

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

Figura 84. Janela de estatísticas do 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.

As Estatísticas › 29West mostram:


Machine Translated by Google

O submenu Tópicos mostra contadores para: • Publicidade por Tópico

• Publicidade por fonte

• Publicidade por Transporte

• Consultas por tópico

• Consultas por Receptor

• Consultas curinga por padrão

• Consultas Curinga por Receptor

O submenu Filas mostra contadores para: • Publicidade por Fila

• Publicidade por fonte

• Consultas por Fila

• Consultas por Destinatário

O submenu UIM mostra Fluxos: Cada fluxo é fornecido por Endpoints, Messages, Bytes e as
estatísticas do primeiro e do último quadro.

O submenu LBT-RM A janela LBT-RM Transport Statistics mostra os números de


sequência de fontes e receptores para transporte e outros
dados.

O submenu LBT-RU A janela LBT-Ru Transport Statistics mostra os números de


sequência de Fontes e Receptores para transporte e outros
dados.

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

• Extensão de Operação e Manutenção (OAM), como Mensagem de Gerenciamento de Porto.

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.

Figura 85. Janela de estatísticas de DNS

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

Você pode filtrar, copiar ou salvar os dados em um arquivo.

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.

Figura 86. Janela do gráfico de fluxo

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.

• [Endereços] permite mudar os endereços mostrados no diagrama.


Machine Translated by Google

• [Reset Diagram] redefine a posição de visualização e o zoom para o estado padrão.

• [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)).

Figura 87. Janela do gráfico de fluxo mostrando sequências de chamadas VoIP

Atalhos adicionais disponíveis para chamadas VoIP:

• No fluxo RTP selecionado

ÿ 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).

Controles adicionais disponíveis para chamadas VoIP:

• [Reset Diagram] redefine a posição de visualização e o zoom para o estado padrão.

• [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

Contador de pacotes HTTP

Estatísticas para tipos de solicitação HTTP e códigos de resposta.

Solicitações HTTP

Estatísticas HTTP baseadas no host e no URI.

Distribuição de Carga HTTP

Solicitação HTTP e estatísticas de resposta com base no endereço do servidor e no host.

Sequências de solicitação 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

Figura 88. A janela “Sequências de solicitação HTTP”

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.

Gráficos de Fluxo TCP


Mostre diferentes representações visuais dos fluxos TCP em uma captura.

Sequência de Tempo (Stevens)


Este é um gráfico simples do número de sequência TCP ao longo do tempo, semelhante aos usados na série de
livros “TCP/IP Illustrated” de Richard Stevens.
Machine Translated by Google

Sequência de tempo (tcptrace)

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

Rendimento médio e bom rendimento.

Tempo de ida e volta

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

Tamanho da janela e bytes pendentes.

Fluxos multicast UDP


A janela UDP Multicast Streams mostra estatísticas para todos os fluxos UDP multicast. Inclui

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

Com essas estatísticas você pode:

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

• Detectar a perda de pacotes dentro do fluxo de vídeo MPEG2.

Figura 89. Janela UDP Multicast Streams


Machine Translated by Google

Pool de servidores confiáveis (RSerPool)


As janelas Reliable Server Pooling (RSerPool) mostram estatísticas para os diferentes protocolos de
Pool de servidores confiáveis (RSerPool):

• Protocolo de Acesso de Servidor Agregado (ASAP)

• Endpoint Handlespace Redundancy Protocol (ENRP)

Além disso, as estatísticas para protocolos de aplicação fornecidas pelo RSPLIB também são fornecidos:

• Protocolo de status do componente (CSP)

• Protocolo CalcApp

• Protocolo do Gerador Fractal

• Protocolo Ping Pong

• Protocolo de Serviço de Script (SSP)

Com essas estatísticas você pode:

• Número observado de mensagens e bytes por tipo de mensagem.

• O compartilhamento de mensagens e bytes para cada tipo de mensagem.

• Veja a primeira e a última ocorrência de cada tipo de mensagem.

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

Figura 90. Janela ASAP Statistics


Machine Translated by Google

Figura 91. Janela ENRP Statistics

Figura 92. Janela de estatísticas do protocolo de status do componente

Figura 93. Janela de estatísticas do protocolo CalcApp

Figura 94. Janela Estatísticas do protocolo do gerador de Fractal

Figura 95. Janela Estatísticas do Protocolo Ping Pong


Machine Translated by Google

Figura 96. Janela Estatísticas do protocolo de serviço de script

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 cada nome de servidor virtual nomeado.

• Uma linha para tráfego com um ID de fluxo e nenhum nome de servidor virtual.

• Uma linha para tráfego sem ID de fluxo.

Cada janela de distribuição tmm contém as estatísticas para os seguintes dados:

• Uma linha para cada tmm, que contém:

ÿ Uma linha para cada entrada e saída (deve somar ao tmm total), que contém:

ÿ Tráfego com um nome de servidor virtual.

ÿ Tráfego com ID de fluxo e sem nome de servidor virtual.

ÿ Tráfego sem ID de fluxo.

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.

O menu Estatísticas › IPv4 fornece o contador de pacotes por submenus:

• Todos os endereços. Divide dados por endereço IP.

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

• Tipos de protocolo IP. Divide os dados por tipo de protocolo IP.


Machine Translated by Google

• Endereços de origem e destino. Divide os dados por endereço IP de origem e destino.

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.

Algumas dessas estatísticas são descritas em https://gitlab.com/wireshark/wireshark/wikis/Statistics Páginas.

Reproduzindo chamadas VoIP

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:

• Abra a janela Ajuda › Sobre o Wireshark

• Selecione a guia Plug -ins

• No menu Filtrar por tipo no canto superior direito, selecione codec


Machine Translated by Google

Figura 97. Lista de codecs suportados

Trabalhar com streams RTP - Playlist

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.

Fluxos duplicados não são inseridos novamente.

• botão Reproduzir transmissões › Remover da lista de reprodução remove as transmissões selecionadas na ferramenta de

lista de reprodução, se estiverem na lista de reprodução.

Figura 98. Botão [Play Streams] com menu de ação aberto

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

ser selecionadas com a pequena seta para baixo ao lado do botão.

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.

Figura 99. Ferramentas para modificar a playlist na janela RTP Player

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 .

Reproduzindo áudio durante a captura ao vivo

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.

A cópia é criada ou atualizada e a caixa de diálogo atualizada:

• Cada vez que a janela é aberta.

• Sempre que um novo fluxo é adicionado ou definido.

• Durante a captura ao vivo, quando [Atualizar fluxos] é pressionado.

• Toda vez que a captura ao vivo é finalizada/interrompida por um usuário.

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

[Atualizar fluxos] está desativado, pois é inútil.

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.

Configurações de decodificação RTP

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

não há sinalização relacionada.

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

para uso posterior.

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.

Desempenho de processamento de VoIP e limites relacionados

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

Janela de Chamadas VoIP

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

limitada apenas a mensagens SIP (telefonia › janela SIP Flows ).

Figura 100. Janela Chamadas VoIP

O usuário pode usar atalhos:

• Seleção

ÿ Ctrl + A - Selecione todos os fluxos

ÿ Ctrl + I - Inverter seleção

ÿ Ctrl + Shift + A - Selecione nenhum

ÿ 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).

Os controles disponíveis são:


Machine Translated by Google

• [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.

• [Copiar] copia as informações da tabela para a área de transferência em CSV ou YAML.

ANSI
Este menu mostra grupos de dados estatísticos para protocolos de comunicação móvel de acordo com os padrões ETSI GSM.

Janela de estatísticas AI/F BSMAP


A janela Estatísticas da Parte do Aplicativo de Gerenciamento da Estação Base da Interface A (BSMAP) mostra a lista de
mensagens e o número de mensagens capturadas. Existe a possibilidade de filtrar as mensagens, copiar ou salvar a data em
um arquivo.

Janela de estatísticas AI/F DTAP


A janela Estatísticas da Parte de Aplicativo de Transferência Direta da Interface A (DTAP) mostra a lista de mensagens e o
número de mensagens capturadas. Existe a possibilidade de filtrar as mensagens, copiar ou salvar a data em um arquivo.

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.

Janela de análise de fluxo IAX2


A janela “IAX2 Stream Analysis” mostra estatísticas para os fluxos direto e reverso de uma chamada IAX2 selecionada junto com
um gráfico.

Janela de Mensagens ISUP


O protocolo ISUP (Integrated Service User Part) fornece sinalização de voz e não voz para comunicações telefônicas. O menu
Mensagens ISUP abre a janela que mostra as estatísticas relacionadas. o
Machine Translated by Google

o usuário pode filtrar, copiar ou salvar os dados em um arquivo.

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.

Figura 101. A janela “LTE MAC Traffic Statistics”

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.

Janela de Gráfico LTE RLC

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

Figura 102. A janela RLC Graph

A imagem do RLC Graph é emprestada do Wireshark wiki.

Janela de Estatísticas de Tráfego LTE RLC

Estatísticas do tráfego LTE RLC capturado. Esta janela irá resumir o tráfego LTE RLC encontrado na captura.

Figura 103. A janela “LTE RLC Traffic Statistics”

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.

Este menu mostra as janelas MTP3 Statistics e MTP3 Summary.

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.

Figura 104. A janela “RTP Streams”

O usuário pode usar atalhos:

• Seleção

ÿ Ctrl + A - Selecione todos os fluxos

ÿ Ctrl + I - Inverter seleção

ÿ Ctrl + Shift + A - Selecione nenhum

ÿ Nota: clique comum do mouse , Shift + clique do mouse e Ctrl + clique do mouse também funcionam
Machine Translated by Google

• Encontrar reverso

ÿ R - Tente pesquisar fluxos reversos relacionados a fluxos já selecionados. Se encontrado, seleciona-os


na lista também.

ÿ [ Shift+R ] - Seleciona todos os pares de fluxos (relação direta/reversa).

ÿ [ Ctrl+R ] - Selecione todos os fluxos únicos (não existe fluxo reverso).

• G - Ir para o pacote de stream sob o cursor do mouse.

• M - Marca todos os pacotes dos streams selecionados.

• P - Prepare o filtro correspondente aos fluxos selecionados e aplique-o.

• E - Exportar streams selecionados no formato RTPDump.

• A - Abra a janela de análise de fluxo RTP e adicione os fluxos selecionados a ela.

Os controles disponíveis são:

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

• [ Prepare Filter ] prepara o filtro correspondente aos fluxos selecionados e o aplica.

• [ Play Streams ] abre a janela do RTP Player . As ações [Definir ], [Adicionar] e [Remover] estão disponíveis.

• [Copiar] copia as informações da tabela para a área de transferência em CSV ou YAML.

• [Exportar] exporta os fluxos selecionados no formato RTPDump.

Janela de Análise de Fluxo RTP


A função de análise RTP pega os fluxos RTP selecionados e gera uma lista de estatísticas nele, incluindo gráfico.

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

Figura 105. A janela “Análise de Fluxo RTP”

Figura 106. Erro indicado na janela “RTP Stream Analysis”

A estatística por pacote mostra:

• Número do pacote

• Número sequencial

• Delta (ms) para o último pacote

• Tremulação (ms)

• Inclinar

• largura de banda

• Marcador - o pacote é marcado no cabeçalho RTP

• Status - informações relacionadas ao pacote. Por exemplo. mudança de codec, número DTMF, aviso sobre

número de sequência incorreto.

O painel lateral à esquerda da lista de pacotes mostra as estatísticas do fluxo:

• Delta máximo e em qual pacote ocorreu


Machine Translated by Google

• Tremulação máxima

• Tremulação média

• Inclinação máxima

• Contagem de pacotes

• Contagem de pacotes perdidos - calculado a partir de números de sequência

• Quando o fluxo começa e o número do primeiro pacote

• 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

Os atalhos disponíveis são:

• G - Ir para o pacote de stream selecionado na lista de pacotes

• N - Mover para o próximo pacote com problema

Os controles disponíveis são:

• Preparar filtro

ÿ [Aba atual] prepara o filtro correspondente à aba atual e o aplica.

ÿ [Todas as guias] prepara o filtro correspondente a todas as guias e o aplica.

• [ 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).

Figura 107. Gráfico na janela “RTP Stream Analysis”


Machine Translated by Google

A exibição de gráfico mostra o gráfico de:

• tremor

• diferença - valor absoluto da diferença entre o tempo esperado e real de chegada do pacote

• delta - diferença de tempo desde a recepção do pacote anterior

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

X ] habilita ou desabilita todos os gráficos para 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.

Janela do Leitor RTP


A função RTP Player é uma ferramenta para reproduzir chamadas VoIP. Ele mostra fluxos RTP e suas formas de onda, permite reproduzir fluxo e

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á

adicionado à lista de reprodução.

Figura 108. Janela do RTP Player

A Janela do Leitor RTP é composta por três partes:

1. Visualização da forma de onda

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.

Figura 109. Forma de onda com marcas de erro

A lista de reprodução mostra informações sobre cada transmissão:

• Reproduzir - roteamento de áudio

• Endereço de Origem, Porta de Origem, Endereço de Destino, Porta de Destino, SSRC

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

• Pacotes - Contagem de pacotes no fluxo.

• Intervalo de tempo - Início - Parada (Duração) do fluxo

• SR - Taxa de amostragem do codec usado

• PR - Taxa de reprodução decodificada usada para transmissão de reprodução

• Payloads - Um ou mais tipos de payload usados pelo stream


Machine Translated by Google

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.

Os controles permitem que um usuário:

• [Iniciar ]/[ Pausar ]/[ Parar] reprodução de fluxos sem som

• [ >> ] habilitando/desabilitando o salto de silêncio

ÿ Silêncio mínimo - Duração mínima do silêncio para pular em segundos. O silêncio mais curto é tocado como está.

• Selecione [Dispositivo de saída de áudio] e [Taxa de saída de áudio]

• Selecione [Tempo de reprodução]

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

• [ Prepare Filter ] prepare o filtro correspondente aos fluxos selecionados e aplique-o.

• [ Exportar ] - Consulte Exportar.

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

Figura 110. Indicação do estado do fluxo RTP

A exibição de forma de onda e a lista de reprodução mostram o estado de um fluxo RTP:

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)

2. fluxo é selecionado (forma de onda azul, linha azul)

3. o fluxo está abaixo do cursor do mouse (forma de onda em negrito, fonte em negrito)

O usuário pode controlar para onde o áudio de um stream é roteado:

• L - canal esquerdo

• L+R - canal esquerdo e direito (meio)

• R - canal esquerdo

• P - Play (somente quando a placa de som mono estiver disponível)

• M - Mudo

O roteamento de áudio pode ser alterado clicando duas vezes na primeira coluna de uma linha, por atalho ou por menu.

O usuário pode usar atalhos:

• Seleção

ÿ Ctrl + A - Selecione todos os fluxos

ÿ Ctrl + I - Inverter seleção

ÿ Ctrl + Shift + A - Selecione nenhum

ÿ Nota: clique comum do mouse , Shift + clique do mouse e Ctrl + clique do mouse também funcionam

• Ir para o pacote

ÿ G - Ir para o pacote de stream sob o cursor do mouse


Machine Translated by Google

ÿ Shift + G - Vá para configurar o pacote de fluxo sob o cursor do mouse

• Roteamento de áudio

ÿ M - Mute todos os fluxos selecionados

ÿ Shift + M - Ative o som de todos os fluxos selecionados

ÿ Ctrl + M - Inverte o silenciamento de todos os fluxos selecionados

• P - Reproduzir áudio

• S - Parar de jogar

• Del ou Ctrl + X - Remova todos os streams selecionados da lista de reprodução

• Vapores inaudíveis

ÿ N - Selecione todos os fluxos inaudíveis

ÿ Shift + N - Desmarque todos os fluxos 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

suportava apenas a exportação de áudio usando o codec G.711.

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.

Opções de exportação disponíveis:

• para um ou mais streams sem som selecionados

ÿ 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

não há silêncio no início do arquivo exportado.

ÿ Arquivo de áudio sincronizado - os fluxos começam no início do arquivo, portanto, o silêncio pode ocorrer no início
de arquivo.

• para apenas um stream selecionado

ÿ Payload - apenas o payload sem informações sobre o codificado é armazenado no 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.

Figura 111. Janela SCTP Analyze Association

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

Figura 112. Janela Associações SCTP

Janela de Operações SMPP


O protocolo Short Message Peer-to-Peer (SMPP) usa o protocolo TCP como sua transferência para troca de
mensagens Short Message Service (SMS), principalmente entre Short Message Service Centers (SMSC). O
dissector determina se o pacote capturado é SMPP ou não usando a heurística no cabeçalho fixo. A janela
Operações SMPP exibe os dados estatísticos relacionados. O usuário pode filtrar, copiar ou salvar os dados em um
arquivo.

Janela de Mensagens UCP


O Universal Computer Protocol (UCP) desempenha um papel na transferência de Short Messages entre um Short
Message Service Center (SMSC) e um aplicativo, que está usando o protocolo de transporte, como TCP ou X.25. A
janela Mensagens UCP exibe os dados estatísticos relacionados. O usuário pode filtrar, copiar ou salvar os dados
em um arquivo.

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.

Janela Fluxos SIP


A janela Session Initiation Protocol (SIP) Flows mostra a lista de todas as transações SIP capturadas, como registros
de clientes, mensagens, chamadas e assim por diante.

Esta janela listará as transações SIP completas e em andamento.


Machine Translated by Google

A janela tem os mesmos recursos da janela Chamadas VoIP .

Janela de estatísticas SIP


A janela SIP Statistics mostra as transações SIP capturadas. É dividido em respostas SIP e solicitações SIP. Nesta janela o
usuário pode filtrar, copiar ou salvar as estatísticas em um arquivo.

Janela do Contador de Pacotes WAP-WSP


O menu Contador de pacotes WAP-WSP exibe o número de pacotes para cada Código de status e Tipo de PDU no tráfego do
Protocolo de sessão sem fio. O usuário pode filtrar, copiar ou salvar os dados em um arquivo.
Machine Translated by Google

Sem fio
Introdução

O menu Sem fio fornece acesso a estatísticas relacionadas ao tráfego sem fio.

Atributos do Servidor Bluetooth ATT

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 .

Handle é um atributo exclusivo específico do dispositivo.

UUID é um valor que define um tipo de atributo.

UUID Name é um nome especificado para o pacote capturado.

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.

Figura 113. Janela Dispositivos Bluetooth

Resumo HCI Bluetooth


A janela Bluetooth HCI Summary exibe o resumo dos pacotes da camada Host Controller Interface (HCI) capturados.
Esta janela permite aos usuários aplicar filtros e optar por exibir informações sobre interfaces ou dispositivos
específicos.
Machine Translated by Google

Figura 114. Janela Resumo do Bluetooth HCI

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.

Figura 115. A janela “WLAN Traffic Statistics”

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

enquanto) estiver fazendo uma captura ao vivo.


Machine Translated by Google

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:

• Como iniciar o Wireshark com parâmetros de linha de comando

• Como colorir a lista de pacotes

• Como controlar a dissecação do protocolo

• Como usar as várias configurações de preferência

Inicie o Wireshark a partir da linha de comando

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.

Informações de ajuda disponíveis no Wireshark

Wireshark 4.1.0 (v4.1.0rc0-428-g517d2be1494f)


Despeje e analise interativamente o tráfego de rede.
Consulte https://www.wireshark.org para obter mais informações.

Uso: wireshark [opções] ... [ <infile> ]

Interface de captura: -i
<interface>, --interface <interface>
ÿ

nome ou idx da interface (def: primeiro não-loopback) filtro de pacote na


-f <filtro de captura> -s sintaxe do filtro libpcap
<snaplen>, --snapshot-length <snaplen>
ÿ

tamanho do instantâneo do pacote (def: máximo apropriado) -p, --no-


promiscuous-mode não captura em modo promíscuo iniciar a captura imediatamente (def: não fazer nada)
ÿ

atualizar a exibição do pacote quando novos pacotes forem capturados


-k ativar a rolagem automática enquanto -S está em uso -l
-S

-I, --monitor-mode captura no modo monitor, se disponível


-B <tamanho do buffer>, --buffer-size <tamanho do buffer> tamanho
ÿ

do buffer do kernel (def: 2 MB)


Machine Translated by Google

-y <tipo de link>, --linktype <tipo de link>


ÿ

tipo de camada de link (def: primeiro apropriado) --time-stamp-type

<tipo> método de carimbo de data/hora para interface


-D, --list-interfaces imprime a lista de interfaces e sai

-L, --list-data-link-types imprime lista de tipos de


ÿ

camada de link de iface e exit --list-time-stamp-types imprime lista de tipos de timestamp

para iface e exit

Condições de parada de captura: -c

<contagem de pacotes> -a <autostop parar após n pacotes (def: infinito)

cond.> ..., --autostop <autostop cond.> ...


ÿ

duração:NUM - parar após NUM segundos tamanho do


ÿ

arquivo:NUM - parar este arquivo após NUM KB arquivos:NUM - parar


ÿ

após NUM pacotes de arquivos:NUM - parar após NUM pacotes


ÿ

Saída de captura: -b

<ringbuffer opt.> ..., --ring-buffer <ringbuffer opt.>


ÿ

duração:NUM - alterna para o próximo arquivo após NUM segundos tamanho do

arquivo:NUM - alterna para o próximo arquivo após NUM KB

arquivos:NUM - ringbuffer: substituir após NUM arquivos pacotes:NUM - alternar


ÿ

para o próximo arquivo após NUM pacotes intervalo:NUM - alternar para o próximo arquivo
ÿ

quando chegar a hora

um múltiplo exato de NUM segundos

Arquivo de entrada:
-r <infile>, --read-file <infile> define o nome do arquivo para
ÿ

leitura (sem pipes ou stdin!)

Em processamento:

-R <filtro de leitura>, --read-filter <filtro de leitura>


ÿ

filtro de pacotes no Wireshark exibir a sintaxe do filtro desativar todas as resoluções


-n de nome (def: todos ativados)

-N <sinalizadores de resolução de nome> ativam resolução(ões) de nome específica(s): "mnNtdv" -d

<layer_type>==<seletor>,<decode_as_protocol> ...
ÿ

"Decodificar como", consulte a página do manual para obter detalhes


ÿ

Exemplo: tcp.port==8888,http

--enable-protocol <proto_name>
ÿ

ativar a dissecação de proto_name

--disable-protocol <proto_name>
ÿ

desativar a dissecação de proto_name

--enable-heuristic <short_name>
ÿ

ativar a dissecação do protocolo heurístico

--disable-heuristic <short_name>
ÿ

desativar a dissecação do protocolo heurístico

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

-Y <filtro de exibição>, --display-filter <filtro de exibição>


Machine Translated by Google

comece com o filtro de exibição fornecido vá para


-g <número do pacote> o número do pacote especificado após "-r" pule para o
-J <filtro de salto> primeiro pacote correspondente ao filtro (exibição) procure um
ÿ

pacote correspondente após "-J"


-j -ta|
ad|adoy|d|dd|e|r|u|ud|udoy
ÿ

formato de carimbos de hora (def: r: rel. para o primeiro) formato


-us|hms de saída de segundos (def: s: segundos) opções de eXtension,
-X <chave>:<valor> -z consulte a página de manual para obter detalhes mostre várias
<estatística> estatísticas, consulte a página de manual para obter detalhes

Saída:
-w <arquivo de saída|- defina o nome do arquivo de saída (ou '-' para stdout)
> --capture-comment <comentário>
ÿ

adicione um comentário do arquivo de captura, se


suportado --temp-dir <diretório> grava arquivos temporários neste diretó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)
ÿ

--log-debug <[!]lista> --log-noisy


<[!]lista> --log-file <caminho>

Diversos: -h, --help


-v, --version exibir esta ajuda e sair exibir
informações da versão e sair persconf:path
-P <chave>:<caminho> - arquivos de configuração pessoal persdata:path - arquivos
ÿ

de dados pessoais substituem preferência ou configuração


-o <nome>:<valor> ... recente arquivo keytab para usar para descriptografia Kerberos
-K <keytab> --
display <exibição X> --tela cheia Exibição X para iniciar
o Wireshark em tela cheia

Examinaremos cada uma das opções de linha de comando por vez.

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

-a <condição de parada automática de captura>

--autostop <captura condição de parada automática>

Especifique um critério que especifica quando o Wireshark deve parar de gravar em um arquivo de captura. o
Machine Translated by Google

critério é da forma teste:valor, onde teste é um dos seguintes:

duração: valor

Pare de gravar em um arquivo de captura após o valor de segundos ter decorrido.

tamanho do arquivo: 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.

-b <opção de buffer de anel de captura>

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.

tamanho do arquivo: valor

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

captura> --buffer-size <tamanho do buffer de captura>

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.

-C <config profile> Inicia

com o perfil de configuração especificado.

-c <contagem de pacotes de captura>

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>

Adicione a string de comentário ao arquivo de captura, se suportado pelo formato de arquivo.

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

Defina a exibição X a ser usada, em vez da definida no ambiente ou a exibição padrão.

--enable-protocol <proto_name>

--disable-protocol <proto_name>

Ative e desative a dissecação do protocolo.


Machine Translated by Google

--enable-heuristic <short_name>

--disable-heuristic <short_name>

Ative e desative a dissecação do protocolo heurístico.

-f <filtro de captura>

Esta opção define a expressão de filtro de captura inicial a ser usada ao capturar pacotes.

--tela cheia

Inicie o Wireshark em 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

Oculte a caixa de diálogo de informações de captura durante a captura de pacotes ao vivo.

-i <interface de captura> --

interface <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

Capture pacotes sem fio no modo monitor, se disponível.

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

Use o arquivo especificado para descriptografia Kerberos.

-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

Liste os tipos de link de dados suportados pela interface e saia.

--list-time-stamp-types Lista

os tipos de timestamp configuráveis para a interface e saída.

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

-N <sinalizadores de resolução de nomes>

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:

Use o resolvedor de nomes externo.

Habilite a resolução de nomes de pacotes DNS capturados.

Habilite a resolução de endereço MAC.


Machine Translated by Google

Ative a resolução de endereço de rede.

Habilite a resolução do número da porta da camada de transporte.

Ative a resolução de ID de VLAN.

-o <preferência ou configurações recentes>

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.

Um exemplo de configuração de uma única preferência seria:

wireshark -o mgcp.display_dissect_tree:TRUE

Um exemplo de configuração de múltiplas preferências seria:

wireshark -o mgcp.display_dissect_tree:TRUE -o mgcp.udp.callagent_port:2627

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:

wireshark -o "uat:user_dlts:\"Usuário 0 (DLT=147)\",\"http\",\"0\",\"\",\"0\",\"\""

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.

O critério tem o formato chave:caminho, onde a chave é uma das seguintes:

persconf:caminho

Caminho dos arquivos de configuração pessoal, como os arquivos de preferências.

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.

-R <filtro de leitura (exibição)>

--read-filter <filtro de leitura (exibição)>

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.

-s <tamanho da captura instantânea>

--snapshot-length <tamanho da captura instantânea>

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

-t <formato do carimbo de data/hora>

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.

Delta, que especifica que os timestamps são relativos ao pacote anterior.

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.

-y <tipo de link de captura>

--link-type <tipos de captura semelhantes>

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>

--display-filter <filtro de exibição>

Comece com o filtro de exibição fornecido.

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

Figura 116. A 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.

A primeira partida ganha

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

Figura 117. Um seletor de cores

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

Figura 118. Usando filtros de cor com Wireshark

dissecação do protocolo de controle

O usuário pode controlar como os protocolos são dissecados.

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 habilitados"

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

A desativação de um protocolo impedirá a exibição de informações sobre protocolos de camada superior.


Por exemplo, suponha que você desativou o protocolo IP e selecionou um pacote contendo informações
NOTA de Ethernet, IP, TCP e HTTP. As informações de Ethernet seriam exibidas, mas as informações de IP,
TCP e HTTP não - desabilitar o IP impediria que ele e os protocolos de camada superior fossem exibidos.

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

Figura 119. A caixa de diálogo “Protocolos habilitados”

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.

Você pode escolher entre as seguintes ações:

[ Habilitar todos ]

Habilite todos os protocolos na lista.

[Desativar tudo]

Desabilite todos os protocolos na lista.

[Inverter]

Alterna o estado de todos os protocolos na lista.

[ 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]

Cancele as alterações e feche a caixa de diálogo.

Decodificações especificadas pelo usuário

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

Figura 120. A 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.

[+]

Adicionar nova entrada para o pacote selecionado

[-]

Remova a entrada selecionada.


Machine Translated by Google

[ Cópia de ]

Copie a entrada selecionada.

[ Claro ]

Limpa a lista de decodificações especificadas pelo usuário.

[ OK ]

Aplique as decodificações especificadas pelo usuário e feche a caixa de diálogo.

[ Salve ÿ ]

Salve e aplique as decodificações especificadas pelo usuário e feche a caixa de diálogo.

[Cancelar]

Cancele as alterações e feche a caixa de diálogo.

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 [OK] aplicará as configurações de preferências e fechará a caixa de diálogo.

• O botão [Cancelar] restaurará todas as configurações de preferências para o último estado salvo.

Figura 121. A caixa de diálogo de preferências


Machine Translated by Google

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.

O painel “Avançado” permitirá visualizar e editar todas as preferências do Wireshark, semelhante a


about:config e cromo:bandeiras nos navegadores Firefox e Chrome.

Figura 122. Preferências avançadas

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:

$ wireshark -o "gui.prepend_window_title:Rede interna" & $


wireshark -o "gui.prepend_window_title:Rede externa" &

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

Os arquivos de configuração armazenados em cada perfil incluem:

• Preferências (preferências) (Preferências)


Machine Translated by Google

• Filtros de Captura (cfilters) (Definindo e Salvando Filtros)

• Filtros de exibição (dfilters) (definindo e salvando filtros)

• Regras de coloração (filtros de cores) (colorização de pacotes)

• Protocolos desativados (disabled_protos) (a caixa de diálogo “Protocolos ativados”)

• Tabelas acessíveis ao usuário:

ÿ Cabeçalhos HTTP personalizados (custom_http_header_fields)

ÿ Cabeçalhos IMF personalizados (imf_header_fields)

ÿ Tipos AttributeValue LDAP personalizados (custom_ldap_attribute_types)

ÿ Exibir Macros de Filtro (dfilter_macros) (Exibir Macros de Filtro)

ÿ Atributos de categoria ESS (ess_category_attributes) (Atributos de categoria ESS)

ÿ Caminhos do Banco de Dados MaxMind (maxmind_db_paths) (Caminhos do Banco de Dados MaxMind)

ÿ Protocolos K12 (k12_protos) (Tabela de protocolos Tektronix K12xx/15 RF5)

ÿ Nomes de identificadores de objetos e sintaxes associadas (identificadores de objetos)

ÿ Lista de Contexto de Usuários PRES (pres_context_list) (Lista de Contexto de Usuários PRES)

ÿ Tabela de usuários SCCP (sccp_users) (Tabela de usuários SCCP)

ÿ SNMP Enterprise Specific Trap Types (snmp_specific_traps) (SNMP Enterprise Specific Trap
Tipos)

ÿ Usuários SNMP (snmp_users) (Tabela de usuários SNMP)

ÿ Tabela de DLTs do usuário (user_dlts) (tabela de protocolo DLTs do usuário)

ÿ Tabela de descriptografia IKEv2 (ikev2_decryption_table) (tabela de descriptografia IKEv2)

ÿ Caminhos de pesquisa do Protobuf (protobuf_search_paths) (Caminhos de pesquisa do Protobuf)

ÿ Tipos de mensagem Protobuf UDP (protobuf_udp_message_types) (tipos de mensagem Protobuf UDP)

• 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

Figura 123. A caixa de diálogo dos perfis de configuração

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"

• Perfis pessoais - são perfis armazenados no diretório de configuração do usuário

• Perfis globais - estes são perfis fornecidos com o Wireshark

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 ]

Mostrar esta página de 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.

Exibir macros de filtro


Display Filter Macros são um mecanismo para criar atalhos para filtros complexos. Por exemplo, definir uma macro de filtro de
exibição chamada tcp_conv cujo texto é

(ip.src == $1 e ip.dst == $2 e tcp.srcport == $3 e tcp.dstport == $4) ou (ip.src ==


$2 e ip.dst == $1 e tcp.srcport == $4 e tcp.dstport == $3)

permitiria usar um filtro de exibição como

${tcp_conv:10.1.1.2;10.1.1.3;1200;1400}

em vez de digitar o filtro inteiro.

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.

Atributos da categoria ESS


O Wireshark usa esta tabela para mapear atributos de categoria de segurança ESS para representações textuais. Os valores a
colocar nesta tabela encontram-se normalmente num XML SPIF, que é usado para definir a segurança
Machine Translated by Google

rótulos.

Esta tabela é uma tabela de usuários, conforme descrito em Tabela de Usuários, com os seguintes campos:

Conjunto de tags

Um identificador de objeto que representa o conjunto de tags de categoria.

Valor

O valor (Label And Cert Value) que representa a categoria.

Nome

A representação textual para o valor.

Caminhos do banco de dados MaxMind

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:

Nome do caminho do banco de dados

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.

Tabela de descriptografia IKEv2

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

Algoritmo de criptografia do IKE_SA.

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

Algoritmo de integridade do IKE_SA.

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

A representação de string do identificador de objeto, por exemplo, “2.5.4.6”.

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”).

Lista de Contexto de Usuários PRES

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.

Sintaxe Nome OID

O identificador de objeto que representa o nome da sintaxe abstrata, que define o protocolo que é transportado nessa associação.

Tabela de usuários SCCP

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

Um Integer representando o indicador de rede para o qual esta associação é válida.

DPCs chamados

Um intervalo de inteiros representando os dpcs para os quais esta associação é válida.

SSNs chamados

Um intervalo de inteiros representando os ssns para os quais esta associação é válida.


Machine Translated by Google

Protocolo do usuário

O protocolo que é transportado nesta associação

Módulos SMI (MIB e PIB)

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

O nome do módulo, por exemplo, IF-MIB.

Caminhos SMI (MIB e PIB)

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.

Tipos de interceptação específicos do SNMP Enterprise

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

O identificador de objeto que representa o objeto que gera a interceptação.

ID da armadilha

Um Integer que representa o código de trap específico.

Descrição A

descrição a ser exibida nos detalhes do pacote.

Tabela de usuários SNMP

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

string hexadecimal no formato 0102030405.

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

Qual modelo de autenticação usar (ou “MD5” ou “SHA1”).

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

privacidade Qual algoritmo de criptografia usar (seja “DES” ou “AES”).

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.

Tabela de protocolos Tektronix K12xx/15 RF5


O formato de arquivo Tektronix K12xx/15 rf5 usa arquivos auxiliares (*.stk) para identificar os vários protocolos usados por uma
determinada interface. O Wireshark não lê esses arquivos stk, ele usa uma tabela que o ajuda a identificar qual protocolo de camada
mais baixa usar.

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

Tabela de protocolo DLTs do usuário

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

Um dos dlts do usuário.

Protocolo de carga útil

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

O nome do protocolo de cabeçalho a ser usado (usa “dados” como padrão).

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 nome do protocolo trailer a ser usado (usa “dados” como padrão).

Caminhos de pesquisa do Protobuf

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

Protobuf diretório de origem

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

Carregar todos os arquivos

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.

Tipos de mensagem UDP Protobuf


Se a carga útil do UDP em determinadas portas for codificação Protobuf, o Wireshark usará esta tabela para saber qual tipo de
mensagem Protobuf deve ser usado para analisar os dados na(s) porta(s) UDP especificada(s).

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

O intervalo de portas UDP. O formato pode ser "8000" ou "8000,8008-8088,9080".

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:

mensagem, helloworld. HelloRequest

o helloworld é o nome do pacote, HelloRequest é o tipo de mensagem.


Machine Translated by Google

AMIGO

Introdução

MATE: metaanálise e mecanismo de rastreamento

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.

Até agora, o MATE tem sido usado para:

• 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)

• Encontrar transações incompletas (sem respostas)

• Siga as solicitações por meio de mais gateways/proxies.

• 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

seu disco rígido.

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

Pares de valor de atributo

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.

Os operadores de correspondência AVP do MATE atualmente definidos sã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

Alguns exemplos de AVPL:

( addr=10.20.30.40, addr=192.168.0.1, tcp_port=21, tcp_port=32534, user_cmd=PORT,


data_port=12344, data_addr=192.168.0.1 ) ( addr=10.20.30.40, addr=192.168.0.1,
channel_id= 22:23, message_type=Setup, call_number=1244556673 ) ( addr=10.20.30.40,
addr=192.168.0.1, ses_id=01:23:45:67:89:ab:cd:ef ) ( user_id=pippo, call_number=
1244556673, ip_atribuído=10.23.22.123 )

No MATE existem dois tipos de AVPLs:

• AVPLs de dados que contêm informações extraídas de quadros.

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

extração de dados PDU

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

das instruções de Transporte e Carga fornecidas.

Pdu dns_pdu Proto dns Transport ip


{ Extract addr From ip.addr; Extraia
dns_id de dns.id; Extrair dns_resp De
dns.flags.response; };

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

vários transportes atribuídos.

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.

Pdu mmse_over_http_pdu Proto http Transporte tcp/ip {

Carga útil mmse;

Extraia o endereço de ip.addr; Extrair porta De tcp.port; Método de extração De http.request.method;

Extrair conteúdo de http.content_type; Extraia http_rq De http.request; Extrair resp De

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

mmse.status; Extrair send_status De mmse.response_status;

};
Machine Translated by Google

Condições nas quais criar PDUs

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.

Pdu isup_pdu Proto isup Transporte mtp3/ip {


...

// MATE criará PDUs isup_pdu somente quando não houver um código de ponto '1234'
Critérios de Rejeição Estrita (m3pc=1234); };

Pdu ftp_pdu Proto ftp Transporte tcp/ip {


...

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

Transformando os atributos de uma PDU

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.

árvore PDU do MATE

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

mate dns_pdu:1 dns_pdu: 1 dns_pdu tempo: 3.750000

dns_pdu Atributos dns_resp: 0 dns_id: 36012 addr:

10.194.4.11

ÿ
endereço: 10.194.24.35

A árvore do Pdu contém alguns campos filtráveis

• mate.dns_pdu conterá o número do Pdu "dns_pdu"

• mate.dns_pdu.RelativeTime conterá o tempo passado desde o início da captura em


segundos

• 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

Agrupando Pdus (Gop)

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

O que pode pertencer a um Gop

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.

Gop ftp_ses On ftp_pdu Match (addr, addr, porta, porta);


Gop dns_req Em dns_pdu Match (addr, addr, dns_id);
Gop isup_leg On isup_pdu Match (m3pc, m3pc, cic);

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

Gop ftp_ses On ftp_pdu Match (addr, addr, porta, porta) {


Iniciar (ftp_cmd=USER); };

Gop dns_req On dns_pdu Match (addr, addr, dns_id) {


Iniciar (dns_resp=0); };

Gop isup_leg On isup_pdu Match (m3pc, m3pc, cic) {


Iniciar (isup_msg=1); };

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.

O que entra no AVPL do 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 .

Gop ftp_ses On ftp_pdu Match (addr, addr, porta, porta) {


Iniciar (ftp_cmd=USER);
Extra (pasv_prt, pasv_addr); };

Gop isup_leg On isup_pdu Match (m3pc, m3pc, cic) {


Iniciar (isup_msg=1);
Extra (chamando, chamado); };

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

Gop ftp_ses On ftp_pdu Match (addr, addr, porta, porta) {


Iniciar (ftp_cmd=USER);
Parar (ftp_cmd=SAIR); // A resposta ao comando QUIT será atribuída ao mesmo Gop

Extra (pasv_prt, pasv_addr); };

Gop dns_req On dns_pdu Match (addr, addr, dns_id) {


Iniciar (dns_resp=0);
Parar (dns_resp=1); };

Gop isup_leg On isup_pdu Match (m3pc, m3pc, cic) {


Iniciar (isup_msg=1); // EU SOU
Parar (isup_msg=16); // RLC
Extra (chamando, chamado); };

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.

O exemplo abaixo representa a árvore criada pelos exemplos dns_pdu e dns_req .


Machine Translated by Google

...

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

Atributos dns_id: 36012 endereço: 10.194.4.11 endereço: 10.194.24.35

dns_req Horas dns_req hora de início: 0,000000 dns_req tempo de

espera: 2,103063 dns_req duração: 2,103063

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

dns_id: 36012 endereço: 10.194.4.11 endereço: 10.194.24.35

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.

• mate.dns_req.dns_id e mate.dns_req.addr que representam os valores dos atributos copiados


no Gop.

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

• mate.dns_req.NumOfPdus o número de Pdus que pertencem a este Gop

ÿ uma lista filtrável de números de quadro dos pdus deste Gop


Machine Translated by Google

cronômetros de Gop

Observe que há dois "temporizadores" para um 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 )

Agrupando Gops (Gog)

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

Declarando um grupo de grupos

A primeira coisa que temos que fazer ao configurar um Gog é dizer ao MATE que ele existe.

Gog web_use {
...
};

Dizendo ao MATE o que poderia ser um membro do Gog

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); };

Obtendo dados interessantes no Gop

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:

1) .. http_req do quadro atual: 2

Podemos filtrar:

• mate.http_use.Duration tempo decorrido entre o primeiro quadro de um Gog e o último


atribuído a ele.

• os atributos passados para o Gog

ÿ 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

As Transformações AVPL são declaradas da seguinte maneira:

Nome da transformação {

Corresponder [Strict|Every|Loose] match_avpl [Inserir|Substituir] modify_avpl ;

...

};

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); };

adiciona name=JohnDoe aos dados AVPL se contiver host=10.10.10.10 e porta=2345

Transform insert_name_or
{ Match Loose (host=10.10.10.10, porta=2345) Insert (name=JohnDoe); };

adiciona name=JohnDoe aos dados AVPL se contiver host=10.10.10.10 ou porta=2345

Transform replace_ip_address
{ Match (host=10.10.10.10) Substituir (host=192.168.10.10); };

substitui o host original=10.10.10.10 por host=192.168.10.10

Transform add_ip_address
{ Match (host=10.10.10.10) (host=192.168.10.10); };

adiciona (insere) host=192.168.10.10 ao AVPL, mantendo o host original=10.10.10.10 nele também


Machine Translated by Google

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:

Pdu my_proto_pdu Proto my_proto Transport ip


{ Extract addr From ip.addr;
...
Transform my_pdu_transform[, other_pdu_transform[, yet_another_pdu_transform]]; };

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

Múltiplas condições de início/parada para um Gop

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); };

pdu pdu ... {


...
Transformar start_cond; }

Gop gop ...


{ Start (msg_type=start);
Parar (msg_type=parar);
...
}

Marcando Gops e Gogs para filtrá-los facilmente

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); }

...

Gop my_gop ... {


...
Marcas de transformação; }
Machine Translated by Google

Depois disso, podemos usar um filtro de exibição mate.gop.john_at_host ou mate.gop.tom_at_host

Adicionando conhecimento de direção ao MATE

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); };

Pdu my_pdu Proto my_proto Transport tcp/ip


{ Extract src From ip.src; Extrair dst De ip.dst;
Extraia o endereço de ip.addr; Extrair porta De
tcp.port; Extrair início de tcp.flags.syn; Extrair
parada De tcp.flags.fin; Extrair parada de
tcp.flags.rst; Transformar direção_como_texto; }

Gop my_gop Em my_pdu Match (addr,addr,port,port) {


...
Extra (direção); }

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); }

Pdu my_pdu Proto my_proto transport tcp/ip/eth


{ Extract ether From eth.addr; Extraia o endereço de
ip.addr; Extrair porta De tcp.port; Transformar denat; }
Machine Translated by Google

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.

Tutorial de configuração do MATE


Mostraremos uma configuração MATE que primeiro cria Gops para cada solicitação de DNS e HTTP e, em seguida, une os
Gops em um Gop baseado no host. Por fim, vamos separar em diferentes solicitações do Gogs provenientes de diferentes
usuários.

Com esta configuração do MATE carregada podemos:

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

O arquivo de configuração completo está disponível no Wireshark Wiki : https://gitlab.com/wireshark/wireshark/-/wikis/Mate/


Tutorial

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.

Um Gop para solicitações de DNS

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:

Pdu dns_pdu Proto dns Transport ip


{ Extract addr From ip.addr; Extraia
dns_id de dns.id; Extrair dns_resp De
dns.flags.response; };

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.

Gop dns_req On dns_pdu Match (addr,addr,dns_id) {


Iniciar (dns_resp=0);
Parar (dns_resp=1); };

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.

Um Gop para solicitações HTTP

Este outro exemplo cria um Gop para cada solicitação HTTP.

Pdu http_pdu Proto http Transporte tcp/ip { Extract


addr From ip.addr; Extrair porta De tcp.port; Extraia
http_rq De http.request.method; Extrair http_rs De
http.response; DiscardPduData verdadeiro; };

Gop http_req On http_pdu Correspondência (addr, addr, porta, porta) {


Iniciar (http_rq);
Pare (http_rs); };

Então, se abrirmos uma captura usando esta configuração

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

Reunindo DNS e HTTP em um Gog


Vamos amarrar em um único Gog todos os pacotes http pertencentes a requisições e respostas a um determinado host e a
requisição e resposta dns usadas para resolver seu nome de domínio usando o Pdu e
Definições de Gop dos exemplos anteriores

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

Separando solicitações de vários usuários


"Houston: tivemos um problema aqui."

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.

Então, primeiro dizemos ao MATE para importar ip.src como cliente:

Extraia o cliente de ip.src;

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:

Extraia o cliente de ip.src;


Transformar rm_client_from_http_resp1, rm_client_from_http_resp2;

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:

Extra (host, cliente);

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

Membro http_req (host, cliente);


Membro dns_req (host, cliente);

Agora que entendemos, cada "uso" recebe seu próprio Gog.

Exemplos de configuração MATE


A seguir está uma coleção de vários exemplos de configuração para o MATE. Muitos deles são inúteis porque o recurso de
"conversas" faz um trabalho melhor. De qualquer forma, eles são destinados a ajudar os usuários a entender como configurar o
MATE.

sessão TCP

O exemplo a seguir cria um GoP de cada sessão TCP.

Pdu tcp_pdu Proto tcp Transport ip


{ Extract addr From ip.addr; Extrair porta
De tcp.port; Extrair tcp_start De
tcp.flags.syn; Extrair tcp_stop De tcp.flags.reset;
Extrair tcp_stop De tcp.flags.fin; };

Gop tcp_ses On tcp_pdu Match (addr, addr, porta, porta) {


Iniciar (tcp_start=1);
Parar (tcp_stop=1); };

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

um Gog para uma sessão FTP completa

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

ftp_port De tcp.port; Extrair ftp_resp De ftp.response.code;

Extrair ftp_req De ftp.request.command; Extraia server_addr de

ftp.passive.ip; Extraia server_port De ftp.passive.port;

LastPdu;

};

Pdu ftp_data_pdu Proto ftp-data Transport tcp/ip{ Extract server_addr From ip.src; Extraia

server_port De tcp.srcport;

};

Gop ftp_data On ftp_data_pdu (server_addr, server_port) {

Iniciar (server_addr);

};

Gop ftp_ctl On ftp_pdu (ftp_addr, ftp_addr, ftp_port, ftp_port) {

Iniciar (ftp_resp=220);

Parar (ftp_resp=221);

Extra (server_addr, server_port);

};

Gog ftp_ses {
ÿ

Membro ftp_ctl (ftp_addr, ftp_addr, ftp_port, ftp_port);

Membro ftp_data (server_addr, server_port);

};

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.

usando RADIUS para filtrar o tráfego SMTP de um usuário específico

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

Pdu radius_pdu On radius Transporte udp/ip


{ Extract addr From ip.addr; Extrair porta De
udp.port; Extrair radius_id De radius.id; Extrair
radius_code De radius.code; Extrair user_ip De
radius.framed_addr; Extrair nome de usuário de
radius.username; }

Gop radius_req On radius_pdu (radius_id, addr, addr, port, port) {


Início (radius_code {1|4|7} );
Stop (radius_code {2|3|5|8|9} );
Extra (user_ip, nome de usuário); }

// definimos o tráfego smtp que queremos filtrar Pdu


user_smtp Proto smtp Transport tcp/ip { Extract user_ip
From ip.addr; Extrair smtp_port De tcp.port; Extrair
tcp_start De tcp.flags.syn; Extrair tcp_stop De
tcp.flags.reset; }

Gop user_smtp_ses On user_smtp (user_ip, user_ip, smtp_port!25) { Iniciar


(tcp_start=1); Parar (tcp_stop=1); }

// 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;

Filtrar o arquivo de captura com mate.user_mail.username == "theuser" filtrará os pacotes radius e


tráfego SMTP para "theuser".

Chamadas H323

Essa configuração criará um Gog de cada chamada.


Machine Translated by Google

Pdu q931 Proto q931 IP de transporte { Extract addr From ip.addr; Extrair

call_ref De q931.call_ref; Extrair q931_msg De

q931.message_type; Extrair chamadas de q931.calling_party_number.digits;

Extrato chamado De q931.called_party_number.digits; Extrair guid De h225.guid;

Extrair q931_cause De q931.cause_value;

};

Gop q931_leg On q931 Match (addr, addr, call_ref) {

Iniciar (q931_msg=5);

Parar (q931_msg=90);

Extra (chamando, chamado, guid, q931_cause);

};

Pdu ras Proto h225.RasMessage Transport ip { Extract addr From ip.addr; Extrair ras_sn de

h225.requestSeqNum; Extraia ras_msg de h225.RasMessage; Extrair guid

De h225.guid;

};

Gop ras_req On ras Match (addr, addr, ras_sn) {

Iniciar (ras_msg {0|3|6|9|12|15|18|21|26|30} );

Parar (ras_msg {1|2|4|5|7|8|10|11|13|14|16|17|19|20|22|24|27|28|29|31});

Extra (guia);

};

Gog chamada {

Membro ras_req (guid);

Membro q931_leg (guid);

Extra (chamado,chamando,q931_cause);

};

Feito;

com isso podemos:

• filtrar toda a sinalização para um chamador específico: mate.call.caller == "123456789"

• filtrar todas as sinalizações para chamadas com uma causa de liberação específica: mate.call.q931_cause == 31

• filtrar todas as sinalizações para chamadas muito curtas: mate.q931_leg.Time < 5


Machine Translated by Google

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

devido à falta do último.

Transformar rm_client_from_http_resp1 {

Correspondência (http_rq);

Corresponde a cada (addr) Insert (not_rq);

};

Transformar rm_client_from_http_resp2 {

Correspondência (not_rq,ue) Substituir ();

};

Pdu mmse_over_http_pdu Proto http Transporte tcp/ip { Payload mmse; Extraia o endereço de ip.addr; Extrair porta De

tcp.port; Extraia http_rq De http.request; Extrair conteúdo de http.content_type; Extrair resp De

http.response.code; Método de extração De http.request.method; Extrair host De http.host; Extrair

conteúdo de http.content_type; Extrair trx de mmse.transaction_id; Extrair msg_type De

mmse.message_type; Extrair notify_status De mmse.status; Extrair send_status De mmse.response_status;

Transformar rm_client_from_http_resp1, rm_client_from_http_resp2;

};

Gop mmse_over_http Em mmse_over_http_pdu Correspondência (addr, addr, porta, porta) {

Iniciar (http_rq);

Pare (http_rs);

Extra (host, ue, resp, notify_status, send_status, trx);

};

Transformar mms_start {

Corresponder Loose() Inserir (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

De mmse.message_type; Extrair notify_status De mmse.status; Extrair send_status De


ÿ

mmse.response_status; Transformar mms_start;

};

Gop mmse_over_wsp Em mmse_over_wsp_pdu Correspondência (trx) {

Iniciar (mms_start);

Pare (nunca);
ÿ

Extra (ue, notify_status, send_status);


ÿ

};

Gog mms { Membro

mmse_over_http (trx); Membro mmse_over_wsp (trx); Extra (ue,


ÿ

notify_status, send_status, resp, host, trx); Expiração 60,0;


ÿ

};

Biblioteca de configuração do MATE


A biblioteca MATE (will) contém definições GoP para vários protocolos. Os protocolos de biblioteca são
incluídos em sua configuração MATE usando: _Action=Include; Lib=proto_name;_.

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.

Protocolos de uso geral

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

Ação=PduDef; Nome=tcp_pdu; Proto=tcp; Transporte=ip; addr=ip.addr; porta=tcp.porta;


tcp_start=tcp.flags.syn; tcp_stop=tcp.flags.fin; tcp_stop=tcp.flags.reset; Ação=GopDef; Nome=tcp_session;
Ligado=tcp_pdu; endereço; endereço; porta; porta; Action=GopStart; For=tcp_session; tcp_start=1;
Ação=GopStop; For=tcp_session; tcp_stop=1;

DNS

criará um GoP contendo cada solicitação e sua resposta (eventualmente retransmissões também).

Ação=PduDef; Nome=dns_pdu; Proto=dns; Transporte=udp/ip; addr=ip.addr; porta=udp.porta;


dns_id=dns.id; dns_rsp=dns.flags.response;

Ação=GopDef; Nome=dns_req; On=dns_pdu; endereço; endereço; porta!53; dns_id;


Action=GopStart; For=dns_req; dns_rsp=0; Ação=GopStop; For=dns_req; dns_rsp=1;

RAIO

Um Gop para cada transação.

Ação=PduDef; Nome=radius_pdu; Proto=raio; Transporte=udp/ip; addr=ip.addr;


porta=udp.porta; radius_id=radius.id; radius_code=radius.code;

Ação=GopDef; Nome=radius_req; On=radius_pdu; raio_id; endereço; endereço; porta; porta;


Action=GopStart; For=radius_req; raio_código|1|4|7;
Ação=GopStop; For=radius_req; raio_código|2|3|5|8|9;

RTSP

Ação=PduDef; Nome=rtsp_pdu; Proto=rtsp; Transporte=tcp/ip; addr=ip.addr;


porta=tcp.porta; rtsp_method=rtsp.method; Ação=PduExtra; For=rtsp_pdu;
rtsp_ses=rtsp.session; rtsp_url=rtsp.url;

Ação=GopDef; Nome=rtsp_ses; On=rtsp_pdu; endereço; endereço; porta; porta;


Action=GopStart; For=rtsp_ses; rtsp_method=DESCREVA;
Ação=GopStop; For=rtsp_ses; rtsp_method=TEARDOWN;
Ação=GopExtra; For=rtsp_ses; rtsp_ses; rtsp_url;

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

Ação=PduDef; Nome=isup_pdu; Proto=isup; Transporte=mtp3; mtp3pc=mtp3.dpc;


mtp3pc=mtp3.opc; cic=isup.cic; isup_msg=isup.message_type;

Ação=GopDef; Nome=isup_leg; On=isup_pdu; ShowPduTree=VERDADEIRO; mtp3pc; mtp3pc; cic;


Action=GopStart; For=isup_leg; isup_msg=1;
Ação=GopStop; For=isup_leg; isup_msg=16;

Q931

Ação=PduDef; Nome=q931_pdu; Proto=q931; Parar=VERDADEIRO; Transporte=tcp/ip; addr=ip.addr;


call_ref=q931.call_ref; q931_msg=q931.message_type;

Ação=GopDef; Nome=q931_perna; On=q931_pdu; endereço; endereço; call_ref;


Action=GopStart; For=q931_leg; q931_msg=5;
Ação=GopStop; For=q931_leg; q931_msg=90;

H225 RAS

Ação=PduDef; Nome=ras_pdu; Proto=h225.RasMessage; Transporte=udp/ip; addr=ip.addr;


ras_sn=h225.RequestSeqNum; ras_msg=h225.RasMessage; Ação=PduExtra; For=ras_pdu;
guid=h225.guid;

Ação=GopDef; Nome=ras_leg; On=ras_pdu; endereço; endereço; ras_sn;


Action=GopStart; For=ras_leg; ras_msg|0|3|6|9|12|15|18|21|26|30;
Ação=GopStop; For=ras_leg;
ras_msg|1|2|4|5|7|8|10|11|13|14|16|17|19|20|22|24|27|28|29|31;
Ação=GopExtra; For=ras_leg; guia;

trago

Ação=PduDef; Proto=sip_pdu; Transporte=tcp/ip; addr=ip.addr; porta=tcp.porta;


sip_method=sip.Method; sip_callid=sip.Call-ID; chamando=sdp.proprietário.nome de usuário;

Ação=GopDef; Nome=sip_leg; On=sip_pdu; endereço; endereço; porta; porta;


Action=GopStart; Para=gole; sip_method=CONVITE;
Ação=GopStop; Para=gole; sip_method=BYE;

MEGACO

Irá criar um Gop de cada transação.


Machine Translated by Google

Para "vinculá-los" ao GoG da sua chamada, use: Action=GogKey; Nome=sua_chamada; On=mgc_tr; addr! mgc_addr;
megaco_ctx;

Ação=PduDef; Nome=mgc_pdu; Proto=megaco; Transporte=ip; addr=ip.addr;


megaco_ctx=megaco.context; megaco_trx=megaco.transid; megaco_msg=megaco.transaction;
termo=megaco.termid;

Ação=GopDef; Nome=mgc_tr; On=mgc_pdu; endereço; endereço;


megaco_trx; Action=GopStart; For=mgc_tr; megaco_msg|Solicitar|Notificar;
Ação=GopStop; For=mgc_tr; megaco_msg=Responder; Ação=GopExtra;
For=mgc_tr; termo^DS1; megaco_ctx!Escolha um;

Manual de referência do MATE

Pares de valor de atributo

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

Os operadores de correspondência definidos são:

• Igual = teste de igualdade, ou seja: as strings de valor são idênticas ou a correspondência falhará.

• Diferente ! corresponderá apenas se as strings de valor não forem iguais.

• 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
é.

Operador AVP Igual

Este operador testa se os valores do operador e do operando AVP são iguais.

Exemplo
attrib=aaa corresponde a attrib=aaa
attrib=aaa não corresponde a attrib=bbb

Operador AVP diferente

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

"Um dos" operador AVP

O operador "one of" corresponde se o valor do AVP de dados for igual a um dos valores listados no AVP "one of".

Exemplo

attrib=1 corresponde a atributo{1|2|3}


attrib=2 corresponde a atributo{1|2|3}
Machine Translated by Google

attrib=4 não corresponde a atributo{1|2|3}

Operador AVP "Começa com"

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

Operador "Termina com"

O operador ends with corresponderá se os últimos bytes do valor AVP de dados forem iguais ao valor AVP de configuração.

Exemplo

attrib=wxyz corresponde a attrib$xyz


attrib=yz não corresponde a attrib$xyz
attrib=abc…wxyz não corresponde a attrib$abc

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

attrib=abcde não corresponde a attrib~xyz

Operador "menor que"

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

Deve verificar se os valores são números e compará-los numericamente

Operador "maior que"

O operador "maior que" corresponderá se o valor AVP dos dados for semanticamente maior que o valor AVP da configuração.

Exemplos

attrib=bcd corresponde a attrib>abc


attrib=3 corresponde a atributo>2
mas cuidado: attrib=9 não corresponde a attrib>10
attrib=abc não corresponde a attrib>bcd
attrib=abc não corresponde a attrib>abc

INSETOS

Deve verificar se os valores são números e compará-los numericamente

Existe operador

O operador exist sempre corresponderá desde que os dois operandos tenham o mesmo nome.

Exemplos

attrib=abc corresponde ao atributo?

attrib=abc corresponde a attrib (esta é apenas uma notação alternativa do exemplo anterior) obviamente attrib=abc
não corresponde a other_attrib?

Lista de pares de atributos/valores (AVPL)

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.

Operações entre 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.

Exemplos de correspondências soltas

(attr_a=aaa, attr_b=bbb, attr_c=xxx) Correspondência solta (attr_a?, attr_c?) =ÿ (attr_a=aaa, attr_c=xxx)

(attr_a=aaa, attr_b=bbb, attr_c=xxx) Correspondência solta (attr_a?, attr_c=ccc) =ÿ (attr_a=aaa)

(attr_a=aaa, attr_b=bbb, attr_c=xxx) Correspondência solta (attr_a=xxx; attr_c=ccc) =ÿ Sem correspondência!

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.

Estes só podem ser usados em Criteria e Transforms.

OBSERVAÇÃO A partir da versão atual (2.0.1), Loose Match não funciona conforme descrito aqui, consulte o problema 12184.

Exemplos de correspondência "todos"

(attr_a=aaa, attr_b=bbb, attr_c=xxx) Corresponde a cada (attr_a?, attr_c?) =ÿ (attr_a=aaa, attr_c=xxx)

(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)

(attr_a=aaa, attr_b=bbb, attr_c=xxx) Corresponde a cada (attr_a?, attr_c=ccc) =ÿ Sem correspondência!


Machine Translated by Google

(attr_a=aaa; attr_b=bbb; attr_c=xxx) Corresponde a cada (attr_a=xxx, attr_c=ccc) =ÿ Sem correspondência!

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) Correspondência estrita (attr_a?, attr_c=xxx) =ÿ (attr_a=aaa, attr_c=xxx)

(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=ccc) =ÿ Sem correspondência!

(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á.

Esta operação é feita

• entre o resultado de uma correspondência chave e o AVPL de Gop ou Gog,

• entre o resultado de uma partida Extra e o AVPL de Gop ou Gog,

• 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 {

Match [Strict|Every|Loose] match_avpl [[Inserir|Substituir] modify_avpl] ; // pode ocorrer várias vezes,


pelo menos uma vez };

Para exemplos de Transforms, verifique a página do Manual .

TODO: migrar os exemplos aqui?

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.

Cabeçalho do bloco de declaração PDU

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.

Cláusulas Proto e de Transporte

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

Amigo de transporte. (Isso não funcionou até 0.10.9).

Cláusula de carga útil

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.

Última cláusula extraída

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.

Ações de configuração do Gop

Cabeçalho do bloco de declaração Gop

Declara um tipo Gop e sua chave candidata pré-correspondente.

Gop name On pduname Chave de correspondência {


ÿ

Iniciar match_avpl; // opcional


ÿ

Parar match_avpl; // opcional


ÿ

Extra match_avpl; // opcional


ÿ

Transform transform_list; // opcional


ÿ

Data de validade; // opcional


ÿ

Tempo limite de tempo ocioso; // opcional


ÿ

Tempo de vida; // opcional


ÿ

DropUnassigned [TRUE|FALSE]; //opcional


ÿ

ShowTree [NoTree|PduTree|FrameTree|BasicTree]; //opcional

ShowTimes [VERDADEIRO|FALSO]; //opcional, padrão TRUE };

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

O nome de Pdus que este tipo de Gop supostamente agrupa. É obrigatório.

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

Controla a exibição da subárvore Pdus do Gop:

• NoTree: suprime completamente a exibição da árvore

• PduTree: a árvore é mostrada e mostra os Pdus por Pdu Id

• FrameTree: a árvore é mostrada e mostra os Pdus pelo número do quadro em que estão

• BasicTree: precisa de investigaçã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.

Ações de configuração do Gog

Cabeçalho do bloco de declaração Gop

Declara um tipo Gog e sua chave candidata pré-correspondente.

Gog name { Member gopname (chave); // obrigatório, pelo menos um Extra

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

Controla a exibição da subárvore Gops do Gog:

• NoTree: suprime completamente a exibição da árvore

• BasicTree: precisa de investigação

• FullTree: precisa de investigação

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.

Configurações Configuração AVPL

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.

Cabeçalho do bloco de declaração de depuração

Depurar {
ÿ

Nome do arquivo "caminho/nome"; //opcional, sem valor padrão


ÿ

Nível [0-9]; //opcional, nível de depuração genérico


ÿ

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 };

Cláusula de nome de arquivo

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

Cláusula de nível PDU

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

Cláusula de Nível Gop

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

Cláusula de Nível Gog

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=Configurações; Expiração da Sessão=3.5; DiscardPduData=FALSO;

Ação=Incluir

Incluirá um arquivo para a configuração.

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

Ação=Incluir; Nome do arquivo=rtsp.mate;

Isso incluirá o arquivo chamado "rtsp.mate" na configuração atual.


Machine Translated by Google

Apêndice A: Mensagens do Wireshark


O Wireshark fornece informações adicionais geradas a partir dos dados do pacote simples ou pode precisar indicar problemas de
dissecação. As mensagens geradas pelo Wireshark são geralmente colocadas entre colchetes (“[]”).

Mensagens da Lista de Pacotes

Essas mensagens podem aparecer na lista de pacotes.

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

[Tamanho do pacote limitado durante a captura]

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.

Mensagens de detalhes do pacote

Essas mensagens podem aparecer nos detalhes do pacote.


Machine Translated by Google

[Resposta no quadro: 123]

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.

[Pedido no quadro: 123]

O mesmo que “Resposta no quadro: 123” acima, mas ao contrário.

[Tempo desde a solicitação: 0,123 segundos]

O tempo entre o pedido e os pacotes de resposta.

[Configuração de fluxo por PROTOCOLO (quadro 123)]

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

Apêndice B: Arquivos e pastas


Capturar arquivos
Para entender quais informações permanecerão disponíveis após os pacotes capturados serem salvos em um arquivo de captura, é
útil saber um pouco sobre o conteúdo do arquivo de captura.

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.

Conteúdo do Arquivo Libpcap

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

Os seguintes dados são salvos para cada pacote:

• O timestamp com resolução de milissegundos

• O comprimento do pacote como estava “on the wire”

• O comprimento do pacote conforme é salvo no arquivo

• Os bytes brutos do pacote

Uma descrição detalhada do formato de arquivo libpcap pode ser encontrada em https://gitlab.com/wireshark/wireshark/-/wikis/
Development/LibpcapFileFormat

Não salvo no arquivo de captura

Você também deve saber o que não é salvo nos arquivos de captura:

• Seleções atuais (pacote selecionado, …)

• Informações de resolução de nomes. Consulte Resolução de nomes para obter detalhes

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

• O número de pacotes descartados durante a captura

• Marcas de pacotes definidas com "Editar/Marcar Pacote"

• Referências de tempo definidas com "Editar/referência de tempo"

• O filtro de exibição atual

Arquivo de configuração e pastas de plugins


Para corresponder às diferentes políticas para sistemas semelhantes a Unix e Windows, e diferentes políticas usadas
em diferentes sistemas semelhantes a Unix, as pastas que contêm arquivos de configuração e plug-ins são diferentes
em diferentes plataformas. Indicamos a localização das pastas de nível superior nas quais os arquivos de configuração
e plug-ins são armazenados aqui, dando-lhes nomes de espaços reservados independentemente de sua localização
real e usamos esses nomes posteriormente ao fornecer a localização das pastas para arquivos de configuração e
plug-ins.

Uma lista das pastas que o Wireshark realmente usa pode ser encontrada na guia Pastas na caixa de
GORJETA

diálogo exibida quando você seleciona Sobre o Wireshark no menu Ajuda .

Pastas no Windows
%APPDATA% é a aplicativo
pessoal, por exemplo: dados pasta,
nome de usuário\AppData\Roaming\Wireshark C:\Usuários\

(detalhes podem ser encontrados em: perfis do Windows).

WIRESHARK é a pasta do programa Wireshark, por exemplo: C:\Program Files\Wireshark.

Pastas em sistemas semelhantes ao Unix

$XDG_CONFIG_HOME é a pasta para arquivos de configuração específicos do usuário. Geralmente é $HOME/.config,


onde $HOME é a pasta inicial do usuário, que geralmente é algo como /home/ username ou /Users/ username no
macOS.

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

O formato do conteúdo dos arquivos de configuração é o mesmo em todas as plataformas.

No Windows:

• A pasta de configuração pessoal do Wireshark é a subpasta Wireshark dessa pasta, ou seja,


%APPDATA%\Wireshark.

• A pasta de configuração global do Wireshark é a pasta do programa Wireshark e também é usada


como a pasta de configuração do sistema.

Em sistemas do tipo Unix:

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

Tabela 29. Visão geral dos arquivos de configuração

Pasta de arquivo Descrição

cfiltros Filtros de captura.

filtros de cores Regras de coloração.

dfilter_buttons Exibir botões de filtro.

dfilter_macros Exibir macros de filtro.

dfilters Filtros de exibição.

disabled_protos Protocolos desativados.

éteres Resolução de nome Ethernet.

anfitriões Resolução de nomes IPv4 e IPv6.

ipxnets Resolução de nome IPX.

manuf Resolução de nome Ethernet.

preferências Configurações da caixa de diálogo Preferências.

recente Configurações de GUI por perfil.

recente_comum Configurações comuns da GUI.

Serviços Serviços de rede.

ss7pcs Resolução de código de ponto SS7.

sub-redes Resolução de nome de sub-rede IPv4.


Machine Translated by Google

Pasta de arquivo Descrição

vlans Resolução de nome de ID de VLAN.

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:

"<nome do filtro>" <string do filtro>

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:

@<nome do filtro>@<string do filtro>@[<bg RGB(16-bit)>][<fg RGB(16-bit)>]

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:

"TRUE/FALSE","<rótulo do botão>","<string de filtro>","<string de comentário>"

onde o primeiro campo é TRUE se o botão estiver ativado (mostrado).

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:

"<nome da macro>" <string do filtro>

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:

"<nome do filtro>" <string do filtro>

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

Você também pode gostar