C.8.1. what is it, C.8.2. why do this, C.8.3. how to use idl2eth – Lucent Technologies Ethereal User Manual

Page 190: Section c.8, “ idl2eth : creating dissectors, From corba idl files

Advertising
background image

C.8. idl2eth: Creating dissectors from Corba
IDL files

In an ideal world idl2eth would be mentioned in the users guide in passing and documented in the
developers guide. As the developers guide has not yet been completed it will be documented here.

C.8.1. What is it?

As you have probably guessed from the name, idl2eth takes a user specified IDL file and attempts
to build a dissector that can decode the IDL traffic over GIOP. The resulting file is "C" code, that
should compile okay as an ethereal dissector.

idl2eth basically parses the data struct given to it by the omniidl compiler, and using the GIOP API
available in packet-giop.[ch], generates get_CDR_xxx calls to decode the CORBA traffic on the
wire.

It consists of 4 main files.

README.idl2eth

This document

ethereal_be.py

The main compiler backend

ethereal_gen.py

A helper class, that generates the C code.

idl2eth

A simple shell script wrapper that the end user should use to generate the
dissector from the IDL file(s).

C.8.2. Why do this?

It is important to understand what CORBA traffic looks like over GIOP/IIOP, and to help build a
tool that can assist in troubleshooting CORBA interworking. This was especially the case after see-
ing a lot of discussions about how particular IDL types are represented inside an octet stream.

I have also had comments/feedback that this tool would be good for say a CORBA class when
teaching students what CORBA traffic looks like "on the wire".

It is also COOL to work on a great Open Source project such as the case with "Ethereal" (

ht-

tp://www.ethereal.com

)

C.8.3. How to use idl2eth

To use the idl2eth to generate ethereal dissectors, you need the following:

Prerequisites to using idl2eth

1.

Python must be installed. See

http://python.org/

2.

omniidl from the the omniORB package must be available. See

http://omniorb.sourceforge.net/

3.

Of course you need ethereal installed to compile the code and tweak it if required. idl2eth is
part of the standard Ethereal distribution

To use idl2eth to generate an ethereal dissector from an idl file use the following procedure:

Related command line tools

176

Advertising