Internet Connection Sharing ICMP ECHO Identifier incorrect

I

IanT

Hi,

Scenario. Two Win XP boxes both SP2. One connected to the net with Internet
Connection Sharing turned on.

When sending ICMP Echo Requests (from either machine) the ID bytes 4 & 5 in
the ICMP message are reset to 0x0100.

To recreate this problem start a protocol analyzer and try using ping with
Internet Connection Sharing turned on.

The ID bytes (4 & 5) in the ICMP message will contain the value 0x0100. This
is the incorrect identifier for the windows ping program.
Disable Internet Connection Sharing and run ping again they will contain the
correct values of 0x0200.

Running the anlalyzer on the secondary machine shows that the ICMP message
hasn't been corrupted, the ID bytes remain unchanged, but by the time they
hit the wire on the primary box the bytes have been reset to 0x0100.

This might sound a minor issue but if you have an app relying on ICMP which
uses and ID value of say 45 it can cause a bit of a problem.

This looks like a bug in Internet Connection Sharing, anyone have any
comments or another solution short of setting up a router on a mini home
network which uses a satellite connection.


Regards

Ian

PS: If this is the wrong group please suggest a more appropriate group to
post this issue to.
 
M

Mark L. Ferguson

There are no switches, or reg entries that will change the behavior of ICS, and it would have to be recompiled to change the
behavior. If you want that feature you will have to add the router hardware that will do it.
 
I

IanT

Thanks for taking the time to reply Mark, my initial thoughts about the
router exactly.

If it was ADSL or Cable it wouldn't be issue, I've got a cable router back
in Australia that does just what I want. However I'm currently living in
rural Thailand where the only net connection I can get is by Satellite. I
could ask the ISP tech support about my options but the language barrier is
a bit of an issue. (you wouldn't believe the problems and resulting
conversations I've had)

My IP skills are a bit on the rusty side but I do remember something about
routing tables and setting up static routes etc. After all Windows XP does
implement the TCP/IP stack and a multi homed host should be able act as a
router. Tried using the route add command, but couldn't get it to work.

route add <default gateway for satellite connection> mask 255.255.255.0
<dhcp supplied address of satellite connection>
The route addition failed: The specified mask parameter is invalid.
(Destination & Mask) != Destination.

The private side of the network is subnetted as 255.255.0.0
The multi homed LAN address is 10.20.2.2 and the address of the second box
is 10.20.2.1. The private LAN works fine but I want Internet access from the
second box.

Any suggestions?

Thanks in advance.

Ian
 
M

Mark L. Ferguson

One definite issue is the address set you are using. ICS cannot use 10.0.0.? addresses. You Must use 192.168.?.? for ICS
 
I

IanT

Thanks for your reply Mark.

I realise when using ICS you let it take care of address assignment for you.
I used the ICS wizard on both boxes, and everything worked fine except for
the original topic, which was that ICS was corrupting ICMP echo request
packets by resetting the ICMP Message ID bytes (4 & 5) to 0x1000 regardless
of what the application ie; winsock sent to the network.

Easiest way to see it is using ping or tracert which both use the ICMP
Message ID 0x0200.

Because of this I cannot use ICS. So I use a 10.20.2.0 network for the
private side of the LAN. I just can't get it to route IP to the other
network card installed on the box connected to the internet.

Regards

Ian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top