wjlkoorey258

上一页 1 ··· 3 4 5 6 7 8 9 下一页

2016年7月24日

(十一)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【上】

摘要: 预备知识:part1: 初见getopt_long() 在分析iptables源码时,作为命令解析的核心函数getopt_long()不得不提。随便百度或google搜索关于该函数的介绍有很多例子和解释,这里我只举一例,目的是让大家了解传递给iptables命令的每个参数是如何被正确识别并... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(951) 评论(0) 推荐(0)

(十)洞悉linux下的Netfilter&iptables:网络地址转换原理之SNAT

摘要: 源地址转换:SNAT SNAT主要应用于下列场景: 这种情况下,我们只有一个公网地址A,而又有三台主机需要同时上网,这时就需要SNAT了。它的主要作用是将那些由私网发来的数据包skb的源地址改成防火墙的公网地址A,这是因为目的主机在响应源地址为私网地址的数据包时,私网地址不能在网络... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(401) 评论(0) 推荐(0)

(九)洞悉linux下的Netfilter&iptables:网络地址转换原理之DNAT

摘要: 网络地址转换:NAT Netfitler为NAT在内核中维护了一张名为nat的表,用来处理所有和地址映射相关的操作。诸如filter、nat、mangle抑或raw这些在用户空间所认为的“表”的概念,在内核中有的是以模块的形式存在,如filter;有的是以子系统方式存在的,如nat,但... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(464) 评论(0) 推荐(0)

(八)洞悉linux下的Netfilter&iptables:状态防火墙

摘要: 基于连接跟踪机制的状态防火墙的设计与实现 连接跟踪本身并没有实现什么具体功能,它为状态防火墙和NAT提供了基础框架。前面几章节我们也看到:从连接跟踪的职责来看,它只是完成了数据包从“个性”到“共性”抽象的约定,即它的核心工作是如何针对不同协议报文而定义一个通用的“连接”的概念出来,具体的实现由不... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(262) 评论(0) 推荐(0)

(七)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【下】

摘要: 连接跟踪系统的初始化流程分析 有了前面的知识,我们再分析连接跟踪系统的初始化ip_conntrack_standalone_init()函数就太容易不过了。还是先上ip_conntrack_standalone_init()函数的流程图:该函数的核心上图已经标出来了“初始化连接跟踪系统”... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(296) 评论(0) 推荐(0)

(六)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【中】

摘要: Netfilter连接跟踪的详细流程 上一篇我们了解了连接跟踪的基本框架和大概流程,本篇我们着重分析一下,数据包在连接跟踪系统里的旅程,以达到对连接跟踪运行原理深入理解的目的。 连接跟踪机制在Netfilter框架里所注册的hook函数一共就五个:ip_conntrack_de... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(287) 评论(0) 推荐(0)

(五)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【上】

摘要: 如何理解Netfilter中的连接跟踪机制? 本篇我打算以一个问句开头,因为在知识探索的道路上只有多问然后充分调动起思考的机器才能让自己走得更远。连接跟踪定义很简单:用来记录和跟踪连接的状态。 问:为什么又需要连接跟踪功能呢? 答:因为它是状态防火墙和NAT的实现基础。 OK,算是... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(383) 评论(0) 推荐(0)

(四)洞悉linux下的Netfilter&iptables:包过滤子系统iptable_filter

摘要: 今天我们讨论一下防火墙的数据包过滤模块iptable_filter的设计原理及其实现方式。 内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数。编写完该函数后,用module_init()宏调用初始化函数;同样当模块被卸载时调用mod... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(669) 评论(0) 推荐(0)

(三)洞悉linux下的Netfilter&iptables:内核中的rule,match和target

摘要: 作为ipchains的后继者,iptables具有更加优越的特性,良好的可扩展功能、更高的安全性以及更加紧凑、工整、规范的代码风格。 在2.6的内核中默认维护了三张表(其实是四张,还有一个名为raw的表很少被用到,这里不对其进行分析介绍了):filter过滤表,nat地址转换表和mang... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(354) 评论(0) 推荐(0)

(二)洞悉linux下的Netfilter&iptables:内核中的ip_tables小觑

摘要: Netfilter框架为内核模块参与IP层数据包处理提供了很大的方便,内核的防火墙模块(ip_tables)正是通过把自己所编写的一些钩子函数注册到Netfilter所监控的五个关键点(NF_IP_PRE_ROUTING,NF_IP_LOCAL_IN,NF_IP_FORWARD,NF_IP... 阅读全文

posted @ 2016-07-24 10:57 wjlkoorey258 阅读(306) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 下一页

导航