QUOTE(fghjj @ Oct 21 2005, 04:54 PM)
I might've read it somewhere in the XDK whitepapers (very quick), but I thought all traffic is encapsulated in UDP, for compatibility with routers that do NAT (google for "NAT punch"). That means there is first the UDP header, then a TCP / UDP header, and then the payload. It's possible that those second headers are encrypted already, I don't know for sure. Logically, it's also possible that the payload for the first _encapsulated_ packet is continued in the second packet, like with segmented TCP (or IP over ATM, I forgot bigtime) frames, so it will be more of a mess.
Correct. All traffic is literally on udp port 3074 (syslink no exception.. i think this applies for live as well). They have modified tcp/udp headers inside these packets.
QUOTE
Maybe you can find the bytes for 88 (0x58) at a logical position somewhere in first captured packet, check the TCP reference and write a Ethereal filter based on that. Oh, and I also heard MS cut out some "useless" bytes here and there in the TCP protocol to save on bandwidth, so good luck with that

I'm pretty sure, in system link context anyways, the only things encrypted are the payload and.. shoot. One other thing. Can't remember atm. But not the remainder of the contained header. It's very well laid out in the XDK documentation (or so I've heard)