IDL2WRS(1)

πŸ’– IDL2WRS πŸ’–

okay bestie, welcome to idl2wrs β€” the manual page for the CORBA IDL to Wireshark Plugin Generator. yes it's a whole thing. sit down, hydrate, let's go 🫢


✨ NAME ✨

idl2wrs β€” CORBA IDL to Wireshark Plugin Generator


🌸 SYNOPSIS 🌸

idl2wrs <filename>

πŸ¦‹ DESCRIPTION πŸ¦‹

so idl2wrs is that girl: you hand her a user specified CORBA IDL file, and she generates "C" source code for a Wireshark "plugin". iconic behaviour honestly.

that resulting file can be compiled as a Wireshark plugin, and then used to monitor GIOP/IIOP traffic that is using this IDL. main character energy fr.

plot twist: idl2wrs is actually a shell script wrapper for two Python programs. and those programs are:

  • wireshark_be.py β€” Contains the main IDL Visitor Class
  • wireshark_gen.py β€” Contains the Source Code Generator Class

idl2wrs supports heuristic dissection of GIOP/IIOP traffic, plus some experimental code for explicit dissection, based on Object Key <β†’ Repository Id mapping. but heads up bestie: code for heuristic based plugins is generated by default, and users should consider this the preferred method β€” unless you have some namespace collisions. πŸ’…


πŸ’… OPTIONS πŸ’…

Currently there are no options. like, none. zero. idl2wrs can be invoked as follows:

  1. To write the C code to stdout.
idl2wrs  <your_file.idl>

eg: idl2wrs echo.idl

  1. To write to a file, just redirect the output.
idl2wrs echo.idl > packet-test.c

🌈 ENVIRONMENT 🌈

idl2wrs will look for wireshark_be.py and wireshark_gen.py in $PYTHONPATH/site-packages/ and if not found, will try the current directory ./ ✨

The -p option passed to omniidl (inside idl2wrs) indicates where wireshark_be.py and 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/python3/


πŸŽ€ SEE ALSO πŸŽ€

wireshark(1), tshark(1)


⭐ NOTES ⭐

idl2wrs (including wireshark_be.py and wireshark_gen.py) are part of the Wireshark distribution. The latest version of Wireshark can be found at https://www.wireshark.org

idl2wrs uses omniidl, an IDL parser, and can be found at http://omniorb.sourceforge.net/


πŸ”₯ TODO πŸ”₯

Some of the more important things to do are:

  • Improve Explicit dissection code.
  • Improve command line options.
  • Improve decode algorithm when we have operation name collision.

(we stay busy πŸ’€)


πŸ‘‘ AUTHORS πŸ‘‘

Original Author

Frank Singleton <frank.singleton[AT]ericsson.com>


small vibe check: the -p thing is passed to omniidl inside idl2wrs, and the heuristic-based plugin generation is the default and the preferred method β€” don't come for me if you switch it up and get namespace collisions, that's on the namespace bestie 😭

and that's the whole page, babe ✨ this one came from the Wireshark distribution, dated 2026-10-01, and it's filed under IDL2WRS(1) in the manual. go generate some plugins, you ate πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from