2016-09-29 135 views
0

我有一个wireshark插件代码,可以在Ubuntu 16下编译和生成完美的.so文件。这个解剖器是为wireshark 1.6编写的,插件在wireshark 1.6下完美运行。Wireshark解剖器错误Ubuntu

然而,当我尝试使用这个插件Wireshark的2(或任何Wireshark的版本比1.6以上)下列错误显示 -

Couldn't load module /home/th89ct/.config/wireshark/plugins/plugin-1_0_0.so: /home/th89ct/.config/wireshark/plugins/plugin-1_0_0.so: undefined symbol: tvb_length

Couldn't load module /home/th89ct/.config/wireshark/plugins/plugin--1_0_0.so: /home/th89ct/.config/wireshark/plugins/plugin--1_0_0.so: undefined symbol: check_col

,所以我想通过替换的方法来编辑代码 - 如谷歌搜索后,我发现这些方法不属于新的wireshark API。

,但问题是我每次修改代码时 - 即使只在一个空格把一个空间 - 出现以下错误 -

*gcc -c -DHAVE_CONFIG_H -I/usr/include/wireshark -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -DINET6 -D_U_=attribute((unused)) -Wall -Wpointer-arith -g -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -fPIC -DPIC packet-ife.c -o packet-ife.o packet-ife.c:105:23: fatal error: epan/emem.h: No such file or directory #include ^compilation terminated. Makefile.linux:28: recipe for target 'packet-ife.o' failed make: *** [packet-ife.o] Error 1*

我该怎么办?我不知道!!!!在此先感谢

回答

0

您的问题在于,这里的emem被wmem替换为Wireshark 2.0开头。您可以在Wireshark的README.wmem文件中了解更多有关wmem的信息。当然,Wireshark的epan/dissectors/plugins/*/目录中有很多解析器可用作帮助您完成转换的极好示例。

相关问题