HEX
Server: nginx/1.18.0
System: Linux mail.dakarash.co.id 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User: www-data (33)
PHP: 8.1.2-1ubuntu2.23
Disabled: NONE
Upload Files
File: //usr/share/wireshark/idl2wrs.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.16">
<title>idl2wrs(1)</title>
<link rel="stylesheet" href="./ws.css">
</head>
<body class="manpage">
<div id="header">
<h1>idl2wrs(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>idl2wrs - CORBA IDL to Wireshark Plugin Generator</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>idl2wrs</strong> &lt;filename&gt;</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>idl2wrs</strong> is a program that takes a user specified <strong>CORBA IDL</strong>
file and generates <strong>"C"</strong> source code for a <strong>Wireshark</strong> "plugin".</p>
</div>
<div class="paragraph">
<p>This resulting file can be compiled as a <strong>Wireshark</strong> plugin, and
used to monitor <strong>GIOP/IIOP</strong> traffic that is using this IDL.</p>
</div>
<div class="paragraph">
<p><strong>idl2wrs</strong> is actually a shell script wrapper for two <strong>Python</strong> programs.
These programs are:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>wireshark_be.py</strong>
Contains the main IDL Visitor Class</p>
</li>
<li>
<p><strong>wireshark_gen.py</strong>
Contains the Source Code Generator Class</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>idl2wrs</strong> supports heuristic dissection of GIOP/IIOP traffic,
and some experimental code for explicit dissection, based on
Object Key &lt;&#8594; 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.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Currently there are no options. <strong>idl2wrs</strong> can be invoked as follows.</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>To write the C code to stdout.</p>
<div class="literalblock">
<div class="content">
<pre>idl2wrs  &lt;your_file.idl&gt;</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>eg: idl2wrs echo.idl</pre>
</div>
</div>
</li>
<li>
<p>To write to a file, just redirect the output.</p>
<div class="literalblock">
<div class="content">
<pre>idl2wrs echo.idl &gt; packet-test.c</pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_environment">ENVIRONMENT</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>idl2wrs</strong> will look for <strong>wireshark_be.py</strong> and <strong>wireshark_gen.py</strong> in
<strong>$PYTHONPATH/site-packages/</strong> and if not found, will try the current
directory <strong>./</strong></p>
</div>
<div class="paragraph">
<p>The <strong>-p</strong> option passed to omniidl (inside <strong>idl2wrs</strong>) indicates where
<strong>wireshark_be.py</strong> and <strong>wireshark_gen.py</strong> will be searched.  This may
need tweaking if you place these files somewhere else.</p>
</div>
<div class="paragraph">
<p>If it complains about being unable to find some modules (eg tempfile.py),
you may want to check if PYTHONPATH is set correctly.</p>
</div>
<div class="paragraph">
<p>eg:  PYTHONPATH=/usr/lib/python1.5/</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="wireshark.html">wireshark</a>(1), <a href="tshark.html">tshark</a>(1)</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_notes">NOTES</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>idl2wrs</strong> (including <strong>wireshark_be.py</strong> and <strong>wireshark_gen.py</strong>) are part of
the <strong>Wireshark</strong> distribution.  The latest version of <strong>Wireshark</strong> can
be found at <a href="https://www.wireshark.org" class="bare">https://www.wireshark.org</a>.</p>
</div>
<div class="paragraph">
<p><strong>idl2wrs</strong> uses <strong>omniidl</strong>, an IDL parser, and can be found at
<a href="http://omniorb.sourceforge.net/" class="bare">http://omniorb.sourceforge.net/</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_todo">TODO</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Some of the more important things to do are:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Improve Explicit dissection code.</p>
</li>
<li>
<p>Improve command line options.</p>
</li>
<li>
<p>Improve decode algorithm when we have operation name collision.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_authors">AUTHORS</h2>
<div class="sectionbody">
<div class="paragraph">
<div class="title">Original Author</div>
<p>Frank Singleton &lt;frank.singleton[AT]ericsson.com&gt;</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2022-03-04 16:13:20 UTC
</div>
</div>
</body>
</html>