When the dissector sees a byte sequence that is either an opaque data (xdr_opaque) or a byte sequence (xdr_bytes) it formats the bytes as a hex numbers using our own implementation. But wireshark already provides a function for it: tvb_bytes_to_str(). NB, the reason why it returns a const string is so that callers don't try to free it - the string is allocated using an allocator which will decide when to free it. The wireshark formatter was introduced in wireshark commit of v1.99.2~479 and thus is present in the version we require at least (2.6.0). Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
About
This is the project of Google Summer of Code 2013 accepted by QEMU.org and libvirt community. The goal of this project is, provide Wireshark dissector for Libvirt RPC protocol. It will provide Libvirt packet overview/detail analysing in Wireshark. Furthermore, it will be able to build(generated) from RPC protocol definition placed in Libvirt source tree to support latest protocol specification.
See also:
- https://www.google-melange.com/gsoc/project/google/gsoc2013/kawamuray/7001
- https://wiki.qemu.org/Features/LibvirtWiresharkDissector
Installation
Run ./configure
with --with-wireshark-dissector
option enabled. Then dissector will compiled with libvirt itself.
Add/Remove protocol from dissector's support
Modify argument input
in tools/wireshark/src/libvirt/meson.build
.
Changing installation directory
You can change installation directory of pluggable shared object(libvirt.so
) by specifying --with-ws-plugindir=<path>
.
You can install libvirt.so
into your local wireshark plugin directory:
$ ./configure --with-wireshark-dissector \
--with-ws-plugindir=$HOME/.wireshark/plugins