1

I'm working on a personal project that involves ARP requests to a specific/known MAC for IP 0.0.0.0: Who has 0.0.0.0? Tell x.x.x.x. As far as I'm aware any receiving host should respond to that, but it seems certain OSes (*nix flavours in particular) don't quite adhere. My Android-based phone responds just fine, but none of my OS X/Debian boxes do. They do respond when I ask them specifically about their own IP, so it's not that they disregard unicast requests entirely. I've yet to test Windows.

Any known reason why that is and/or how to fix/work around that? Basically I need to probe a host on my LAN by MAC address and check if it's still around (i.e. responds to the probe). If there's a better way besides ARP to do this I'll take any suggestions, but without sending requests for all possible IPs on the LAN to the specific MAC.

0

Posting this as a separate answer so I can accept it. =]

I ended up changing the whole ARP thing to use ICMP instead, since apparently the Who has 0.0.0.0? is illegal after all.

My program now sends an ICMP echo request (ping) packet with IP destination 224.0.0.1 (layer 3, multicast to all hosts), but it sets the destination MAC (layer 2) to the specific ones I'm monitoring. It does incur noticeable overhead now, but I guess I'll just have to live with that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.