- industrial ethernet port mirroring SPAN, Modbus TCP MBAP header exception code, OPC UA BadCertificateInvalid diagnosis, OPC UA packet analysis Wireshark, Schneider Modicon M580 OPC UA session, TCP retransmission DCS network fault, Wireshark Modbus TCP DCS troubleshooting, Yokogawa CENTUM VP Modbus TCP timeout
Diagnóstico de Falhas em Ethernet Industrial: Análise Profunda com Wireshark para Modbus TCP e OPC UA em Redes DCS

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
modbusouopcuacomo filtros iniciais, depoistcp.analysis.retransmissionpara 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.
