如何使用C在netfilter中打印特定IP地址的数据包信息?

时间:2018-11-20 04:22:11

标签: c hook netfilter

我正在使用此代码打印有关所有IP地址中“所有”已接收和已发送数据包的一些数据包信息。如何仅打印特定IP地址的数据包信息?

这是代码的一部分:

{
struct ethhdr *eth;
struct iphdr *ip_header;

eth = (struct ethhdr*)skb_mac_header(skb);
ip_header = (struct iphdr *)skb_network_header(skb);

if (HOST_IP_ADDR == ip_header->saddr)
      return NF_ACCEPT;

printk("NF_IP_LOCAL_IN hook:\n");
printk("src mac %pM, dst mac %pM\n", eth->h_source, eth->h_dest);
printk("src IP addr:=%pI4\n", &ip_header->saddr);
return NF_ACCEPT;
}

0 个答案:

没有答案