Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a DSP connected to a Windows 7 laptop by Ethernet. The laptop has all firewalls disabled (I’ve even tried stopping the Windows firewall service and DHCP). The DSP is sending well-formed BOOTP broadcast packets every three seconds to port 67. Wireshark running on the laptop sees these BOOTP packets coming in.

I have a program running on the laptop with a socket successfully bound to port 67. I can see this using CurrPorts. Nothing else is shown as accessing port 67. The program never sees any packets coming in.

If I run a program in the DSP that sends ordinary UDP packets to port 67, Wireshark sees them coming in and reports that they are corrupt BOOTP packets, but now, my program gets them.

Any idea what’s going on here?

share|improve this question
Does your program set SO_BROADCAST? (Allowing applications that didn't expect them to receive broadcast packets, and likely reply to them, would create all kinds of amplification attacks.) – David Schwartz Nov 6 '12 at 18:29
According to Microsoft: SO_BROADCAST "Configures a socket for sending broadcast data." I am not sending; I am failing to receive. There is nothing wrong with the transmission of the packets. – Peter Robertson Nov 6 '12 at 20:51
This directly contradicts what others have said about SO_BROADCAST. I have tried setting the option (which Microsoft documentation says is set by default) and, as I expected, it has no effect. I still cannot receive the broadcasts to port 67. Also, I have not yet been able to try the IP_RECEIVE_BROADCAST option as I have not yet found where that is defined. – Peter Robertson Nov 7 '12 at 8:54
I have looked into IP_RECEIVE_BROADCAST. The documentation I can find states that it is for IPPROTO_IP not IPPROTO_UDP. I have tried it with both and both fail to set the option with error 10022 (invalid argument). – Peter Robertson Nov 7 '12 at 9:16

You must log in to answer this question.

Browse other questions tagged .