![Gerald Combs](/assets/img/avatar_default.png)
Change-Id: I9bfc57cb6b6ab6962b80ff58d98eb351d6f69829 Reviewed-on: https://code.wireshark.org/review/4140 Reviewed-by: Gerald Combs <gerald@wireshark.org>
116 lines
2.4 KiB
Text
116 lines
2.4 KiB
Text
|
|
=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
|
|
------------
|
|
|