.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "IDL2WRS 1" .TH IDL2WRS 1 "2017-01-23" "2.2.4" "The\ Wireshark\ Network\ Analyzer" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" idl2wrs \- CORBA IDL to Wireshark Plugin Generator .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBidl2wrs\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBidl2wrs\fR is a program that takes a user specified \fB\s-1CORBA IDL\s0\fR file and generates \fB\*(L"C\*(R"\fR source code for a \fBWireshark\fR \*(L"plugin\*(R". .PP This resulting file can be compiled as a \fBWireshark\fR plugin, and used to monitor \fB\s-1GIOP/IIOP\s0\fR traffic that is using this \s-1IDL.\s0 .PP \&\fBidl2wrs\fR is actually a shell script wrapper for two \fBPython\fR programs. These programs are: .IP "\(bu" 4 \&\fBwireshark_be.py\fR .Sp Contains the main \s-1IDL\s0 Visitor Class .IP "\(bu" 4 \&\fBwireshark_gen.py\fR .Sp Contains the Source Code Generator Class .PP \&\fBidl2wrs\fR supports heuristic dissection of \s-1GIOP/IIOP\s0 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. .SH "OPTIONS" .IX Header "OPTIONS" Currently there are no options. \fBidl2wrs\fR can be invoked as follows. .PP 1. To write the C code to stdout. .PP .Vb 1 \& idl2wrs \& \& eg: idl2wrs echo.idl .Ve .PP 2. To write to a file, just redirect the output. .PP .Vb 1 \& idl2wrs echo.idl > packet\-test.c .Ve .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" \&\fBidl2wrs\fR will look for \fBwireshark_be.py\fR and \fBwireshark_gen.py\fR in \&\fB\f(CB$PYTHONPATH\fB/site\-packages/\fR and if not found, will try the current directory \fB./\fR .PP The \fB\-p\fR option passed to omniidl (inside \fBidl2wrs\fR) indicates where \&\fBwireshark_be.py\fR and \fBwireshark_gen.py\fR will be searched. This may need tweaking if you place these files somewhere else. .PP If it complains about being unable to find some modules (eg tempfile.py), you may want to check if \s-1PYTHONPATH\s0 is set correctly. .PP eg: PYTHONPATH=/usr/lib/python1.5/ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIwireshark\fR\|(1), \fItshark\fR\|(1) .SH "NOTES" .IX Header "NOTES" \&\fBidl2wrs\fR (including \fBwireshark_be.py\fR and \fBwireshark_gen.py\fR) are part of the \fBWireshark\fR distribution. The latest version of \fBWireshark\fR can be found at . .PP \&\fBidl2wrs\fR uses \fBomniidl\fR, an \s-1IDL\s0 parser, and can be found at .SH "TODO" .IX Header "TODO" Some of the more important things to do are: .IP "\(bu" 4 Improve Explicit dissection code. .IP "\(bu" 4 Improve command line options. .IP "\(bu" 4 Improve decode algorithm when we have operation name collision. .SH "AUTHORS" .IX Header "AUTHORS" .Vb 3 \& Original Author \& \-\-\-\-\-\-\-\- \-\-\-\-\-\- \& Frank Singleton \& \& \& Contributors \& \-\-\-\-\-\-\-\-\-\-\-\- .Ve