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上。
NF_IP_PRE_ROUTING
NF_IP_LOCAL_IN
NF_IP_FORWARD
NF_IP_LOCAL_OUT
NF_IP_POST_ROUTING
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。 解 决:NF_INET_PRE_ROUTING替代NF_IP_PRE_ROUTING 同样的问题适合各种未定义的原因 |