通过网络发送的 MAC 地址的格式
Format of MAC address sent over network
给定一个标准 Mac 地址 "xx:xx:xx:xx:xx:xx" 它需要采用什么格式才能使用 libpcap 的数据包注入发送?
我将它加载到以太网框架中,其中 srcMac 只是一个字符:
memcpy(ðernet.ether_src, srcMac, sizeof(ethernet.ether_src));
但是在wireshark中地址不正确。 wireshark 中的可见 Mac 地址会根据字符串的内容而变化,因此它不会被默认地址或任何内容覆盖。
我想,在您的代码中,ethernet.ether_src
的类型为 struct ether_addr
,因此它不仅仅是一个 char*
-字符串。
因此您需要将 ASCII 字符串转换为以太网地址,例如函数声明为
extern struct ether_addr *ether_aton (__const char *__asc) __THROW;
给定一个标准 Mac 地址 "xx:xx:xx:xx:xx:xx" 它需要采用什么格式才能使用 libpcap 的数据包注入发送?
我将它加载到以太网框架中,其中 srcMac 只是一个字符:
memcpy(ðernet.ether_src, srcMac, sizeof(ethernet.ether_src));
但是在wireshark中地址不正确。 wireshark 中的可见 Mac 地址会根据字符串的内容而变化,因此它不会被默认地址或任何内容覆盖。
我想,在您的代码中,ethernet.ether_src
的类型为 struct ether_addr
,因此它不仅仅是一个 char*
-字符串。
因此您需要将 ASCII 字符串转换为以太网地址,例如函数声明为
extern struct ether_addr *ether_aton (__const char *__asc) __THROW;