Industrial Ethernet Fault Diagnosis: Wireshark Deep Dive for Modbus TCP and OPC UA in DCS Networks

P: Por que a Análise em Nível de Pacote é Importante em Redes DCS?

O ethernet industrial transporta a essência do controle de processos. Modbus TCP e OPC UA são dois dos protocolos mais comuns — quando a comunicação falha, a produção para. Os sistemas DCS Yokogawa CENTUM VP dependem do Vnet/IP para mensagens internas, mas muitos dispositivos de campo ainda usam Modbus TCP na porta 502. A Placa de Interface Yokogawa VI701 Vnet/IP fornece a conectividade backbone Vnet/IP de alta velocidade para os nós FCS do CENTUM VP, enquanto o Switch Gerenciado Industrial Schneider TCSESM083F23F0 oferece a capacidade de espelhamento da porta SPAN necessária para captura de pacotes Wireshark em redes DCS. O Gateway Prosoft PLX32-EIP-MBTCP EtherNet/IP para Modbus TCP é uma ponte de protocolo comum entre sistemas DCS EtherNet/IP e dispositivos de campo Modbus TCP — uma fonte frequente dos erros de timeout abordados neste guia.

P: Qual é a Estrutura do Quadro Modbus TCP que Preciso Conhecer?

Modbus TCP encapsula dados em um cabeçalho MBAP de 7 bytes mais o PDU. O cabeçalho contém um ID de transação, ID do protocolo (sempre 0x0000), campo de comprimento e identificador da unidade. Uma requisição normal de leitura FC 03 em hexadecimal: 00 01 00 00 00 06 01 03 00 00 00 0A. Códigos de função comuns: 0x03 lê registradores de retenção, 0x06 escreve um único registrador, 0x10 escreve múltiplos registradores.

Quando o escravo retorna uma resposta de exceção, o código de função tem o bit 7 ativado (ex.: 0x83 = erro no FC 03). Código de exceção 01 = função ilegal, 02 = endereço de dado ilegal, 03 = valor de dado ilegal. Esses códigos são sua primeira pista diagnóstica no Wireshark.

P: Como Funciona o Protocolo Binário OPC UA para Análise no Wireshark?

OPC UA usa a porta 4840 por padrão. Um cliente envia uma mensagem Hello, o servidor responde com Acknowledge, então o cliente abre um canal seguro, cria uma sessão e a ativa. Em ambientes Yokogawa, servidores OPC UA frequentemente operam atrás de firewalls — verifique se a porta 4840 está aberta e acessível. Para sessões criptografadas, carregue a chave privada do servidor em formato PEM em Editar → Preferências → Protocolos → OPC UA para habilitar a descriptografia em tempo real de falhas de autenticação e timeouts de sessão.

P: Como Configuro o Espelhamento de Porta e a Captura no Wireshark?

  • Passo 1: Faça login na interface CLI ou web do seu switch industrial (Hirschmann, Moxa ou série Cisco IE). Identifique a porta de origem conectada ao PLC ou controlador DCS.
  • Passo 2: Configure o espelhamento SPAN: defina a porta de origem para a porta Ethernet do PLC e a porta de destino para seu laptop de diagnóstico. Habilite o espelhamento de tráfego bidirecional.
  • Passo 3: Abra o Wireshark, selecione a interface espelhada e defina um filtro de captura: tcp port 502 or tcp port 4840. Inicie a captura.
  • Passo 4: Reproduza a condição de falha. Deixe o tráfego fluir por pelo menos 30 segundos.
  • Passo 5: Pare a captura e salve como .pcapng. Aplique filtros de exibição: use modbus ou opcua como filtros iniciais, depois tcp.analysis.retransmission para isolar anomalias.

P: Estudo de Caso — Timeout Modbus TCP no Yokogawa CENTUM VP?

Uma planta petroquímica relatou perda intermitente de dados em links Modbus TCP. O DCS CENTUM VP sondava 24 transmissores de campo a cada 500 ms, com quedas ocasionais de três ou quatro transmissores na lista de varredura. Após configurar o espelhamento de porta em um switch Hirschmann e capturar duas horas de tráfego, filtrando por tcp.analysis.retransmission e respostas de exceção Modbus, foram reveladas múltiplas retransmissões TCP para endereços escravos específicos.

Causa raiz: um gateway RS-485 para Ethernet com bug de firmware descartava pacotes sob alta carga quando mais de 16 escravos respondiam simultaneamente. Solução: atualizar o firmware do gateway e reduzir o tamanho do grupo de sondagem para 12 dispositivos por gateway.

P: Estudo de Caso — Falha de Autenticação OPC UA no Schneider Modicon M580?

O cliente SCADA de uma estação de tratamento de água não conseguia estabelecer sessões OPC UA após a renovação do certificado. O Wireshark mostrou respostas OpenSecureChannel com código de status BadCertificateInvalid. O certificado da CA intermediária estava ausente no repositório de confiança do cliente. Após adicionar a CA intermediária e reiniciar o cliente OPC UA, as sessões foram ativadas com sucesso.

Um segundo problema apareceu: requisições OPC UA Publish não recebiam resposta por até 10 segundos. Filtrando por opcua.service == Publish foram detectadas notificações TCP zero-window — a CPU do controlador Modicon estava com 95% de utilização. Transferir a lógica para um controlador secundário reduziu a latência da assinatura para menos de 200 ms.

Quais São as Dicas Profissionais Principais?

  • Nunca espelhe tráfego para uma porta que carrega tráfego de produção — isso cria um loop de broadcast.
  • Sempre defina um filtro de captura antes de iniciar. Capturas sem filtro em uma rede DCS ocupada preenchem um buffer de 1 GB em menos de 60 segundos.
  • Use Follow TCP Stream para reconstruir a conversa completa cliente-servidor.
  • Exporte quadros anômalos como dumps hexadecimais para suporte técnico do fornecedor. Inclua carimbos de data/hora e informações da interface.
  • Arquive arquivos .pcapng com nomes descritivos (data, modelo do controlador, descrição da falha) para análise de tendências.

Autor: Zhang Minghui é engenheiro de automação industrial com mais de 10 anos de experiência em PLC, DCS e sistemas de controle.

Mostre tudo
Postagens no blog
Mostre tudo
Yokogawa and Emerson Loops: Mastering 4-20 mA Voltage Drop and HART Headroom

Loops Yokogawa e Emerson: Dominando a queda de tensão de 4-20 mA e a margem do HART

Um método prático de orçamento de tensão para loops de 4–20 mA da Yokogawa e da Emerson: calcule as quedas em série na corrente máxima, verifique a impedância HART e meça com segurança a margem de tensão do transmissor.
Triconex and HIMA Bypass Discipline: Force Versus Override in Safety Systems

Disciplina de bypass em Triconex e HIMA: Forçar versus substituir em sistemas de segurança

Forçar e substituir são formas diferentes de ignorar os sinais do SIS. Aprenda a avaliar o impacto na segurança, autorizar o trabalho, verificar a visibilidade do operador e restaurar a proteção em sistemas Triconex e HIMA.
Migrate or Upgrade a PLC? A Decision Guide for Allen-Bradley and Schneider

Migrar ou atualizar um PLC? Um guia para decidir entre Allen-Bradley e Schneider

Compare as atualizações e migrações de CLPs com base no suporte ao longo do ciclo de vida, na compatibilidade de E/S, no esforço de reprogramação, no risco da transição, no tempo de inatividade e no planejamento de reversão para sistemas Allen-Bradley e Schneider.