如何使用 Delphi 从网络上设备的 MAC 地址获取其 IP 地址?
我搜索了好几天,但只能找到已知 IP 的 MAC 地址的示例。
我尝试在 Delphi 中使用 UDP 客户端发送 ARP 请求,但没有成功。广播预先添加了与 ARP 数据包结构不相关的附加信息,因此它不会被“视为”ARP 请求。
下面是来自路由器的 ARP 请求:
以及来自我的 Delphi 程序的“ARP”请求:
我不限于 Delphi,可以使用 C 或 C#,但更喜欢使用 Delphi。
根据@fpiette的评论,我了解到ARP是我需要的逆,而我真正需要的是RARP(反向ARP)。但 RARP 似乎已经过时了。
ARP 为您提供与 IP 关联的 MAC。 RARP 为您提供与 MAC 关联的 IP。
所以我决定用 UPnP 来实现一种 SDDP 形式。 UDP 广播。