2011-02-05 2 views
32

У меня есть собственный протокол, который я просматриваю в wirehark. Я подумал, что было бы полезно, если wirehark может отредактировать это для меня, так что мне не нужно расшифровывать гекс. Хотя я делаю это в своих журналах программ, wirehark захватывает весь разговор с информацией о времени, поэтому было бы более полезно там.Как добавить пользовательский анализатор протоколов в wirehark?

Это легко сделать?

ответ

14

Это зависит от вашего определения «легко». Это определенно выполнимо - Wireshark имеет отличную поддержку подключаемых диссексуалов.

README.developer, по-видимому, является «лучшим руководством» для разработки диссектора. Взгляните и решите сами.

+2

Спасибо, что я был после. Я также открыл эту ссылку: http://www.wireshark.org/docs/wsdg_html_chunked/ChapterDissection.html – Matt

26

Вы можете писать диссекторы, используя API-интерфейс Wireshark LUA. Таким образом, вы можете написать быстрый и грязный диссектор без загрузки кода Wireshark или даже компилятора. Показан очень простой, но мощный пример in the documentation. Такой рассеиватель LUA отлично подходит для отладки и даже для распространения с вашим проектом.

Если вы намерены передать своего диссектора официальному репозиторию Wireshark, вам следует, конечно, реализовать его в C по соображениям производительности и интеграции.

Чтобы использовать прозектор, создайте файл my_dissector.lua и вызывать Wireshark, как это: wireshark -X lua_script:my_dissector.lua

3

В качестве альтернативы, вместо того чтобы писать свой собственный прозектор, есть некоторые проекты, которые генерируют прозектор протокол из определения или предоставляют DSL на верхняя часть API:

  • wssdl - библиотека Lua, которая определяет язык конкретного домена, построенный на вершине Lua с целью определения диссекторов протокола.
  • wsgd - Общий диссектор, который анализирует определение протокола и использует его для анализа сообщений.
  • asn2wrs - Инструмент, который компилирует спецификацию ASN.1 и некоторый C-клей для диссектора Wireshark.
  • csjark - Инструмент для генерации разрезов Lua из определений структуры C для использования с Wireshark.
Смежные вопросы