Ethereal-dev: Re: [Ethereal-dev] TFTP

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

From: "Ronnie Sahlberg" <rsahlber@xxxxxxxxxxxxxx>
Date: Sat, 3 Nov 2001 13:53:01 +1100
----- Original Message -----
From: "Guy Harris"
Subject: Re: [Ethereal-dev] TFTP


> > Ther new TFTP dissector, couldnt that one use TCP reassembly?
>
> Given that TFTP runs atop UDP, not TCP, no, it couldn't.
>
> > Show the payload data, i.e. the entire file content in its own view.
(with a
> > Save As...  menu item :-)
>
> That's different from TCP reassembly - that's file-transfer-protocol
> reassembly, which would certainly be interesting, but TCP reassembly is
> neither necessary nor sufficient to implement it.
>
> And dissectors can't currently add menu items - or directly pop up
> windows, as they might be part of a program that is not linked with a
> library that supports menus or any other GUI stuff.  (The name of that
> program begins with "t"....)
>
> I'd be inclined to have, in the "gtk" directory, code to implement some
> level of "reassemble payload" menu item, and provide a mechanism by
> which a dissector could mark the current frame as supporting a
> "reassemble payload" option, and somehow arranging to have a callback to
> code in the dissector source file if that option is selected.

Something thast might be nice in the future would be something allowing a
dissector to
indicate when it is executed that it wants to supply a additional menu item.
Like, when a packet is selected, the dissectors for that packet are executed
and the dissectors which have
additional menuitems/functions it offers to ethereal could be reported.

simple example:
The user selects packet 5 in the capture,
Ethereal executes all code for the dissectors for that packet, however, the
packet actually contained part of an NFS read/write
operation.
Assuming the NFS dissector is capable of reassembly of files and the NFS
dissector sees that this packet belongs to a completely
dissected NFS file, then the NFS dissector could indicate something like :

I_have_additional_functionality_to_offer_on_popup_menu_while_this_packet_sta
ys_selected(
        <some NFS specific identifier to the file>,
        "Save NFS file as...",
        callback
    )

If the user selects a different packet, all these reported extra
functionality is reset.

This is something that I would like for NFS in the future.

Obviously this would not be accessible from tethereal, but I think that the
tethereal and ethereal are very different tools
with very (non-overlapping) fields of use.
(IMHO tethereal is something for real-time logging similar to tcpdump
 while ethereal is mainly for off-line analysis and x-referencing of
existing capture files)