- 论坛徽章:
- 0
|
不明白Netfilter 对APR 时hook时挂接点的设置?
netfilter一共有5个挂接点,但是对AF_INET family ,对ARP的没发现有说明?
钩子名称 调用时机
NF_IP_PRE_ROUTING 完整性校验之后,路由决策之前
NF_IP_LOCAL_IN 目的地为本机,路由决策之后
NF_IP_FORWARD 数据包要到达另外一个接口去
NF_IP_LOCAL_OUT 本地进程的数据,发送出去的过程中
NF_IP_POST_ROUTING 向外流出的数据上线之前
这是open source NOarp设置的hook点,按道理说一个是挂接在NF_IP_PRE_ROUTING和NF_IP_POST_ROUTING 这两个地方;
但是NF_ARP_IN和NF_ARP_OUT是这两个吗???
/*************************************************************************************************/
/* Hooks Table
**************************************************************************************************/
static struct nf_hook_ops noarp_nf_ops_in =
{{ NULL, NULL }, noarp_infilter, NF_ARP, NF_ARP_IN, 0};
static struct nf_hook_ops noarp_nf_ops_out =
{{ NULL, NULL }, noarp_outfilter, NF_ARP, NF_ARP_OUT, 0};
The (idealized) IPv4 traversal diagram looks like the following:
netfilter architecture:
A Packet Traversing the Netfilter System:
--->[1]--->[ROUTE]--->[3]--->[4]--->
| ^
| |
| [ROUTE]
v |
[2] [5]
| ^
| |
v |
[ Local process] |
|