Hi, folks,
I developed a plugin, and generated the xxx.so file. Then I put the xxx.so file under /usr/lib/wireshark/plugins/xxx.so
when I run the wireshark, it shows: couldn't load module /usr/lib/wireshark/plugins/1.4.4/xxx.so: undefined symbol: dissector_add_uint
I do have a dissector_add_uint function under "rpto_reg_handoff_xxx(void)", before I tried the plugin, I put the dissector (packet-xxx.c) under /epan/dissectors/, and it works; but when I want to use it as plugin, it failed.
Any one can help me? the following is some information I googled out, but I don't understand it
------- On Sun, Mar 27, 2011 at 8:02 PM, Guy Harris <guy () alum mit edu> wrote:
On Mar 27, 2011, at 7:42 PM, Raghavan R wrote:
I am writing a dissector for a Fibre Channel related protocol and want my dissector to get called based on value of fcct.gstype.
Then you will have to modify the Fibre Channel dissector so that it has a dissector table that uses the value of fcct.gstype to choose which dissector to call.
At this point, I think one of my biggest mistakes was to give dissector tables names that were the same as the name of the field they used, because that causes a lot of people to think you can use *any* named field as a dissector table. You *can't* do that; registered fields and registered dissector tables are separate, and almost all fields to *not* have a dissector table associated with them (because almost all fields are *not* used in protocol implementations to select which protocol module to hand the packet to).
|