Comment puis-je ajouter un analyseur de protocole pour wireshark?

j'ai un protocole personnalisé que je regarde à wireshark. J'ai pensé que ce serait utile si wireshark pouvait le désactiver pour moi pour que je n'ai pas à décoder l'hexagone. Bien que je fasse cela dans mes journaux de programmation, wireshark capture toute la conversation avec des informations de synchronisation afin qu'il serait plus utile là-bas.

cela Peut être fait facilement?

32
demandé sur Matt 2011-02-05 06:41:18

3 réponses

Cela dépend de votre définition de "facilement". Il est certainement faisable - Wireshark a un grand soutien pour les dissecteurs branchables.

README.développeur est apparemment le "meilleur manuel" pour dissecteur de développement. Jetez un coup d'oeil, et décidez vous-même.

14
répondu Matti Virkkunen 2014-04-01 18:10:33

vous pouvez écrire des dissecteurs en utilisant L'API LUA de Wireshark. De cette façon, vous pouvez écrire un dissecteur rapide et sale sans télécharger le code de Wireshark, ou même un compilateur. Un très simple, mais puissant exemple dans la documentation. Un tel dissecteur LUA est parfaitement parfait pour déboguer l'utilisation, et même la distribution avec votre projet.

si vous avez l'intention de confier votre dissecteur au dépôt officiel de Wireshark, vous devez bien sûr l'implémenter en C pour les performances et l'intégration raisons.

Pour utiliser votre dissecteur, créez un fichier my_dissector.lua et invoquer Wireshark comme ceci: wireshark -X lua_script:my_dissector.lua

27
répondu mic_e 2015-03-27 16:41:59

alternativement, au lieu d'écrire votre propre dissecteur, il y a des projets qui génèrent un dissecteur de protocole à partir d'une définition ou qui fournissent une DSL au-dessus de L'API:

  • wssdl -- une bibliothèque Lua qui définit un langage spécifique au domaine construit au-dessus de Lua dans le but de définir des dissecteurs de protocole.
  • wsgd -- générique dissecteur qui analyse une définition de protocole et l'utilise pour disséquer message.
  • asn2wrs -- un outil qui compile une ASN.1 spécification et un peu de colle C à un dissecteur Wireshark.
  • csjark -- un outil pour générer des dissecteurs Lua à partir de définitions de structures à utiliser avec Wireshark.
3
répondu Snaipe 2016-11-08 11:23:06