1
votes

Question

I want to understand a GIOP (CORBA) packet in detail, but I am struggling with ServiceContextList part. Especially I don't know which length one ServiceContext does have.

Example

I created a IDL file as following:

module AdditionApp
{
  interface Addition
  {
    long add(in long a,in long b);
    oneway void shutdown();
    };
};

And I created a client server application, called add(5,6) from the client and got the reply 11 from the server. I dumped the communication with tcpdump in a file. Following picture shows the part of the reply message: TCP dump of reply message

The green parts are clear for me, the red block is unclear for me. As mentioned above it's totally unclear for me which bytes showing the length of one ServiceContext. Can anyone give me a hint?

1
Doesn't the ORB implementation have logging that tells you what is processes? In the past I used the IIOP Complete book to help me with manually decoding GIOP packets.Johnny Willemsen
Wireshark does have a GIOP dissector, have you tried that?Johnny Willemsen
Thanks for the hint regarding the Wireshark GIOP dissector, but I want implement my own decoder.rage
Check also the CORBA specification, that has details about what kind of information is transmitted.Johnny Willemsen
Look it up at omg,org. Off topic.user207421

1 Answers

0
votes

By correlating the information provided in the CORBA Interoperability specification with the Wireshark GIOP dissector implementation, I was able to come up with the following: Decoded reply header and body