Ethereal-dev: [ethereal-dev] An example protocol description file for the identd protocol (RF

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Richard Sharpe <sharpe@xxxxxxxxxx>
Date: Tue, 05 Sep 2000 16:41:03 +0900
Hi,

I have knocked up an example protocol description file for the identd
protocol, and am working on a parser (using the PERL XML parser) that can
parse it and generate a dissector ...

It is TCP specific for the moment :-(

Comments welcome ...

<proto name="identd" longname="Identification Protocol (RFC1413)" tcp.port="113">
  <struct name="userid">
    <field type="BYTES" value="USERID" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" size="1" value=":" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" name="user" size="1+" /><!-- END_OF_FRAME? -->
  </struct>
  <struct name="error">
    <field type="BYTES" value="ERROR" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" size="1" value=":" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" name="error-msg" size="1+" /><!-- END_OF_FRAME? -->
  </struct>
  <struct name="request">
    <field name="port-on-server" type="BYTES" size="1+" convtype="UINT16" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" size="1" value="," />
    <field type="BYTES" size="*" value=" " />
    <field name="port-on-client" size="1+" type="BYTES" convtype="UINT16" />
  </struct>
  <struct name="reply">
    <field name="port-on-client" type="BYTES" size="1+" convtype="UINT16" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" size="1" value="," />
    <field type="BYTES" size="*" value=" " />
    <field name="port-on-server" size="1+" type="BYTES" convtype="UINT16" />
    <field type="BYTES" size="*" value=" " />
    <field type="BYTES" size="1" value=":" />
    <field type="BYTES" size="*" value=" " />
    <alternate>
      <field type="userid" />
      <field type="error" />
    </alternate>
  </struct>
  <exchanges>
    <sequence>
      <request  type="request" />
      <response type="reply" />
    </sequence>
  </exchanges>
</proto>

Regards
-------
Richard Sharpe, sharpe@xxxxxxxxxx
Samba (Team member, www.samba.org), Ethereal (Team member, www.zing.org)
Contributing author, SAMS Teach Yourself Samba in 24 Hours
Author, Special Edition, Using Samba