关于netfilter钩子 hook值的问题

Hook                调 用的时机
NF_IP_PRE_ROUTING    在完整性校验之后,选路确定之前
NF_IP_LOCAL_IN        在选路确定之后,且数 据包的目的是本地主机
NF_IP_FORWARD        目的地是其它主机地数据 包
NF_IP_LOCAL_OUT        来自本机进程的数据 包在其离开本地主机的过程中
NF_IP_POST_ROUTING    在数据包离开本地主机“上线”之前

    NF_IP_PRE_ROUTING这个hook是数据包被接收到之后调用的第一个hook,这个 hook既是稍后将要描述的模块所用到的。当然,其它的hook同样非常有用,但是在这里,我们的焦点是在NF_IP_PRE_ROUTING这个 hook上。

Tips:关于NF_IP_PRE_ROUTING

问题:在内核编 程中(2.6.25.17)中使用NF_IP_PRE_ROUTING,出现错误“'NF_IP_PRE_ROUTING' undeclared (first use in this function)”,而代码里面已经包含了netfilter_ipv4.h。

原因:在2.6.22以及以后的内核中,NF_IP_PRE_ROUTING以 及NF_IP6_PRE_ROUTING都被放在了用户态,而在内核态编程必须统一使用NF_INET_PRE_ROUTING
具体在<upai/linux/netfilter_ipv4.h>源代码中可以看到, NF_IP_PRE_ROUTING的定义被放在了#ifndef __KERNERL__下。

解 决:NF_INET_PRE_ROUTING替代NF_IP_PRE_ROUTING

同样的问题适合各种未定义的原因

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值