Wireshark dissector-как использовать dissectortable: добавить (шаблон, диссектор) с любым шаблоном?



Я создаю пользовательский диссектор для Wireshark. Я добавляю свой диссектор к столу диссектора примерно так...



udp_table = DissectorTable.get("udp.port")
udp_table:add(7777,my_proto)


Однако вместо того, чтобы мой диссектор обрабатывал только udp-порт 7777, я хочу, чтобы он обрабатывал любой udp-порт или, по крайней мере, действительно большой диапазон.

Как я могу это сделать?



Он говорит в документации , что я могу заменить 7777 (шаблон) диапазоном, но я не уверен, что синтаксис для этого есть.



Спасибо!

526   1  

1 ответ:

В теории диапазон добавляется с помощью строки Lua для первого аргумента к dissectortable:add(), где строка является диапазоном, таким как "7777-8888". Тем не менее, может быть ошибка, препятствующая этой работе прямо сейчас (см. это ask.wireshark.org нить ).

Независимо от этого, вы должныне заставить ваш диссектор работать накаждом UDP-порту, так как это не было бы правдой и столкнулось бы с целой кучей хорошо известных применений UDP-порта (например, DNS, UPNP, SIP и т. д.), а также динамически используемые такие, как для RTP и RTCP.

Возможно, то, что вы действительно хотите сделать, - это иметь эвристический диссектор? Если это так, вы можете сделать Lua-диссектор эвристическим, начиная с wireshark v1.11.3 и далее (самая последняя версия wireshark-1.12rc2). Смотрите документы API для proto:register_heuristic и пример диссектора.скрипт lua вверху страницы примеров Lua.

Comments

    Ничего не найдено.