通过网络发送的MAC地址格式

时间:2017-07-27 02:55:54

标签: c network-programming mac-address libpcap

鉴于标准的Mac地址“xx:xx:xx:xx:xx:xx”,需要使用libpcap的数据包注入发送什么格式?

我将它加载到以太网框架中,其中srcMac只是一个char:

memcpy(&ethernet.ether_src, srcMac, sizeof(ethernet.ether_src));

但是在wireshark中,地址不正确。 wireshark中可见的Mac地址会根据字符串的内容而改变,因此不会被默认地址或任何内容覆盖。

1 个答案:

答案 0 :(得分:0)

我想,您的代码ethernet.ether_src中的struct ether_addr类型为char*,因此它不仅仅是extern struct ether_addr *ether_aton (__const char *__asc) __THROW; - 字符串。

因此您需要将ASCII字符串转换为以太网地址,例如函数声明为

enum