On 30.09.2013 14:15, Yuto KAWAMURA(kawamuray) wrote: > From: "Yuto KAWAMURA(kawamuray)" <kawamuray.dadada@xxxxxxxxx> > > Introduce Wireshark dissector plugin which adds support to Wireshark > for dissecting libvirt RPC protocol. > Added following files to build Wireshark dissector from libvirt source > tree. > * tools/wireshark/*: Source tree of Wireshark dissector plugin. > > Added followings to configure.ac or Makefile.am. > configure.ac > * --with-wireshark-dissector: Enable support for building Wireshark > dissector. > * --with-ws-plugindir: Specify wireshark plugin directory that dissector > will installed. > * Added tools/wireshark/{Makefile,src/Makefile} to AC_CONFIG_FILES. > Makefile.am > * Added tools/wireshark/ to SUBDIR. > --- > Makefile.am | 3 +- > cfg.mk | 8 +- > configure.ac | 72 ++- > tools/wireshark/Makefile.am | 29 + > tools/wireshark/README.md | 31 + > tools/wireshark/src/.gitignore | 4 + > tools/wireshark/src/Makefile.am | 42 ++ > tools/wireshark/src/packet-libvirt.c | 512 ++++++++++++++++ > tools/wireshark/src/packet-libvirt.h | 128 ++++ > tools/wireshark/util/genxdrstub.pl | 1009 +++++++++++++++++++++++++++++++ > tools/wireshark/util/make-dissector-reg | 198 ++++++ > 11 files changed, 2030 insertions(+), 6 deletions(-) > create mode 100644 tools/wireshark/Makefile.am > create mode 100644 tools/wireshark/README.md > create mode 100644 tools/wireshark/src/.gitignore > create mode 100644 tools/wireshark/src/Makefile.am > create mode 100644 tools/wireshark/src/packet-libvirt.c > create mode 100644 tools/wireshark/src/packet-libvirt.h > create mode 100755 tools/wireshark/util/genxdrstub.pl > create mode 100755 tools/wireshark/util/make-dissector-reg I think we want tools/wireshark/src/.gitignore merged to global $(srcdir)/.gitignore. Moreover, I've noticed a strange behavior when dissecting some strings. Try to dissect an opening sequence. The client calls CONNECT_OPEN function with 2 arguments: libvirt.remote_connect_open_args.name libvirt.remote_connect_open_args.flags While @flags are correctly dissected, the @name isn't. For example, while executing "virsh -c qemu+tcp:///system list" I got this: 0000 00 00 00 38 20 00 80 86 00 00 00 01 00 00 00 01 ...8 ........... 0010 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 ................ 0020 00 00 00 0e 71 65 6d 75 3a 2f 2f 2f 73 79 73 74 ....qemu:///syst 0030 65 6d 00 00 00 00 00 00 em...... where the @name is at 0x1c-10x1f and @flags at 0x20-0x24. However, some strings are still dissected correctly And when running 'virsh domfstrim $dom' I've encountered: [Dissector bug, protocol libvirt: proto.c:2541: failed assertion "hfinfo->type == FT_STRING || hfinfo->type == FT_STRINGZ"] Besides this I like this approach the most and once you solve the string dissecting bugs I will give you my ACK. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list