I will first provide the information about my system
Linux Red Hat 6.2 with the stock kernel 2.2.14-5
Gtk stock packages, i.e. 1.2.6-7
Ethereal version 0.8.15
Description of the problem:
Ethereal crashes when it tries to capture a packet going in through the
ppp interface and this packet is bigger than the mtu value defined for
that interface.
This situation is perfectly possible in the ppp interface because we
have to different values associate with the maximun size of the packets
traversing that interface, one for the packets going out the interface
(mtu) and another for the packet going in the interface (mru). Usually,
if there is only a computer connected with the ppp link we won't see
packets bigger than the mtu either going in or out, but if we have a
masqueraded ethernet network the masqueraded hosts will advertise values
of 1460 for the mss tcp variable, so we can find packets bigger than the
mtu (as big as the mru value) bound for the masqueraded hosts.
In my case I have a mtu of 700 and a mru of 1500, if a packet bigger
than 700 appears in the ppp interface (and they will) ethereal crashes
inmediatly; tcpdump doesn't have any problems with this.
If I change the value of mtu to 1500 everything works fine, I cannot
change the value of mru because my ISP doesn't let me :(
Hope this is helpfull to improve an already very good tool.
Thank you.