networking - ping 响应是否包含 MAC 地址?

标签 networking esp8266 arduino-esp8266

我正在尝试使用 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/

相关文章:

tcp - Arduino + ESP8266,如何发送连续获取请求?

arduino - 通过 Arduino 将代码上传到 esp8266 nodemcu 时出现错误

Azure ESP8266 IoT 客户端库无法与 ESP8266 Web 服务器配合使用

java - Android 无法发送多播 UDP 数据报

python - 在python中获取移动宽带调制解调器的MAC地址

networking - TCP/IP 建立连接/什么建立连接

c - 如何在c中序列化一个结构?

php - ESP8266 读取 JSON,但不读取 PHP 文件

esp8266 - 节点 mcu (1.0) ESP8266 12E 在软 AP 模式下 IDLE 时间后不响应

c - 无法使用 ESP8266 上传 HTML 页面