North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: DirecPC Protocols

  • From: Crist J. Clark
  • Date: Fri Nov 15 17:27:59 2002

On Fri, Nov 15, 2002 at 04:41:10PM +0100, Jurian van der Knaap wrote:
> You might get some info out of the Linux DirecPC driver, or maybe the 
> developers of the driver can help.
> 
> Find it at http://sourceforge.net/projects/direcpc
> 
> Hope this is of any help,

Yeah, this helped. It showed me that their protocol is totally
broken.

They do an GRE- or IPIP-like encapsulation, but then set the protocol
field to that of the encapsulated packet. Or if the encapsulated
packet is not TCP, UDP, or ICMP, they set the outer protocol to TCP.
This will totally break behind NAT when the NATing device changes the
source IP address and then "fixes" the TCP or UDP checksum due to the
pseudo-header change. Either the NATing device drops the packet when
the intial checksum is wrong or it mangles the payload, which isn't
really TCP.

Who designs these things? And what were they smoking when they did?
-- 
Crist J. Clark                     |     [email protected]
                                   |     [email protected]
http://people.freebsd.org/~cjc/    |     [email protected]