没有合适的资源?快使用搜索试试~ 我知道了~
Netfilter源代码分析详细讲解.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 32 浏览量
2021-10-11
17:46:29
上传
评论
收藏 65KB DOCX 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/31328235/0001-589ee0f5f10c02c4f25046cb30556954_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
63页
Netfilter源代码分析详细讲解.docx
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/31328235/bg1.jpg)
一、概述
1. Netlter/IPTables 框架简介
是继 的 、 的 之后,
新一代的 防火墙机制。 采用模块化设计,具有良好的可扩大性。
其重要工具模块 连接到 的架构中,并允许使用者对数据报
进展过滤、地址转换、处理等操作。
提供了一个框架,将对网络代码的直接干预降到最低,并允许
用规定的接口将其他包处理代码以模块的形式添加到核中,具有极强的灵活性。
2.主要源代码文件
核版本:
主文件:
主头文件:
! 相关:
文件:"!#
头文件:$"!
$"!#
! 协议栈主体的局部 文件,特别是与数据报传送过程有关的局部:
1 / 63
![](https://csdnimg.cn/release/download_crawler_static/31328235/bg2.jpg)
"$","$ ,"$ ","$%
等
二、Netlter/IPTables-IPv4 总体
架构
主要通过表、链实现规那么,可以这么说, 是表的容
器,表是链的容器,链是规那么的容器,最终形成对数据报处理规那么的实现。
详细地说, 的体系结构可以分为三个大局部:
1. Netlter 的 HOOK 机制
的通用框架不依赖于具体的协议,而是为每种网络协议定义一
套 &''( 函数。这些 &''( 函数在数据报经过协议栈的几个关键点时被调用,
在这几个点中,协议栈将数据报与 &''( 函数标号作为参数,传递给
框架。
对于它在网络堆栈中增加的这些 &''(,核的任何模块可以对每种协议
的一个或多个 &''( 进展注册,实现挂接。这样当某个数据报被传递给
框架时,核能检测到是否有任何模块对该协议和 &''( 函数进展了
注册。假设注册了,那么调用该模块的注册时使用的回调函数,这样这些模块
2 / 63
![](https://csdnimg.cn/release/download_crawler_static/31328235/bg3.jpg)
就有机会检查、修改、丢弃该数据报与指示 将该数据报传入用户空间
的队列。
这样,&''( 提供了一种方便的机制:在数据报通过 核的不同位置上
截获和操作处理数据报。
2. IPTables 根底模块
根底模块实现了三个表来筛选各种数据报,具体地讲,
核提供的这三种数据报的处理功能是相互间独立的模块,都基于
的 &''( 函数和各种表、链实现。这三个表包括: 表, 表
以与 % 表。
3.具体功能模块
数据报过滤模块
连接跟踪模块〔) *〕
+ 网络地址转换模块〔,〕
数据报修改模块〔%〕
- 其它高级功能模块
于是, 总体架构如图 %"
./0$1"% 所示
3 / 63
![](https://csdnimg.cn/release/download_crawler_static/31328235/bg4.jpg)
三、HOOK 的实现
1. Netlter-IPv4 中的 HOOK
模块需要使用 &''( 来启用函数的动态钩接,它在 ! 中定
义了五个 &''(〔位于文件 $"!,+/〕,分
别对应 2 的 *
简单地说,数据报经过各个 &''( 的流程如下:
数据报从进入系统,进展 校验以后,首先经过第一个 &''( 函数
3$$45$4'67 进展处理;然后就进入路由代码,其决定该数据报是需
要转发还是发给本机的;假设该数据报是发被本机的,那么该数据经过 &''(
函数 3$$'),$ 处理以后然后传递给上层协议;假设该数据报应该被转
发那么它被 3$$3'48,49 处理;经过转发的数据报经过最后一个 &''(
函数 3$$':$4'67 处理以后,再传输到网络上。本地产生的数据经
过 &''( 函数 3$$'),$'6处理后,进展路由选择处理,然后经过
3$$':$4'67 处理后发送出去。
总之,这五个 &''( 所组成的 2! 数据报筛选体系如图
%" ./0$1"%:〔注:下面所说
均基于 !,不再赘述〕
详细地说,各个 &''( 与其在 数据报传递中的具体位置如图
%" ./0$1"%
4 / 63
![](https://csdnimg.cn/release/download_crawler_static/31328235/bg5.jpg)
NF_IP_PRE_ROUTING (0)
数据报在进入路由代码被处理之前,数据报在 数据报接收函数 "$!;<
〔位于 "!"$",+=/〕的最后,也就是在传入的数据报被处
理之前经过这个 &''(。在 "$!;<中挂接这个 &''( 之前,进展的是一些与
类型、长度、版本有关的检查。
经过这个 &''( 处理之后,数据报进入 "$!$;<〔位
于 "!"$",+0〕,进展查路由表的工作,并判断该数据报
是发给本地机器还是进展转发。
在这个 &''( 上主要是对数据报作报头检测处理,以捕获异常情况。
涉与功能〔优先级顺序〕:) *;2<、%;2-<、9,;2
<
NF_IP_LOCAL_IN(1)
目的地为本地主机的数据报在 数据报本地投递函数 "$ $!;<
〔位于 "!"$",/〕的最后经过这个 &''(。
经过这个 &''( 处理之后,数据报进入 "$ $!$;<〔位于
"!"$",/〕
这样, 模块就可以利用这个 &''( 对应的 6 规那么链表来对
数据报进展规那么匹配的筛选了。防火墙一般建立在这个 &''( 上。
5 / 63
剩余62页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
yunxidzh
- 粉丝: 60
- 资源: 30万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 华为HCIA-WLAN 3.0 课程视频(13 WLAN关键报文及STA上线.mp4)
- navicat教程.docx
- 华为HCIA-WLAN 3.0 课程视频(12 CAPWAP隧道.mp4)
- 华为HCIA-WLAN 3.0 课程视频(11 WLAN典型组网方案.mp4)
- 2429550184旺泓-096-1306-SPI接口带字库例程8pin.zip
- 华为HCIA-WLAN 3.0 课程视频(10 WLAN组网架构(下).mp4)
- 华为HCIA-WLAN 3.0 课程视频(09 WLAN组网架构(上).mp4)
- 计算机组成原理-复习提纲
- 华为HCIA-WLAN 3.0 课程视频(08 WLAN基本概念.mp4)
- 华为HCIA-WLAN 3.0 课程视频(07 WLAN的关键技术(下).mp4)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)