2016-09-29 101 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/*/目錄中有很多解析器可用作幫助您完成轉換的極好示例。

相關問題