Wireshark para automação elétrica: guia de captura, filtros e diagnóstico de protocolos OT
Guia prático do Wireshark para DNP3, IEC 104, GOOSE, Sampled Values e PTP, com capturas oficiais da documentação, filtros, SPAN/TAP, Decode As e análise temporal.
DNP3 serial: como ler o quadro e a pilha
Como ler esta figura
Start 0x05 0x64
Delimita o início de um frame DNP3. É a primeira evidência de que o receptor está vendo um quadro com framing DNP3 válido.
Na implementação: Se a sequência não aparece onde deveria, verifique serial, direção TX/RX, conversor e captura antes de mexer em objetos ou polling.
Length
Define o comprimento indicado pelo frame. Tamanho incoerente ou quadro truncado costuma revelar problema abaixo da aplicação.
Na implementação: Compare o valor declarado com os bytes realmente recebidos quando houver timeouts somente em respostas maiores.
Link Control
Indica direção e função da camada de enlace. Não confunda esse campo com o Function Code da camada de aplicação.
Na implementação: Use-o para separar falha de enlace, confirmação e estado de link de uma falha de READ/OPERATE/UNSOLICITED.
Destination / Source
São endereços lógicos DNP3. Eles continuam existindo mesmo quando o transporte é TCP/IP.
Na implementação: Uma conexão TCP pode estar estabelecida e ainda assim não haver resposta de aplicação se os endereços DNP3 não coincidirem.
CRC
Protege o cabeçalho e blocos de dados contra corrupção.
Na implementação: CRC recorrente pede análise de ruído, polaridade RS-485, aterramento, baud/paridade e comportamento de conversores/radios.
User Data
Transporta fragmentos que chegam à aplicação: objetos, eventos, confirmações, comandos e informações internas.
Na implementação: Depois de provar o enlace, é aqui que Group/Variation/Qualifier, classes, IIN e Function Codes passam a dominar o diagnóstico.
IEC 104: APDU, I/S/U e parâmetros que controlam a sessão
Como ler esta figura
APCI / Control Field
Controla formato I/S/U, estado lógico e numeração N(S)/N(R).
Na implementação: Sequência travada, ACK atrasado ou TESTFR repetitivo deve ser correlacionado com timers e janelas, não só com TCP.
I-format
Transporta ASDU e usa números de envio e recebimento para acompanhar a sequência.
Na implementação: Compare N(S) e N(R) nos dois sentidos para encontrar a primeira divergência ou ACK ausente.
S-format
Confirma recepção sem transportar uma ASDU.
Na implementação: É diretamente relacionado ao controle de fluxo e ao limiar w/t2.
U-format
Executa STARTDT, STOPDT e TESTFR para controlar/testar a transferência.
Na implementação: STARTDT não é comando de processo; é habilitação da transferência de dados IEC 104.
ASDU
Type ID, VSQ, COT, CA e IOA dão significado às medidas, estados, eventos e comandos.
Na implementação: TCP saudável com CA/IOA/COT errados continua sendo uma integração quebrada.
t0, t1, t2, t3, k e w
Definem estabelecimento, confirmações, ociosidade e janelas de mensagens.
Na implementação: Dimensione usando RTT real, carga e requisitos da aplicação; não copie defaults entre fabricantes sem validar.
Matriz técnica específica — Wireshark em redes OT
| Elemento do recorte | O que registrar neste artigo | Evidência mínima |
|---|---|---|
| Wireshark em redes OT | Valor/estado real de Wireshark em redes OT, unidade ou representação, dependência e efeito esperado dentro de Wireshark em redes OT. | captura PCAP com filtro, direção da mensagem, timestamp e campo decodificado |
Esta matriz é gerada a partir do foco “Wireshark em redes OT” e dos pontos técnicos do tema; ela não substitui limites normativos ou de fabricante.
Diagnóstico em camadas — evidência antes de avançar
| Camada | Campos/contador | Pergunta decisiva |
|---|---|---|
| Física | link, nível/RSL/potência, erro físico | O meio mantém margem durante o sintoma? |
| Ethernet | MAC, VLAN, FCS, drop, multicast | O frame entra e sai da porta correta? |
| IP | src/dst, ARP, rota, TTL | O pacote segue pelo caminho esperado? |
| TCP/UDP | port, flags, Seq/Ack, retransmission | Há perda/reset antes da aplicação? |
| Aplicação | Function Code/ASDU/IIN/GOOSE/SV etc. | O protocolo recebeu o que esperava e respondeu coerentemente? |
Antes da captura: escolha corretamente o ponto de observação
Wireshark é uma ferramenta passiva de análise: ele mostra o tráfego que chega à interface de captura. Em redes com switches, conectar um notebook em qualquer porta não revela automaticamente o tráfego entre outros IEDs. Para observar um enlace use uma porta SPAN/mirror bem configurada, um TAP de rede ou uma captura no próprio equipamento quando suportada. Em GOOSE e SV, confirme que o ponto de captura realmente recebe os multicast relevantes.
SPAN é prático, mas não é perfeito para medições de desempenho. Se a soma do tráfego espelhado ultrapassar a capacidade da porta de destino, o switch pode descartar frames da cópia sem que a rede operacional tenha perdido pacotes. Para estudos de perda, jitter ou Sampled Values em alta carga, prefira TAP ou uma arquitetura de captura dimensionada para line rate. Registre porta, direção e topologia junto do PCAP.
- Identifique o enlace e a direção que precisa observar.
- Desative recursos do notebook que gerem tráfego desnecessário quando possível.
- Sincronize o relógio da estação de captura se houver correlação com SOE.
A janela principal e os três níveis de leitura
A documentação oficial divide a janela em lista de pacotes, detalhes do pacote e bytes. A lista é a linha do tempo resumida; os detalhes mostram a árvore de protocolos e campos; o painel de bytes revela o conteúdo bruto associado ao campo selecionado. Em diagnóstico OT, comece pela sequência temporal e depois expanda somente os campos que respondem à hipótese técnica. Isso evita se perder em centenas de atributos.
Personalize colunas para o protocolo analisado. No painel de detalhes, um campo pode ser aplicado como coluna, permitindo acompanhar em sequência valores como endereço DNP3, Cause of Transmission do IEC 104, APPID de GOOSE ou identificador de stream. Crie perfis de configuração separados por protocolo ou subestação; assim filtros, colunas e regras de cor ficam reproduzíveis entre ocorrências.
- Lista: quem falou, quando, com quem e qual protocolo.
- Detalhes: campos e estados da aplicação.
- Bytes: confirmação do conteúdo bruto e offsets.
Capture filter e display filter: não confunda
Capture filters decidem quais pacotes são gravados durante a aquisição. Display filters apenas escondem ou exibem pacotes que já estão no arquivo. Para troubleshooting, é frequentemente melhor capturar mais e filtrar depois, desde que o volume seja administrável. Um capture filter errado elimina evidência de forma irreversível. A própria documentação do Wireshark trata as duas linguagens como mecanismos distintos.
Use display filters progressivamente. Comece por um protocolo ou endereço e adicione condições. Filtros como tcp, udp, ip.addr == x.x.x.x ou eth.addr == xx:xx:xx:xx:xx:xx ajudam na infraestrutura. Os nomes exatos dos campos de protocolos OT devem ser confirmados na versão instalada, pois dissectors evoluem. A janela Display Filter Expression é útil para descobrir campos disponíveis sem memorizar sintaxe.
- Preserve um PCAP original sem filtros destrutivos.
- Salve filtros frequentes no perfil.
- Valide a sintaxe pela indicação de cor/erro da barra.
Decode As, sequência temporal e estatísticas
Quando um protocolo usa porta não padrão ou encapsulamento inesperado, o Wireshark pode interpretar o tráfego como TCP/UDP genérico. A função Decode As permite associar aquela conversa a um dissector específico sem alterar os pacotes. Use-a somente quando souber qual protocolo deveria estar ali. Depois verifique se a dissecação faz sentido; decodificar bytes aleatórios como um protocolo pode produzir campos aparentemente válidos por coincidência.
Para visão macro, Protocol Hierarchy mostra a composição do arquivo, Conversations revela pares que mais conversam e Endpoints ajuda a conferir endereços ativos. Expert Information destaca condições que dissectors reconhecem como relevantes, como retransmissões TCP ou checksums. Essas ferramentas não substituem a análise do protocolo OT, mas indicam onde concentrar investigação e se a ocorrência coincide com congestionamento, resets ou perda de sessão.
- Use Protocol Hierarchy para entender o PCAP antes de filtrar demais.
- Use Conversations para identificar fluxos dominantes.
- Correlacione Expert Info com o evento real, não trate toda indicação como defeito.
Filtros e perguntas para DNP3, IEC 104, GOOSE, SV e PTP
Em DNP3, procure requisição e resposta, funções, objetos, classes, IINs e tempo entre polls. Em IEC 104, siga a sessão TCP, STARTDT, números de sequência e ASDUs com Type ID/COT/IOA. Em GOOSE, observe MAC multicast, APPID, GoCBRef, ConfRev, stNum e sqNum. Em SV, acompanhe stream, contador de amostra e regularidade. Em PTP, observe mensagens Sync, Follow_Up, Announce e delay conforme o perfil e implementação.
A pergunta deve conduzir o filtro. 'Por que o comando falhou?' exige acompanhar seleção, operação e feedback. 'Por que o evento chegou atrasado?' exige comparar timestamp do evento com timestamp do frame e logs do gateway. 'Por que um assinante GOOSE não atua?' exige provar que o frame chegou à porta e que dataset/revisão correspondem à configuração. O Wireshark fornece evidência de rede; a conclusão nasce da correlação com IED, SCADA e engenharia.
- DNP3: endereço + função + objeto + IIN.
- IEC 104: TCP + APCI + ASDU.
- GOOSE/SV: multicast + identificação + sequência.
- PTP: domínio, mestre, qualidade e mensagens de sincronismo.
Como preservar evidência de uma ocorrência
Salve o PCAP original e trabalhe em cópia. Registre versão do Wireshark, horário, interface, origem do espelhamento, topologia, VLANs e filtros usados. Se o arquivo contiver informações operacionais sensíveis, trate-o como evidência OT e limite compartilhamento. Capturas podem expor endereços, nomes de IEDs, comandos, topologia e outros dados úteis a um atacante.
Em relatórios, inclua número do frame e campos relevantes em vez de apenas screenshots. Screenshots ajudam a explicar, mas o PCAP permite auditoria e reanálise. Quando o problema depende de tempo, exporte também logs de IED, switch, firewall e SCADA cobrindo a mesma janela. Uma boa captura transforma uma discussão baseada em hipótese em uma sequência verificável de eventos.
- Mantenha o PCAP bruto imutável.
- Anote frames que sustentam cada conclusão.
- Proteja capturas OT como documentação técnica sensível.
Capturas da documentação oficial


Referências técnicas
As explicações do Portal são autorais. Use as fontes oficiais e materiais públicos de implementação abaixo para confirmar edição, escopo, capacidades e comportamento do equipamento utilizado no seu projeto.
- Wireshark User’s Guide — Wireshark Foundation
- The Main window — Wireshark Foundation
- Defining And Saving Filters — Wireshark Foundation
- Protocol Hierarchy — Wireshark Foundation
- Overview of DNP3 Protocol — DNP Users Group. Fonte mantenedora do DNP3/IEEE 1815 para arquitetura, interoperabilidade e documentação pública.
- DNP Users Group — Public Documents — DNP Users Group. Aplicações públicas, boletins e materiais técnicos para validar comportamento de implementações.
- DNP3 Communication Protocol Solutions — Triangle MicroWorks. Referência de implementador para recursos como events, deadbands, unsolicited, time sync, file transfer e ferramentas de teste.
- DNP3 Application Layer Function Codes — Rockwell Automation. Exemplo público de fabricante para Function Codes, incluindo COLD_RESTART, WARM_RESTART e ENABLE/DISABLE_UNSOLICITED.
- IEC 60870-5-104:2006+AMD1:2016 CSV — IEC. Companion standard consolidado para acesso em rede usando perfis de transporte padrão.
- IEC 61850-8-1:2011+AMD1:2020 CSV — IEC. Mapeia ACSI para MMS e ISO/IEC 8802-3, incluindo serviços e GOOSE.
- ITT600 — Integrated Testing Tool — Hitachi Energy. Exemplo de ferramenta de fabricante para explorar SCL, MMS, GOOSE, SV, simulação e diagnóstico de IEC 61850.
- IEC 61850-9-2:2011+AMD1:2020 CSV — IEC. Mapeamento de Sampled Values sobre Ethernet.
- IEC/IEEE 61850-9-3:2016 — IEC / IEEE. Perfil PTP aplicável à automação de sistemas de potência.
- Wireshark User’s Guide — Wireshark Foundation. Documentação oficial de captura, filtros, estatísticas e interpretação da interface do analisador.
Continue estudando
Os próximos conteúdos foram escolhidos pelo mecanismo deste artigo. A ideia é formar uma sequência técnica, não apenas listar páginas do mesmo tema.