- 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
Diagnosa Kesalahan Ethernet Industri: Pendalaman Wireshark untuk Modbus TCP dan OPC UA dalam Jaringan DCS

T: Mengapa Analisis Tingkat Paket Penting dalam Jaringan DCS?
Ethernet industri membawa nyawa pengendalian proses. Modbus TCP dan OPC UA adalah dua protokol yang paling umum — ketika komunikasi gagal, produksi berhenti. Sistem DCS Yokogawa CENTUM VP mengandalkan Vnet/IP untuk pesan internal, tetapi banyak perangkat lapangan masih menggunakan Modbus TCP pada port 502. Kartu Antarmuka Vnet/IP Yokogawa VI701 menyediakan konektivitas tulang punggung Vnet/IP berkecepatan tinggi untuk node FCS CENTUM VP, sementara Switch Managed Industri Schneider TCSESM083F23F0 menyediakan kemampuan port SPAN untuk pencerminan yang dibutuhkan agar Wireshark dapat menangkap paket di jaringan DCS. Gateway Prosoft PLX32-EIP-MBTCP EtherNet/IP ke Modbus TCP adalah jembatan protokol umum antara sistem DCS EtherNet/IP dan perangkat lapangan Modbus TCP — sumber umum kesalahan timeout yang dibahas dalam panduan ini.
T: Apa Struktur Frame Modbus TCP yang Perlu Saya Ketahui?
Modbus TCP membungkus data dalam header MBAP 7-byte plus PDU. Header berisi ID transaksi, ID protokol (selalu 0x0000), field panjang, dan pengenal unit. Permintaan baca FC 03 normal dalam hex: 00 01 00 00 00 06 01 03 00 00 00 0A. Kode fungsi umum: 0x03 membaca holding register, 0x06 menulis satu register, 0x10 menulis beberapa register.
Ketika slave mengembalikan respons pengecualian, kode fungsi memiliki bit 7 diset (misalnya, 0x83 = kesalahan pada FC 03). Kode pengecualian 01 = fungsi ilegal, 02 = alamat data ilegal, 03 = nilai data ilegal. Kode-kode ini adalah petunjuk diagnostik pertama Anda di Wireshark.
T: Bagaimana Protokol Biner OPC UA Bekerja untuk Analisis Wireshark?
OPC UA menggunakan port 4840 secara default. Klien mengirim pesan Hello, server merespons dengan Acknowledge, kemudian klien membuka saluran aman, membuat sesi, dan mengaktifkannya. Dalam lingkungan Yokogawa, server OPC UA sering berjalan di balik firewall — pastikan port 4840 terbuka dan dapat dijangkau. Untuk sesi terenkripsi, muat kunci privat server dalam format PEM di Edit → Preferences → Protocols → OPC UA untuk mengaktifkan dekripsi waktu nyata atas kegagalan autentikasi dan timeout sesi.
T: Bagaimana Cara Mengatur Port Mirroring dan Penangkapan Wireshark?
- Langkah 1: Masuk ke CLI atau antarmuka web switch industri Anda (Hirschmann, Moxa, atau seri Cisco IE). Identifikasi port sumber yang terhubung ke PLC atau pengendali DCS.
- Langkah 2: Konfigurasikan cermin SPAN: atur port sumber ke port Ethernet PLC dan port tujuan ke laptop diagnostik Anda. Aktifkan pencerminan lalu lintas dua arah.
-
Langkah 3: Buka Wireshark, pilih antarmuka yang dicerminkan, dan atur filter tangkapan:
tcp port 502 or tcp port 4840. Mulai tangkapan. - Langkah 4: Reproduksi kondisi kesalahan. Biarkan lalu lintas mengalir selama minimal 30 detik.
-
Langkah 5: Hentikan tangkapan dan simpan sebagai .pcapng. Terapkan filter tampilan: gunakan
modbusatauopcuasebagai filter awal, lalutcp.analysis.retransmissionuntuk mengisolasi anomali.
T: Studi Kasus — Timeout Modbus TCP pada Yokogawa CENTUM VP?
Sebuah pabrik petrokimia melaporkan kehilangan data intermiten pada tautan Modbus TCP. DCS CENTUM VP mempoll 24 transmitter lapangan setiap 500 ms, dengan kadang-kadang tiga atau empat transmitter hilang dari daftar scan. Setelah mengatur port mirroring pada switch Hirschmann dan menangkap lalu lintas selama dua jam, penyaringan untuk tcp.analysis.retransmission dan respons pengecualian Modbus mengungkapkan banyak retransmisi TCP ke alamat slave tertentu.
Penyebab utama: gateway RS-485 ke Ethernet dengan bug firmware yang menjatuhkan paket saat beban tinggi ketika lebih dari 16 slave merespons secara bersamaan. Solusi: perbarui firmware gateway dan kurangi ukuran grup polling menjadi 12 perangkat per gateway.
T: Studi Kasus — Kegagalan Autentikasi OPC UA pada Schneider Modicon M580?
Klien SCADA di pabrik pengolahan air tidak dapat membuat sesi OPC UA setelah pembaruan sertifikat. Wireshark menunjukkan respons OpenSecureChannel dengan kode status BadCertificateInvalid. Sertifikat CA perantara hilang dari penyimpanan kepercayaan klien. Setelah menambahkan CA perantara dan me-restart klien OPC UA, sesi berhasil diaktifkan.
Masalah kedua muncul: permintaan Publish OPC UA tidak mendapat respons hingga 10 detik. Penyaringan untuk opcua.service == Publish mengungkap notifikasi TCP zero-window — CPU pengendali Modicon mencapai 95% pemakaian. Memindahkan logika ke pengendali sekunder menurunkan latensi langganan di bawah 200 ms.
Apa Tips Pro Utama?
- Jangan pernah mencerminkan lalu lintas ke port yang membawa lalu lintas produksi — ini dapat menciptakan loop broadcast.
- Selalu atur filter tangkapan sebelum memulai. Tangkap tanpa filter di jaringan DCS yang sibuk dapat mengisi buffer 1 GB dalam kurang dari 60 detik.
- Gunakan Follow TCP Stream untuk merekonstruksi percakapan klien-server secara lengkap.
- Ekspor frame anomali sebagai dump hex untuk dukungan teknis vendor. Sertakan cap waktu dan informasi antarmuka.
- Arsipkan file .pcapng dengan nama deskriptif (tanggal, model pengendali, deskripsi kesalahan) untuk analisis tren.
Penulis: Zhang Minghui adalah insinyur otomasi industri dengan pengalaman lebih dari 10 tahun di bidang PLC, DCS, dan sistem kontrol.
