数据包截获:Netfilter

概述


Netfilter 是由内核 2.4.x 和 2.6.x 提供的数据包截获机制,它替代了内核 2.2.x 中 使用的 ipchains、防火墙钩子和其他方法。Netfilter 也可以作为 LKM 获得。


要使用 netfilter,在内核编译时设置 Packet Filtering 选项。


可以对采用防火墙钩子机制的同类应用程序使用 netfilter 机制,这些应用程序有:路由程序、数据包嗅探器和其他位于网络边缘并访问通信流的实体。


回页首


使用 Netfilter


Netfilter 可以在通过 TCP/IP 协议栈的路径中的几个定义良好的点上捕获数据包:


    NF_IP_PRE_ROUTING
    在对数据包进行初始正确性检查(校验和等)后,保存该数据包。
    NF_IP_LOCAL_IN
    如果数据包将要到达本地主机,则捕获该数据包。
    NF_IP_FORWARD
    如果数据包将要到达某些其他主机,则捕获该数据包。
    NF_IP_LOCAL_OUT
    在本地捕获其目的地是外部的已创建的数据包。
    NF_IP_POST_ROUTING
    这是最后的钩子,在此之后将传输数据包。


当数据包穿过 TCP/IP 协议栈后,协议调用带有数据包和钩子号的 netfilter 框架。钩子也 可以指派优先级。


函数的返回值包括:


    NF_ACCEPT
    数据包继续在正常的 TCP/IP 路径上传输。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值