Pertanyaan Bagaimana saya bisa menambahkan penganalisis protokol khusus ke wireshark?


Saya memiliki protokol khusus yang saya lihat di wireshark. Saya pikir itu akan berguna jika wireshark dapat melumpuhkannya untuk saya sehingga saya tidak perlu memecahkan kode hex. Meskipun saya melakukan ini di log program saya, wireshark menangkap seluruh percakapan dengan info waktu sehingga akan lebih berguna di sana.

Bisakah ini dilakukan dengan mudah?


32
2018-02-05 03:41


asal


Jawaban:


Itu tergantung pada definisi Anda tentang "mudah". Ini pasti bisa dilakukan - Wireshark memiliki dukungan besar untuk para dissectors pluggable.

README.developer rupanya "manual terbaik" untuk pengembangan disektor. Coba lihat, dan putuskan sendiri.


14
2018-02-05 03:45



Anda dapat menulis dissectors menggunakan API LUA Wireshark. Dengan cara itu Anda dapat menulis pembedah cepat dan kotor tanpa mengunduh kode Wireshark, atau bahkan kompilator. Contoh yang sangat sederhana namun sangat kuat ditunjukkan dalam dokumentasi. Seperti seorang LUA dissector baik-baik saja untuk debugging digunakan, dan bahkan distribusi dengan proyek Anda.

Jika Anda bermaksud untuk melakukan penyeleksian Anda ke repositori Wireshark resmi, Anda tentu saja harus menerapkannya di C untuk alasan kinerja dan integrasi.

Untuk menggunakan pembedahan Anda, buat file my_dissector.lua dan aktifkan Wireshark seperti ini: wireshark -X lua_script:my_dissector.lua


27
2017-09-22 00:18



Sebagai alternatif, daripada menulis dissector Anda sendiri, ada beberapa proyek yang menghasilkan disector protokol dari definisi atau menyediakan DSL di atas API:

  • wssdl - Perpustakaan Lua yang mendefinisikan bahasa khusus domain yang dibangun di atas Lua untuk tujuan mendefinisikan penyingkir protokol.
  • wsgd - Disektor generik yang mem-parsing definisi protokol dan menggunakannya untuk membedah pesan.
  • asn2wrs - Alat yang mengkompilasi spesifikasi ASN.1 dan beberapa lem C ke penyidik ​​Wireshark.
  • csjark - Alat untuk menghasilkan Lua dissectors dari definisi struct C untuk digunakan dengan Wireshark.

3