◆创建socket从内核接收数据包例子(PF_PACKET)
创建family为PF_PACKET的socket,接收eapol包;
l2->fd = socket(PF_PACKET, l2_hdr ? SOCK_RAW : SOCK_DGRAM, ETH_P_EAPOL);
找到网口名对应的index
os_memset(&ifr, 0, sizeof(ifr));
os_strlcpy(ifr.ifr_name, l2->ifname,
sizeof(ifr.ifr_name));
ioctl(l2->fd, SIOCGIFINDEX, &ifr)
通过网口的index,把socket绑定到ifname的网口
os_memset(&ll, 0, sizeof(ll));
ll.sll_family = PF_PACKET