Скомпилированный плагин Wireshark

#nfc #wireshark #wireshark-dissector

Вопрос:

Попытка скомпилировать плагин wireshark с использованием примера wireshark-nfc (https://code.google.com/archive/p/wireshark-nfc /)

 #ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#define WS_BUILD_DLL

#include <gmodule.h>

/* Included *after* config.h, in order to re-define these macros */
#ifdef PACKAGE
#undef PACKAGE
#endif

/* Name of package */
#define PACKAGE "nfc-wireshark"

#ifdef VERSION
#undef VERSION
#endif

/* Version number of package */
#define VERSION "0.8.0"
#define WIRESHARK_VERSION_MAJOR "0.8.0"
#define WIRESHARK_VERSION_MINOR "0.8.0"

#ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar plugin_version[] = VERSION;
G_MODULE_EXPORT const gchar plugin_want_major[] = WIRESHARK_VERSION_MAJOR;
G_MODULE_EXPORT const gchar plugin_want_minor[] = WIRESHARK_VERSION_MINOR;

G_MODULE_EXPORT void plugin_register(void) {
  extern void proto_register_llcp(void);
  extern void proto_register_snep(void);
  extern void proto_register_ndef(void);
  proto_register_llcp();
  proto_register_ndef();
  proto_register_snep();
}

G_MODULE_EXPORT void plugin_reg_handoff(void) {
  extern void proto_reg_handoff_llcp(void);
  extern void proto_reg_handoff_snep(void);
  extern void proto_reg_handoff_ndep(void);
  proto_reg_handoff_llcp();
  proto_reg_handoff_snep();
  proto_reg_handoff_ndef();
}
#endif
 

Я использую этот файл при компиляции, все работает, но в приложении wireshark отображается ошибка

Плагин ‘nfc-wireshark.so ‘ был скомпилирован для Wireshark версии 3.3

Комментарии:

1. Пожалуйста, не подключайтесь к внешним серверам. Пожалуйста, не используйте графический контент, который вы можете отобразить в виде текста в своем вопросе.

Ответ №1:

Ваша ранее опубликованная графика показывает другую версию: «775433776.775433776». Это десятичное число равно x2E382E30.x2E382E30. Это выглядит как дамп «.8.0″,».8.0″.

Если вы хотите скомпилировать для Wireshark 3.4.9 (последняя версия) Я бы попытался изменить определения

 #define WIRESHARK_VERSION_MAJOR "3"
#define WIRESHARK_VERSION_MINOR "4"
 

Комментарии:

1. Спасибо за помощь, сделал, как вы сказали. Теперь новая ошибка при запуске wireshark wireshark: 172708): GLib-КРИТИЧЕСКИЙ **: 14:48:31.764: g_hash_table_insert_internal: ошибка утверждения ‘hash_table ! = NULL’ (wireshark: 172708): GLib-КРИТИЧЕСКИЙ **: 14:48: 31.764: g_hash_table_lookup: утверждение ‘hash_table ! = NULL’ошибка необработанного исключения («epan / proto.c: 7477: неудачное утверждение » (guint)proto_id <gpa_hinfo.len» (Незарегистрированный hf!)», group = 1, code = 6)

2. Если ответ является ответом на ваш вопрос, вы можете принять это. Новая проблема лучше всего проявляется в новом вопросе. Вы уже видели, что этот дополнительный вопрос не может быть отформатирован в комментарии. — Но, честно говоря, это выглядит сложным для сайта с вопросами и ответами, такого как Stackoverflow. Необходимо будет взглянуть на исходный код Wireshark и, вероятно, на исходный код всех подключаемых модулей. Я ожидаю, что вы получите комментарий типа «используйте отладчик».