802.11和以太网封装问题
发表于 : 2013-09-28 1:28
写了一个小模块,重要信息如下:
得到的MAC是正确的,一开始没注意,后来想想不对啊,我源主机和目的主机都是连的无线网,封装不应该是以太网,怎么会得到的正确的结果的,然后用wireshark抓包看了下,网卡好像拿到的是以太网封装,请教怎么回事,是不是无线网卡驱动自动更换封装了?如果是,如果想要看到802.11的封装形式,难道不应该用的sk_buff吗?
代码: 全选
struct sk_buff *sk = skb;
struct iphdr *iphead = (struct iphdr *)sk->network_header;
struct ethhdr *eth = (struct ethhdr *)sk->mac_header;
printk(KERN_ALERT "Receive packet from: %x.%x.%x.%x.%x.%x\n",eth->h_source[0],eth->h_source[1],
eth->h_source[2],eth->h_source[3],
eth->h_source[4],eth->h_source[5]);
return NF_ACCEPT;