Sniffing Jaringan PLC Omron Seri CP dengan Wireshark

Tujuan Pembelajaran

  • Analisis Komunikasi PLC (Protokol FINS): Mahasiswa mampu menangkap dan menganalisis paket data komunikasi antara PLC Omron seri CP (CP1L/CP1E/CP2E) dengan perangkat lain, terutama protokol FINS, untuk memahami alur pertukaran data dan fungsi tiap frame. Hal ini bermanfaat untuk memastikan jaringan PLC bekerja optimal dan mendeteksi data yang memengaruhi performa jaringan.
  • Troubleshooting Jaringan PLC: Mahasiswa dapat melakukan sniffing untuk troubleshooting masalah jaringan PLC, misalnya ketika komunikasi antara PLC dan HMI/SCADA terputus atau terjadi error. Dengan Wireshark, paket FINS dapat diinspeksi secara detail guna mengidentifikasi penyebab masalah (seperti kesalahan alamat, timeout, dll).
  • Deteksi dan Pemantauan Keamanan: Mahasiswa memahami penggunaan sniffing dalam keamanan jaringan industri, misalnya memantau paket yang mencurigakan atau akses tidak sah ke PLC. Sniffing dapat membantu mengetahui jika ada pihak asing yang menyusup ke jaringan PLC, serta memeriksa apakah protokol komunikasi rentan (FINS tidak terenkripsi) sehingga dapat diambil langkah pengamanan.

Dasar Teori

Sniffing Jaringan

Sniffing jaringan adalah teknik menyadap lalu lintas data yang berjalan pada sebuah jaringan komputer. Aplikasi seperti Wireshark berfungsi sebagai network analyzer yang dapat menangkap setiap paket data yang lewat dan menguraikannya sesuai protokol yang digunakan. Proses sniffing biasanya dilakukan dengan menempatkan kartu jaringan (NIC) dalam mode promiscuous, sehingga NIC tersebut mendengarkan semua trafik yang melalui media jaringan (misalnya Ethernet).

Pada topologi jaringan modern yang menggunakan switch, paket unicast (satu lawan satu) biasanya hanya dikirim ke port tujuan, sehingga komputer sniffing tidak otomatis menerima paket yang bukan untuk dirinya. Oleh karena itu, untuk melakukan sniffing yang efektif, sering digunakan hub Ethernet (yang mengirimkan semua trafik ke semua port) atau fitur port mirroring pada switch managed. Port mirroring akan menduplikasi semua data dari port sumber (misal port tempat PLC terhubung) ke port tujuan (port tempat laptop Wireshark). Tanpa teknik tersebut, komputer Anda hanya dapat melihat paket yang dikirim dari/ke PC sendiri atau paket broadcast saja.

Secara singkat, sniffing bukanlah tindakan merusak data, melainkan merekam/mencatat paket yang lalu-lalang. Namun, kegiatan ini harus dilakukan dengan izin dan etika yang baik, karena dapat menangkap informasi sensitif seperti password atau data kontrol. Wireshark sebagai alat sniffing dapat menganalisis paket secara real-time dan memungkinkan pengguna memfiltrasi paket berdasarkan kriteria tertentu (misal berdasarkan protokol atau alamat) sehingga memudahkan peninjauan trafik yang relevan.

Ads Jadwal Training bisaioti Offline
NoMateriTanggalWaktuHargaLokasiViewAction
1IOT PLC SCADA Siemens7-8 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
2IOT PLC SCADA Omron14 - 15 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
3IOT PLC SCADA Schneider21-22 Juni 202508.00 -16.002000000SurabayaSilabusDaftar Sekarang
4IOT PLC SCADA Allen Bradley28-29 Juni 202508.00-16.002000000SurabayaSilabusDaftar Sekarang

Protokol FINS pada PLC Omron

FINS (Factory Interface Network Service) adalah protokol komunikasi buatan Omron yang dirancang untuk pertukaran data pada otomasi industri. Protokol ini bekerja di lapisan aplikasi model TCP/IP dan memungkinkan komunikasi yang mulus melalui berbagai media jaringan Omron, seperti Ethernet, Controller Link, maupun serial RS232/485. Artinya, perintah-perintah FINS dapat dikirim melalui ethernet (dengan header UDP/IP), melalui jaringan Controller Link, atau dibungkus dalam frame serial Host Link, tergantung media yang digunakan.

Pada komunikasi Ethernet, FINS umumnya ditransmisikan menggunakan protokol UDP/IP dengan port 9600 sebagai port default. Wireshark mengidentifikasi trafik ini sebagai “OMRON-FINS” secara otomatis bila menggunakan port dan format yang sesuai. Selain FINS/UDP, terdapat varian FINS/TCP yang menggunakan koneksi TCP. Dengan kata lain, FINS memiliki dua mode: FINS/UDP (berbasis UDP packet) dan FINS/TCP (berbasis koneksi TCP). Pada PLC seri CP1L/CP1E/CP2E dengan modul Ethernet, komunikasi FINS biasanya menggunakan UDP (tanpa sesi koneksi berkelanjutan), namun beberapa perangkat Omron juga mendukung komunikasi FINS melalui TCP/IP (terutama untuk komunikasi antar controller atau koneksi melalui router).

Struktur protokol FINS: FINS bekerja dengan format frame biner yang terdiri dari header dan data. Header FINS mencakup informasi alamat tujuan/sumber di level jaringan Omron (seperti Network, Node, Unit), kode perintah (Command Code), dan Service ID. Frame FINS dapat dibagi menjadi Command Frame (permintaan) dan Response Frame (jawaban). Secara garis besar protokol FINS memiliki dua jenis data utama: struktur data perintah (Command) dan struktur data respons. Command Code menentukan jenis operasi yang diminta – misalnya 0x0101 berarti perintah “Memory Area Read” (membaca memori) dan 0x0102 berarti “Memory Area Write” (menulis memori). Selain kode perintah, frame FINS juga memuat Memory Area Code (menunjukkan area memori PLC yang diakses, contohnya 0x82 untuk DM Data Memory), alamat memori yang diakses, jumlah kata data, serta tentunya payload data (pada respons read berisi nilai yang dibaca, atau pada perintah write berisi nilai yang akan ditulis).

Protokol FINS tidak mengenkripsi data, sehingga isi komunikasi (misalnya nilai-nilai register PLC) dapat dibaca langsung dari paket yang ditangkap. Inilah salah satu alasan mengapa sniffing berguna, tetapi juga mengapa keamanan jaringan (segmentation, VPN, dll.) perlu diperhatikan saat protokol ini digunakan di lingkungan industri.

Alat dan Bahan yang Dibutuhkan

Sebelum praktik, siapkan peralatan dan perangkat lunak berikut:

  • PLC Omron Seri CP (misal CP1L-EM/CP1L-E, CP1E dengan modul Ethernet, atau CP2E) beserta catu daya dan kabel Ethernet. Pastikan PLC memiliki port Ethernet aktif yang terkonfigurasi (IP address).
  • Laptop/PC dengan Wireshark – software Wireshark terinstal (pastikan WinPcap/Npcap terpasang untuk menangkap paket). Laptop ini akan digunakan sebagai sniffer.
  • Hub Ethernet atau Switch yang mendukung Port Mirroring:
    • Jika menggunakan hub, hubungkan PLC dan perangkat lain (misal HMI/PC pengirim data) ke hub yang sama, serta hubungkan laptop Wireshark ke hub tersebut. Karena hub menyiarkan semua trafik ke semua port, laptop dapat menangkap komunikasi PLC.
    • Jika menggunakan switch, atur satu port switch sebagai mirror dari port yang terhubung ke PLC (atau perangkat yang komunikasinya ingin disadap). Colok laptop Wireshark ke port mirror tersebut. Dengan port mirroring, semua paket data dari/ke PLC akan disalin ke laptop.
  • Perangkat penghasil trafik PLC: Misalnya software pemrograman PLC Omron (CX-Programmer), aplikasi SCADA/HMI, atau program apapun yang akan berkomunikasi dengan PLC melalui Ethernet. Ini diperlukan agar ada paket FINS yang bisa ditangkap (contoh: melakukan ping PLC, membaca memori PLC, atau menjalankan HMI yang polling data PLC).
  • Kabel UTP LAN secukupnya untuk menghubungkan semua perangkat dalam topologi (PLC, laptop, hub/switch, dll).
  • Konfigurasi IP Jaringan: Pastikan Anda mengetahui alamat IP PLC dan atur alamat IP laptop dalam satu subnet. Misal PLC IP: 192.168.1.10, maka laptop bisa di 192.168.1.5 dengan subnet mask 255.255.255.0. Konfigurasi ini bisa diakses dari setting Ethernet PLC (untuk CP1L-EM/CP2E biasanya diatur via dip switch atau software).

Langkah-langkah Praktis Sniffing

Ikuti langkah-langkah berikut secara berurutan untuk melakukan sniffing komunikasi jaringan PLC Omron seri CP menggunakan Wireshark:

  1. Persiapan Topologi: Hubungkan perangkat sesuai skenario. Misalnya, jika Anda ingin menyadap komunikasi antara PLC dan laptop pemrograman:
    • Hubungkan PLC ke sebuah port di hub/switch.
    • Hubungkan laptop yang akan berkomunikasi dengan PLC (misalnya untuk memantau data atau mengirim perintah) ke hub/switch. (Laptop ini bisa jadi laptop yang sama dengan yang menjalankan Wireshark, atau perangkat terpisah. Jika perangkat terpisah, pastikan Wireshark laptop terhubung ke hub/switch yang sama).
    • Hubungkan laptop sniffing (Wireshark) ke hub, atau ke port mirror di switch.
      Pastikan semua perangkat berada dalam satu segmen jaringan (IP subnet) yang sama dan dapat ping satu sama lain untuk memastikan konektivitas dasar. Contohnya: PLC 192.168.1.10 bisa di-ping dari laptop 192.168.1.5.
  2. Konfigurasi Port Mirroring (jika pakai switch): Masuk ke antarmuka manajemen switch. Tentukan port sumber (port di mana PLC terhubung, juga port perangkat komunikasi PLC jika berbeda) dan atur port tujuan (port laptop Wireshark) sebagai mirror. Simpan konfigurasi. (Langkah ini tidak diperlukan jika Anda menggunakan hub atau jika laptop Wireshark juga merupakan perangkat yang berkomunikasi langsung dengan PLC).
  3. Buka Wireshark: Jalankan aplikasi Wireshark di laptop. Pada tampilan awal, Anda akan melihat daftar interface jaringan. Pilih interface yang terhubung ke jaringan PLC (misalnya Ethernet adapter yang terkoneksi ke hub/switch). Sebelum mulai, Anda bisa memastikan NIC mode di Wireshark diset promiscuous (umumnya default aktif).
  4. Mulai Menangkap Paket: Klik tombol Start Capturing (ikon hiu berwarna biru) atau tekan Ctrl+E setelah memilih interface. Wireshark akan mulai merekam semua paket pada interface tersebut. Jika topologi dan konfigurasi benar, Anda akan melihat paket-paket mulai muncul dalam list Wireshark – termasuk paket broadcast (seperti ARP) dan unicast antar perangkat.
  5. Hasilkan Trafik FINS: Lakukan suatu aktivitas yang memicu komunikasi FINS antara PLC dan perangkat lain. Contoh skenario:
    • Jalankan CX-Programmer dan online dengan PLC melalui Ethernet. Misalnya, lakukan operasi monitoring atau read/write data memory dari software. Setiap kali software membaca/mengubah data di PLC, protokol FINS akan digunakan di balik layar.
    • Atau, jika ada HMI/SCADA terhubung, biarkan HMI melakukan polling data PLC (misal membaca nilai DM setiap detik).
    • Bisa juga menggunakan tool sederhana atau skrip yang mengirim perintah FINS ke PLC (misal memanfaatkan library atau fungsi FINS).
      Pastikan ada aktivitas seperti membaca area memori DM atau I/O agar kita mendapatkan contoh paket FINS Read/Write untuk dianalisis.
  6. Berhenti dan Simpan Capture (Opsional): Setelah dirasa cukup paket terekam (misal beberapa detik atau menit aktivitas), klik tombol Stop (ikon persegi merah) di Wireshark. Anda dapat menyimpan hasil tangkapan paket ke file .pcapng untuk dianalisis nanti atau sebagai dokumentasi.
  7. Filter Paket FINS: Untuk memfokuskan tampilan pada protokol FINS, gunakan fitur display filter di Wireshark. Pada kolom filter (di atas daftar paket), ketik filter protokol Wireshark untuk FINS, yaitu:
omron

Filter “omron” tersebut akan menyaring sehingga hanya paket yang diidentifikasi sebagai protokol Omron FINS yang muncul. Anda juga bisa memfilter berdasarkan port, misalnya udp.port == 9600 (karena FINS/UDP menggunakan port 9600). Tekan Enter untuk menerapkan filter. Jika berhasil, Anda akan melihat hanya paket FINS (request dan response) pada daftar.

  1. Identifikasi Paket FINS Request dan Response: Perhatikan dua jenis paket FINS yang tertangkap:
    • Request (Command) – biasanya dikirim dari PC (client) ke PLC (server). Wireshark akan menandai ini sebagai FINS Command dan mungkin menunjukkan detail seperti Command Code dan parameter.
    • Response – dikirim dari PLC ke PC sebagai jawaban. Ditandai sebagai FINS Response.
      Contoh: Paket request mungkin memiliki Service ID (SID) tertentu, dan paket response akan memiliki SID yang sama untuk menunjukkan korelasi dengan request tersebut. Wireshark secara otomatis menguraikan isi paket FINS sehingga Anda dapat mengklik paket dan melihat rincian di panel Packet Details.
  2. Analisis Detail Frame FINS: Klik pada salah satu paket FINS (misal paket Command yang dikirim PC). Lihat panel detail yang menampilkan hierarki protokol: Ethernet II, IP, UDP, lalu FINS. Ekspansi bagian FINS untuk melihat butirannya. Beberapa hal yang dapat diamati:
    • Command/Response Indicator: Menunjukkan ini paket perintah atau respon (misal ICF field bit mengindikasikan command vs response).
    • Destination Network/Node/Unit (DNA, DA1, DA2): Alamat tujuan dalam jaringan Omron. Misal DA1 = 0x05 berarti Node PLC bernomor 5.
    • Source Network/Node/Unit (SNA, SA1, SA2): Alamat sumber. Misal SA1 mungkin adalah node PC (sering diatur otomatis oleh PLC/adapter, contohnya 0x0A).
    • Service ID (SID): Identifier layanan, biasanya increment setiap request.
    • Command Code: Ini bagian penting – menunjukkan operasi yang diminta. Sebagai contoh, 0x0101 artinya Memory Area Read, dan 0x0102 artinya Memory Area Write.
    • Memory Area & Address: Wireshark seringkali langsung menampilkan area dan alamat yang diakses. Contoh, Anda mungkin melihat field “DM” dengan address 100 jika perintahnya membaca DM100. Ini berasal dari kombinasi kode area (misal 0x82 untuk DM) dan alamat offset.
    • Data Length/Data Count: Untuk perintah Read, akan ada jumlah word yang diminta; untuk Write, jumlah word data yang dikirim.
    • Data (untuk Write/Response): Jika paket merupakan response read, di bagian data akan terlihat nilai-nilai yang dibaca dari PLC. Jika paket perintah write, Anda akan melihat nilai yang dikirim ke PLC.
    • Error Code: Jika ada kesalahan (misal akses memory invalid), PLC akan mengirim response dengan kode error tertentu daripada data. Wireshark akan menampilkan kode error dan artinya jika dikenali.

Dengan memahami struktur di atas, Anda dapat menginterpretasikan isi komunikasi. Misalnya, dari satu paket kita bisa tahu bahwa PC meminta membaca 2 word dari DM100 dan DM101, lalu di paket respons terlihat nilai DM100=1234 dan DM101=0000 (contoh).

  1. Contoh Analisis Hasil Sniffing: Misalkan kita menjalankan sniffing saat melakukan operasi Read dan Write pada Data Memory (DM) PLC:
    • Read DM: PC mengirim paket FINS Command dengan Command Code 0x0101 (Memory Read), Memory Area code 0x82 (menandakan area DM), lalu alamat misal 0x0064 (ini dalam hex mewakili DM100 desimal) dan word count 0x0002 (membaca 2 word). Wireshark akan menampilkan sesuatu seperti “FINS Memory Area Read – DM100, count 2”. PLC kemudian merespon dengan frame berisi Command Code 0x0101 juga (menunjukkan ini respon untuk read) dan menyediakan data 2 word tersebut. Di Wireshark, di bagian FINS response akan terlihat nilai data misalnya “Data: 1234 0000 (hex)” yang merupakan isi DM100 dan DM101.
    • Write DM: PC mengirim paket dengan Command Code 0x0102 (Memory Write), area code 0x82 (DM), alamat misal 0x0064 (DM100), count 0x0001 (menulis 1 word), dan data misalkan 0x00FF. Wireshark menunjukkan “FINS Memory Area Write – DM100 = 00FF (255 des)”. PLC merespon dengan acknowledgment (biasanya response code 0x0102 dengan mungkin field status OK jika sukses menulis, atau kode error jika gagal).
      Dari contoh di atas, mahasiswa dapat melihat alur komunikasi: Request dari PC ke PLC dan reply dari PLC, serta dapat mencocokkan bahwa nilai data dalam paket sesuai dengan operasi yang dilakukan di aplikasi (misal menulis nilai 255 ke DM100, atau membaca DM100/DM101 sesuai program).
  2. Perhatikan Hal-hal Khusus: Saat menganalisis, catat beberapa hal:
    • Urutan Waktu: Wireshark menampilkan waktu relatif. Cek selang waktu antara request dan response FINS. Normalnya sangat cepat (milisekon). Jika ada delay panjang atau retransmission, mungkin ada masalah jaringan atau PLC lambat merespon.
    • Alamat IP vs FINS Address: Omron PLC memiliki FINS node number yang bisa berbeda dari alamat IP. Dalam jaringan Ethernet lokal sederhana, biasanya FINS node number PLC di-set sama dengan oktet terakhir IP, namun ini tidak selalu. Wireshark decode membantu melihat Node PLC (DA1, SA1). Pastikan Node yang digunakan PC dalam frame (SA1) berbeda dengan Node PLC (DA1) dan unik di jaringan.
    • Broadcast Discovery: PLC Omron kadang mengirim paket FINS Node Discovery (broadcast) saat pertama kali terhubung. Ini tampak sebagai FINS frame ke alamat node 0xFF (broadcast). Menarik untuk diamati namun bukan komunikasi data, melainkan handshake pencarian node.
    • Protokol Lain: PLC seri CP mungkin juga mendukung protokol lain di Ethernet (misal HTTP untuk NB HMI, atau EtherNet/IP khusus model tertentu). Filter kita membatasi ke FINS saja. Jika perlu, analisis juga paket ARP (untuk mengetahui MAC address PLC), atau ICMP (ping) untuk memastikan koneksi, namun ini di luar fokus FINS.

Tips Keamanan dan Etika Sniffing

  • Izin dan Legalitas: Selalu minta izin sebelum melakukan sniffing pada jaringan perusahaan atau institusi. Sniffing tanpa izin dapat dianggap sebagai pelanggaran hukum karena mirip dengan penyadapan. Pastikan aktivitas ini dilakukan dalam lingkungan lab atau dengan persetujuan pihak berwenang.
  • Minimize Impact: Sniffing pasif umumnya tidak memengaruhi kinerja jaringan (karena hanya mendengar). Namun, hindari mengaktifkan fitur yang mengirim paket dari Wireshark (misal resolusi nama) di jaringan produksi. Gunakan mode monitor dengan bijak dan jangan mengubah data apapun di jaringan saat hanya ditugaskan mengamati.
  • Jaga Kerahasiaan Data: Data yang tertangkap bisa saja sensitif (contoh: password login HMI, nilai produksi, atau perintah rahasia mesin). Sebagai analis, etika menuntut Anda menyimpan data tersebut dengan aman dan tidak menyebarkannya. Buang capture jika sudah tidak diperlukan, atau minimal anonimisasi data sensitif bila akan dibagikan untuk diskusi teknis.
  • Pisahkan Jaringan Bila Perlu: Dalam konteks keamanan, mengetahui bahwa protokol seperti FINS tidak terenkripsi berarti rawan disalahgunakan. Disarankan jaringan PLC tersegmentasi (misal dipisah dari internet publik) dan gunakan VPN/secure tunnel jika harus diakses jarak jauh. Sniffing bisa membantu mendeteksi intrusion atau perintah tak lazim – misal jika ada FINS write tak dikenal, itu tanda breach.
  • Etika Profesional: Gunakan kemampuan sniffing untuk tujuan konstruktif: edukasi, pemecahan masalah, dan peningkatan keamanan. Jangan menyalahgunakan pengetahuan ini untuk mengintip data pihak lain tanpa hak. Selalu patuhi aturan lab dan kode etik IT di lingkungan Anda.

Dengan mengikuti jobsheet ini, diharapkan siswa mampu melakukan sniffing jaringan PLC Omron secara mandiri menggunakan Wireshark, memahami protokol FINS TCP/UDP pada komunikasi PLC, dan dapat melakukan analisis komunikasi PLC untuk keperluan troubleshooting maupun peningkatan keamanan jaringan industri. Selamat mencoba dan selalu utamakan keselamatan serta etika dalam praktik!

 

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Daftar Sekarang