How can I get the IP address of a device on my network from its MAC address using Delphi?
I been searching for days but can only find examples where you find the MAC address of a known IP.
I've tried sending an ARP request using a UDP client in Delphi without success. The broadcast prepends additional information which does not correlate with the ARP packet structure and therefore it is not being "seen" as an ARP request.
Below is an ARP request from the router:
And the "ARP" request from my Delphi program:
I'm not restricted to Delphi and can use C or C# but would prefer to use Delphi.


Based on the comments from @fpiette, I learned that ARP is the inverse of what I need and what I actually need is RARP (Reverse ARP). But RARP seems to be obsolete.
ARP gives you the MAC associated with an IP. RARP gives you the IP associated with a MAC.
So I've decided to implement a form of SDDP with UPnP. UDP broadcasting.