diff options
Diffstat (limited to 'doc/idl2wrs.adoc')
-rw-r--r-- | doc/idl2wrs.adoc | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/doc/idl2wrs.adoc b/doc/idl2wrs.adoc new file mode 100644 index 0000000000..a321137baa --- /dev/null +++ b/doc/idl2wrs.adoc @@ -0,0 +1,120 @@ +=begin man + +=encoding utf8 + +=end man + +=head1 NAME + +idl2wrs - CORBA IDL to Wireshark Plugin Generator + +=head1 SYNOPSIS + +B<idl2wrs> E<lt>filenameE<gt> + +=head1 DESCRIPTION + +B<idl2wrs> is a program that takes a user specified B<CORBA IDL> +file and generates B<"C"> source code for a B<Wireshark> "plugin". + +This resulting file can be compiled as a B<Wireshark> plugin, and +used to monitor B<GIOP/IIOP> traffic that is using this IDL. + +B<idl2wrs> is actually a shell script wrapper for two B<Python> programs. +These programs are: + +=over 4 + +=item * B<wireshark_be.py> + +Contains the main IDL Visitor Class + +=item * B<wireshark_gen.py> + +Contains the Source Code Generator Class + +=back + +B<idl2wrs> supports heuristic dissection of GIOP/IIOP traffic, +and some experimental code for explicit dissection, based on +Object Key <-> Repository Id mapping. +However, code for heuristic based plugins is +generated by default, and users should consider this the preferred +method unless you have some namespace collisions. + + +=head1 OPTIONS + +Currently there are no options. B<idl2wrs> can be invoked as follows. + +1. To write the C code to stdout. + + idl2wrs <your_file.idl> + + eg: idl2wrs echo.idl + + +2. To write to a file, just redirect the output. + + idl2wrs echo.idl > packet-test.c + + + + +=head1 ENVIRONMENT + +B<idl2wrs> will look for B<wireshark_be.py> and B<wireshark_gen.py> in +B<$PYTHONPATH/site-packages/> and if not found, will try the current +directory B<./> + +The B<-p> option passed to omniidl (inside B<idl2wrs>) indicates where +B<wireshark_be.py> and B<wireshark_gen.py> will be searched. This may +need tweaking if you place these files somewhere else. + +If it complains about being unable to find some modules (eg tempfile.py), +you may want to check if PYTHONPATH is set correctly. + +eg: PYTHONPATH=/usr/lib/python1.5/ + + +=head1 SEE ALSO + +wireshark(1), tshark(1) + + +=head1 NOTES + +B<idl2wrs> (including B<wireshark_be.py> and B<wireshark_gen.py>) are part of +the B<Wireshark> distribution. The latest version of B<Wireshark> can +be found at L<https://www.wireshark.org>. + +B<idl2wrs> uses B<omniidl>, an IDL parser, and can be found at +L<http://omniorb.sourceforge.net/> + +=head1 TODO + +Some of the more important things to do are: + +=over 4 + +=item * +Improve Explicit dissection code. + +=item * +Improve command line options. + +=item * +Improve decode algorithm when we have operation name collision. + +=back + +=head1 AUTHORS + + Original Author + -------- ------ + Frank Singleton <frank.singleton[AT]ericsson.com> + + + Contributors + ------------ + |