Ethereal-users: Re: [Ethereal-users] captered smtp packets in readable format?

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Mon, 06 Mar 2006 02:47:44 -0800
Agryppa wrote:

How do people go about decoding smtp packets in order to present them in readable format if their original format is different than ascii 7bit? I mean my captured data start like this:
============
This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C63FAE.147502F0 Content-Type: text/plain; .charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable
=============

Hence the text I see in the "Follow Tcp Stream" is not easily readable. Can ethereal convert from ascii 7 bit into iso-8859-2 on the fly?
What I think you mean is "can Ethereal convert from quoted-printable 
encoding of a character set to a more raw encoding of the character 
set"; the answer is currently "no".
This is complicated by the fact that the *display* character encoding 
used by GTK+ is, I think, font-dependent in GTK+ 1.2[.x] (making it 
difficult to have a GTK+ application explicitly do the right thing), and 
is UTF-8 in GTK+ 2.x.
I.e., displaying anything other than ASCII is difficult in GTK+ 1.2[.x] 
(unless somebody knows the magic formula for finding out the character 
encoding the GTK+ 1.2[.x] API expects), and involves converting from the 
 character encoding from the packet to UTF-8 in GTK+ 2.x.
So, to display that message, Ethereal would first need to reassemble the 
message in an SMTP DATA command - or perhaps each part of a multi-part 
message - and then convert each part using the appropriate 
Content-Transfer-Encodings.  Then, it would need to convert from the 
character encoding to UTF-8 (at least in the GTK+ 2.x version; doing 
this right might not be possible with GTK+ 1.2[.x) when showing the 
packet summary and details.
Printing the packet summary and details, or writing them as text to a 
file, is trickier, as it'd have to know the right character encoding to use.