Ethereal-users: Re: [Ethereal-users] ISAKMP Packets incorrectly decoded

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

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Tue, 4 Nov 2003 13:49:05 -0800

On Nov 4, 2003, at 12:57 PM, Brian Buesker wrote:

In doing some testing of IKE daemons for Linux, I have run into the following problem. Occassionally, ethereal and tethereal will incorrectly decode an ISAKMP packet (Identity Protection Mode, Quick Mode, or Aggressive Mode). The protocol is correct. However, the information field says "UDP Encapsulated IPSec - NAT Keepalive".

There was a bunch of stuff in the ISAKMP dissector to handle draft-ietf-ipsec-udp-encaps-06 UDP-encapsulated IPsec traffic.

draft-ietf-ipsec-udp-encaps-06 says "The UDP port numbers are the same as used by IKE traffic, as defined in [Kiv05]", and "[Kiv05]" is draft-ietf-ipsec-nat-t-ike-05, which has presumably been superseded by draft-ietf-ipsec-nat-t-ike-07; the latter appears to imply that it goes over port 4500, not port 500.

We already have a draft-ietf-ipsec-udp-encaps-06 dissector for port 4500 (packet-ipsec-udp.c), and it's not entirely clear to me how, if draft-ietf-ipsec-udp-encaps-06 traffic *did* go over port 500, you'd distinguish it from regular ISAKMP traffic.

I therefore have checked in a change to CVS to remove all the draft-ietf-ipsec-udp-encaps-06 stuff from the ISAKMP dissector. If that traffic *can* go over port 500, *and* somebody can figure out how to distinguish it from regular ISAKMP traffic (and also remembers that if there's a "non-ESP header", the traffic isn't ESP - the code that was there before was treating it as ESP traffic if there was a "non-ESP header"), they should submit a patch (and make sure it does *NOT* misdissect your sample).