![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netfilter
187J3X1
这个作者很懒,什么都没留下…
展开
-
Netfilter是如何工作的(一) HOOK点
写在前面本系列不是介绍How to配置iptables的文章。因为网络上已经有很多这类型的教程了,其中一些还不错(比如链接).本系列也不是一般意义上的Netfilter源码分析文章。因为大段粘贴代码也会让人心生畏惧和厌烦!本系列文章的目标是,用尽量少的文字和图片讲明白How Netfilter workNetfilter 的基本概念Netfilter是一套融入在Linux内核网络协议栈中...原创 2019-09-22 16:55:11 · 844 阅读 · 0 评论 -
Netfilter是如何工作的(二) 表(table)与规则(rule)
在(一)中说到,报文在内核协议栈中会途经5个HOOK点,在每个HOOK点上会依次执行链表上的钩子函数,那么这些钩子函数是如何与用户使用iptables下发的各个rule联系起来的呢?这些rule又是如何存储的呢? 本文详细描述这个问题。table内核使用struct xt_table这个结构来表示一个表(table)。结构中记录了这个表在哪些HOOK点有效,它的private指针保存了这个表包...原创 2019-09-22 16:57:19 · 1077 阅读 · 0 评论 -
Netfilter是如何工作的(三) 规则的匹配(match)
每一条iptables配置的rule都包含了匹配条件(match)部分和动作(target)。当报文途径HOOK点时,Netfilter会逐个遍历挂在该钩子点上的表的rule,若报文满足rule的匹配条件,内核就会执行动作(target)。扩展match的表示而match又可以分为标准match和扩展match两部分,其中前者有且只有一个,而后者有零到多个。在Netfilter中,标准mat...原创 2019-09-22 16:57:41 · 930 阅读 · 1 评论 -
Netfilter 是如何工作的(四):动作(target)
每一条iptables配置的规则(rule)都包含了匹配条件(match)部分和动作(target)。当报文途径HOOK点时,Netfilter会逐个遍历挂在该钩子点上的表的rule,若报文满足rule的匹配条件,内核就会执行动作(target)。上面是一条普通iptables规则,如果报文匹配前面的条件,就会执行最后的-j DROP,它就是这条规则的动作(target)普通动作 &am...原创 2019-09-22 16:58:16 · 569 阅读 · 0 评论 -
Netfilter 是如何工作的(五):初识连接跟踪(connection track)
报文过滤和连接跟踪可以说是Netfilter提供的两大基本功能。前者被大多数人熟知,因为我们对防火墙的第一印象就是可以阻止有害的报文伤害计算机;而后者就没这么有名了,很多人甚至不知道Netfilter有这项功能。Why 使用连接跟踪顾名思义,连接跟踪是保存连接状态的一种机制。为什么要保存连接状态呢? 举个例子,当你通过浏览器访问一个网站(连接网站的80端口)时,预期会收到服务器发送的源端...原创 2019-09-22 16:58:59 · 1118 阅读 · 0 评论