我正在尝试使用 esp8266 查找家庭自动化项目在同一子网上注册的 IP 地址及其 MAC 地址。 ping 响应是否包含设备的 MAC 地址,或者是否可以通过本地网络请求该地址。
最佳答案
在 *nix 系统上,您可以运行 arping <some-ip>
获取同一网络上机器的 MAC 地址(当然,只有那些可以在不通过网络路由的情况下获取数据包的机器)。
按照 rodolk 的建议,您可以运行 pcap
并查看以太网帧。以太网帧包含源 MAC、目标 MAC 和以太网类型。
像这样的事情:
uint8_t ether_dhost[ETHER_ADDR_LEN]; /* destination MAC address */
uint8_t ether_shost[ETHER_ADDR_LEN]; /* source MAC address */
uint16_t ether_type; /* packet type ID */
您可以嗅探数据包并解析以太网 header ,或者您可以运行 arping
,我认为这应该符合您的目的。
关于networking - ping 响应是否包含 MAC 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40430423/