Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menggunakan Lua Dissector di Wireshark

Posted on May 12, 2023

Sebagai salah satu alat penangkap paket jaringan terbaik di dunia, Wireshark memungkinkan Anda mendapatkan paket data tertentu sehingga Anda dapat menganalisisnya secara offline dan waktu nyata. Pikirkan aplikasi sebagai cara untuk memeriksa dengan cermat data yang mengalir melalui jaringan Anda, memungkinkan Anda menangkap masalah dan ketidakteraturan.

Anda dapat menggunakan pembagi jika ingin menganalisis bagian tertentu dari data paket. Seperti namanya, proses ini “membedah” kode, memungkinkan Anda memotong aspek-aspek tertentu yang memerlukan perhatian Anda. Tutorial ini menjelaskan cara membuat dan menggunakan dissectors di Wireshark menggunakan bahasa skrip Lua.

Sebelum Anda Memulai – Yang Perlu Anda Ketahui Tentang Dissectors

Meskipun dissectors menawarkan cara cepat untuk menganalisis bagian dari paket data di Wireshark, mereka harus mengikuti beberapa protokol untuk bekerja secara efektif. Protokol-protokol ini termasuk yang berikut:
Setiap disektor yang Anda buat harus didaftarkan untuk menangani jenis muatan tertentu dari protokol yang berbeda. Untuk menyelesaikan pendaftaran ini, Anda harus menetapkan objek “Proto” ke disektor Anda, yang akan Anda lihat di bawah. Saat Anda memanggil disektor melalui Wireshark, ia menerima tiga hal dari aplikasi: Objek TVB – Buffer TVB dari paket data .TreeItem Object – Akar pohon yang mewakili simpul tunggal dalam pohon data.Pinfo Object – Catatan informasi paket.Anda hanya dapat memanggil dissector jika paket data Anda cocok dengan DissectorTable yang Anda atur ke objek “Proto” Anda.Anda bisa mengatasi persyaratan ini dengan memaksa penggunaan dissector melalui fungsi “Decode As”. Namun meskipun begitu, Anda hanya dapat memaksa dissector jika DissectorTable yang Anda atur ke objek “Proto” adalah tipe yang benar.
Menyiapkan Dissector Anda Menggunakan LUA

As Wireshark ditulis dan menggunakan bahasa pemrograman C, sebagian besar dissector ditulis dengan cara yang sama dalam C. Namun, Anda mungkin ingin menggunakan Lua. Bahasa scripting ini lebih sederhana daripada C dan dengan demikian lebih mudah diakses untuk pengkodean pendatang baru atau mereka yang hanya ingin membuat disektor menggunakan bahasa yang lebih ringan.

Meskipun kode Anda akan lebih sederhana, disektor yang Anda dapatkan saat menggunakan Lua biasanya lebih lambat daripada yang Anda akan membuat menggunakan C. Namun demikian, ini adalah langkah-langkah yang harus diikuti jika Anda ingin membuat disektor Wireshark menggunakan Lua.

Langkah 1 – Menyiapkan Lua di Wireshark

Anda harus menyiapkan Lua jika Anda belum pernah menggunakannya di Wireshark sebelumnya :
Klik “Help,” diikuti dengan “About Wireshark.”Klik “Folder.”Pilih salah satu dari yang berikut untuk membuat skrip Lua aktif:Global Lua PluginsPersonal Lua PluginsPersonal
Setelah diaktifkan, skrip Anda akan siap setiap kali Anda memulai Wireshark. Setiap kali Anda membuat perubahan pada skrip itu, Anda perlu me-restart Wireshark untuk mendaftarkan perubahan atau tekan “Ctrl + Shift + L” untuk memuat ulang semua skrip Lua Anda agar perubahan Anda aktif.

Langkah 2 – Langkah Dasar untuk Membuat Dissector

Anda Jika Anda sudah terbiasa dengan Lua, Anda dapat menggunakan langkah-langkah berikut untuk membuat skrip disektor Anda sendiri yang akan bekerja di Wireshark:
Deklarasikan protokol untuk disektor Anda, yang mengharuskan Anda menyetel kedua nama panjang untuk digunakan di pohon protokol dan nama pendek yang berfungsi sebagai nama filter tampilan pembagi. Buat tiga bidang berikut, dengan tipe yang sesuai: Pertanyaan – Menampilkan tipe pertanyaan. Jawaban – Menampilkan tipe jawaban. Tipe Pesan – Mendemonstrasikan jika paket Anda meminta pertanyaan atau jawaban .Daftarkan bidang Anda sehingga Wireshark tahu cara menampilkannya. Tanpa bidang terdaftar, Anda akan menerima pesan “Kesalahan Lua”, biasanya memberi tahu Anda bahwa ProtoField Item Pohon Anda tidak valid. Buat fungsi diseksi yang menyertakan Pinfo yang disebutkan sebelumnya (berisi data tentang paket Anda) dan Item Pohon (membuat pohon Anda akan menambahkan ke subtree). Anda juga harus membuat “buffer”, yang berada di atas TCP Anda. Tentukan protokol dan port tempat Wireshark harus menggunakan dissector. Misalnya, Anda dapat mengatur protokol ke “TCP” dan nomor port mana pun yang ingin Anda gunakan.
Langkah 3 – Tambahkan Dissector Anda ke Wireshark

Saat ini, dissector Anda seperti bola lampu tanpa listrik. Itu ada, tetapi tidak ada gunanya bagi Anda sampai Anda dapat menjalankannya. Dengan kata lain, dissector Anda belum ditambahkan ke Wireshark, jadi Anda harus menambahkannya secara manual untuk menjalankannya dengan menggunakan langkah-langkah berikut:
Klik “Bantuan” dan buka menu “Tentang Wireshark”. Pilih “Folder” tab untuk menemukan daftar jalur untuk file Lua Anda. Pilih “Plugin Lua Pribadi.” Buat sebuah direktori jika perlu. Salin dan tempel file Lua yang Anda buat ke dalam direktori “Personal Lua Plugins”. Muat ulang Wireshark untuk mengaktifkan dissector.
Merupakan ide bagus untuk menjalankan tes pada dissector baru Anda dengan membuka beberapa paket yang telah Anda tangkap. Wireshark harus mengirimkan pesan yang menunjukkan nama panjang yang Anda pilih untuk dissector Anda, bersama dengan informasi tentang jenis pesan (pertanyaan atau jawaban) dan hasil pemeriksaan Anda.

Beberapa Kode Contoh

Jika Anda belum pernah membuat dissector sebelumnya (atau Anda Anda baru di Lua), Wireshark menawarkan sebuah contoh disektor yang berguna untuk Anda coba:
local p_multi = Proto(“multi”, “MultiProto”);
vs_protos lokal = {
[2] = “mtp2”,
[3] = “mtp3”,
[4] = “alkap”,
[5] = “h248”,
[6] = “ranap”,
[7] = “rnsap”,
[8] = “nbap”
}
f_proto lokal = ProtoField.uint8(“multi.protocol”, “Protocol”, base.DEC, vs_protos)
f_dir lokal = ProtoField.uint8(“multi.arah”, “Arah”, base.DEC, { [1] = “masuk”, [0] = “keluar”})
f_text lokal = ProtoField.string(“multi.teks”, “Teks”)
p_multi.fields = { f_proto, f_dir, f_text }
data_dis lokal = Dissector.get(“data”)
proto lokal = {
[2] = Pembedah.get(“mtp2”),
[3] = Pembedah.get(“mtp3”),
[4] = Pembedah.get(“alcap”),
[5] = Pembedah.get(“h248”),
[6] = Pembedah.get(“ranap”),
[7] = Pembedah.get(“rnsap”),
[8] = Pembedah.get(“nbap”),
[9] = Pembedah.get(“rrc”),
[10] = DissectorTable.get(“sctp.ppi”):get_dissector(3), — m3ua
[11] = DissectorTable.get(“ip.proto”):get_dissector(132), — sctp
}
fungsi p_multi.dissector(buf, pkt, pohon)
subpohon lokal = pohon:tambahkan(p_multi, buf(0,2))
subpohon: tambahkan(f_proto, buf(0,1))
subpohon: tambahkan(f_dir, buf(1,1))
proto_id lokal = buf(0,1):uint()
pembagi lokal = protos[proto_id]
jika pembagi ~= nil maka
— Dissector ditemukan, aktifkan subdissector dengan Tvb baru,
— dibuat dari buffer saat ini (melewati dua byte pertama).
pembagi:panggilan(buf(2):tvb(), pkt, pohon)
elseif proto_id < 2 lalu
subpohon: tambahkan(f_text, buf(2))
— pkt.cols.info:set(buf(2, buf:len() – 3):string())
kalau tidak
— fallback dissector yang hanya menampilkan data mentah.
data_dis:panggilan(buf(2):tvb(), pkt, pohon)
akhir
akhir
lokal wtap_encap_table = DissectorTable.get("wtap_encap")
lokal udp_encap_table = DissectorTable.get("udp.port")
wtap_encap_table:tambahkan(wtap.USER15, p_multi)
wtap_encap_table:tambahkan(wtap.USER12, p_multi)
udp_encap_table:tambahkan(7555, p_multi)

Postdissectors dan Chained Dissectors

Anda mungkin ingin lebih mendalami penggunaan dissector setelah Anda menguasai pembuatannya di Lua. Wireshark menawarkan dua jenis pembagi tambahan – postdissectors dan chained dissectors – yang menawarkan lebih banyak fungsi.

A postdissector sangat mirip dengan pemeriksaan akhir dari semua pembagi yang telah Anda jalankan untuk sebuah paket. Anda mendaftarkannya untuk mendapatkan pemberitahuan setelah Wireshark memanggil setiap dissector lain yang ingin Anda gunakan, dan Anda dapat menggunakannya untuk memfilter kolom “Protokol” dan “Info”. Fitur ini sangat berguna jika Anda ingin memfilter beberapa paket dalam satu sesi di mana Anda memiliki jarak yang panjang antara kumpulan data dan tidak dapat mengingat setiap paket satu per satu. pembagi yang digunakan sebelumnya) dengan memberi Anda akses ke data satu pembagi. Keuntungan utama di sini adalah bahwa disektor yang dirantai tidak harus menjalankan setiap paket lagi, memberi Anda hasil tanpa memaksa Anda menunggu disektor asli untuk berjalan lagi. C (bahasa aslinya), Anda mungkin tidak melihat kebutuhan untuk membuatnya di Lua juga. Tetap saja, mereka yang tidak nyaman dengan C, serta mereka yang sudah menguasai Lua, mungkin menemukan bahwa scripting Lua yang ringan membuatnya lebih mudah untuk membuat dissector mereka. Memang, Anda harus memperdagangkan waktu pemuatan yang lebih lama saat menjalankan proses dibandingkan dengan pembagi berbasis C, tetapi akan sangat membantu jika Anda memiliki opsi tersebut. Seberapa sering Anda menggunakan dissector di Wireshark? Sudahkah Anda mencoba membuatnya di C sebelumnya, dan menurut Anda manfaat apa yang diberikan oleh pembagi di Lua? Beri tahu kami di bagian komentar di bawah.

Terbaru

  • Inilah Daftar Link Nonton Film Ilegal yang Diblokir Komdigi dan Alasan Kenapa Kalian Harus Waspada
  • Inilah Lenovo Legion Y70 (2026), HP Gaming yang Siap Guncang Pasar dengan Teknologi AI
  • Inilah Rekomendasi HP Oppo Murah Spek Mewah Tahun 2026 yang Nggak Bakal Bikin Kantong Kalian Jebol!
  • Inilah 15 Situs Nonton Film Gratis Legal 2026, Bye-Bye Iklan Ganggu dan Drama Situs Ilegal!
  • Inilah Beasiswa Bekraf Digital Talent 2026: Solusi Buat Kalian yang Mau Jago AI dan Makin Produktif
  • Inilah Cara Memilih Power Bank yang Aman Dibawa ke Pesawat Agar Tidak Disita Petugas
  • Inilah Bocoran Harga dan Spesifikasi Redmi K90 Max, HP Gaming Dimensity 9500 Termurah yang Segera Dirilis!
  • Inilah RedMagic Gaming Tablet 5 Pro, Monster Gaming dengan Layar 185Hz dan Chipset Snapdragon 8 Elite yang Bikin Melongo!
  • Inilah Kenapa IGRS Trending di X, Bocorkan Spoiler Penting Game 007 First Light Hingga Ending!
  • Inilah 5 HP Murah Terbaru dengan Baterai Jumbo yang Siap Masuk Indonesia 2026, Ada yang Sampai 7.800 mAh!
  • Inilah Alasan Kenapa Samsung Galaxy S27 Bakal Pakai 50 Persen Chipset Exynos, Qualcomm Mulai Ditinggalkan?
  • Inilah Vivo Y31d Pro, Smartphone “Badak” dengan Baterai 7000mAh dan Ketahanan Standar Militer
  • Inilah 11 Game Penghasil Saldo DANA Tercepat 2026, Cara Asyik Cari Cuan Sambil Rebahan!
  • Inilah Motorola Edge 70 Pro, HP Midrange Gahar dengan Baterai 6500 mAh yang Siap Meluncur!
  • Inilah Kode Redeem FF Max 15 April 2026, Buru Skin Undersea Splatter dan Item Eksklusif Bawah Laut Sekarang!
  • Inilah Bocoran Vivo X500 Series dan Kamera Vlogging Saku yang Bakal Bikin DJI Ketar-ketir!
  • Inilah 6 Rekomendasi HP Gaming Paling Murah April 2026, Main Game Berat Nggak Pake Lag!
  • Inilah Caranya Manfaatin SPayLater di Aplikasi ShopeePay Biar Keuangan Tetap Aman Saat Tanggal Tua
  • Inilah Perbedaan Durasi Reels IG dan FB Terbaru 2026, Ternyata Bisa Sampai 20 Menit Lho!
  • Inilah Cara Mengurus Surat Keterangan Bebas Narkoba (SKBN), Syarat Lengkap, Biaya, dan Lokasi Pembuatannya
  • Inilah Cara Pakai Panel Zurra v2 FF Aim Lock Headshot, Simak Fitur dan Risikonya Sebelum Pakai!
  • Inilah Alasan Kenapa Sesi Akhir UTBK 2026 Nggak Lebih Sulit dan Penjelasan Lengkap Sistem Penilaiannya
  • Inilah Kenapa Tidak Bisa Login WA Web dan Solusi Paling Ampuh Biar Langsung Connect Lagi
  • Inilah Cara Mengatasi MyTelkomsel Oops Terjadi Kesalahan, Jangan Panik Dulu!
  • Inilah Cara Mengisi SKP Satpol PP dan Pranata Trantibum 2026 di e-Kinerja My ASN, Dijamin Anti Ribet!
  • Inilah Cara Akses IPTV Playlist M3U Indonesia Terbaru 2026, Nonton Ribuan Channel Tanpa Biaya!
  • Tutorial SEO Anchor Link: Cara Dapat Ranking di Google Lewat Strategi Link Building yang Aman
  • Inilah Huawei Pura 90 Pro, HP Flagship dengan Desain Kamera Segitiga Unik dan Performa Kirin yang Makin Gahar
  • Inilah 5 Rekomendasi Kipas Tangan Portable Cas Tahan Lama Biar Kalian Tetap Adem Saat Cuaca Panas Ekstrem
  • Inilah MacBook Neo, Laptop Termurah Apple yang Ternyata Punya Performa Gaming Gila!
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to use the Wan 2.7 AI model: A complete walkthrough
  • How to Run Minimax M2-7 Locally: A Step-by-Step Guide for Beginners
  • How to Build Self-Driving Codebases with Async Agents and NVIDIA Hardware
  • How to create a professional AI influencer using Apob AI
  • How to Use AI-Powered Tools to Level Up Your Stock Market Research Game with Claude Code
  • New Text Document
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?

©2026 emka.web.id | Design: Newspaperly WordPress Theme