- 论坛徽章:
- 0
|
您好,我看了您对ARP报文的这篇帖子的回复,我这里也遇到了一些问题,想获取ARP报文的原MAC地址,可是没成功!
unsigned int hook_func(unsigned int hooknum,struct sk_buff *skb,const struct net_device *in,const struct net_device *out,int (*okfn)(struct sk_buff *))
{
char buffer[20];
u8 haddr[20];
struct ether_arp *eth;
eth=(struct ether_arp *)skb_mac_header(skb);
printk("hehe:%x\n",eth->arp_sha);
memcpy(haddr,eth->arp_sha,6);
sprintf(buffer,"%02x:%02x:%02x:%02x:%02x:%02x",haddr[0],haddr[1],haddr[2],haddr[3],haddr[4],haddr[5]);
//printk("love: %s\n",buffer);
if(strcmp(buffer,"dc:0e:a1:e8:94:d6")==0)
return NF_ACCEPT;
else
return NF_DROP;
}
回复 9# Godbach
|
|