Нет, вы не можете прочитать его, но вы можете установить фильтр и применить его к текущему захвату. См. Раздел Поддержка графического интерфейса в документации по Wireshark.
Чтобы установить текст текстового поля фильтра дисплея, используйте set_filter(text)
.
Чтобы применить текущий текст фильтра отображения (чтобы он вступил в силу), используйте apply_filter()
.
Избегайте вызова apply_filter()
изнутри диссектора (бесконечный цикл может возникнуть при повторном вызове диссектора). Эта функция лучше всего подходит для действия в меню или действия кнопки.
РЕДАКТИРОВАТЬ : Чтобы добавить собственную * Lua-функцию * 1014 в API Lua Wireshark ( не проверено ):
- Добавьте функцию с именем
funnel_get_filter()
в funnel_stat.c
(см., Например, строку 468).
- Добавьте
get_filter
к funnel_ops_t
(funnel.h:80
).
- Добавьте
funnel_get_filter
к funnel_ops
в funnel_stat.c:546
и в tap-funnel.c:90
. Убедитесь, что вы добавили его с правильным индексом массива в соответствии с funnel_ops_t
.
- Скопируйте приведенный ниже код в
wslua_gui.c
и затем скомпилируйте:
/* TODO: Test me!! */
WSLUA_FUNCTION wslua_get_filter(lua_State* L) { /* Get the text of the display filter textbox */
const gchar* text;
text = ops->get_filter();
lua_pushstring(L,text);
WSLUA_RETURN(1); /* The display filter textbox's text. */
}