NebulaSleuth
July 19th, 2007, 11:55 AM
I am attempting to receive network broadcasts from a bit of old equipment. The equipment broadcasts to address 255.255.255.255 on UDP por 138. (Actually Netbios over TCP which comes in as UDP port 138)
I can't seem to receive this data on a Windows XP machine. I have tried both the Netbios interface and the winsock interface using standard winsock functions (connect, bind, listen).
When I use ethereal I see the data come in from to my XP machine, but it doesn't pass to my windows UDP socket or come into my Netbios NCB receive.
If I write a windows program to send an equivalent message (using NetBIOS interface - over TCP), I receive the message fine over both UDP or Netbios, so I know that the software is basically correct on the receiver side.
I notice that when I simulate the message from a windows machine the destination address (as shown by ethereal) is 10.10.0.255 (my local subnet). I get these messages just fine, but the old computer sends to address 255.255.255.255 and I don't see these at all (except in ethereal).
Does anyone have any idea why I would get some data when listening on the port, but not other data? Since ethereal sees it, it is not being consumed by a router on the network, or anything else. It is hitting my network card in my pc just fine. I have disabled the firewall on my PC but this didn't solve the problem.
Windows/winsock is obviously deciding not to pass the data to my application, but I haven't a clue as to why.
I can't seem to receive this data on a Windows XP machine. I have tried both the Netbios interface and the winsock interface using standard winsock functions (connect, bind, listen).
When I use ethereal I see the data come in from to my XP machine, but it doesn't pass to my windows UDP socket or come into my Netbios NCB receive.
If I write a windows program to send an equivalent message (using NetBIOS interface - over TCP), I receive the message fine over both UDP or Netbios, so I know that the software is basically correct on the receiver side.
I notice that when I simulate the message from a windows machine the destination address (as shown by ethereal) is 10.10.0.255 (my local subnet). I get these messages just fine, but the old computer sends to address 255.255.255.255 and I don't see these at all (except in ethereal).
Does anyone have any idea why I would get some data when listening on the port, but not other data? Since ethereal sees it, it is not being consumed by a router on the network, or anything else. It is hitting my network card in my pc just fine. I have disabled the firewall on my PC but this didn't solve the problem.
Windows/winsock is obviously deciding not to pass the data to my application, but I haven't a clue as to why.