免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

【iptables交流贴】iptables执行的流程分析 [复制链接]

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:57:09C
日期:2016-10-25 16:17:59
161 [报告]
发表于 2013-04-19 09:27 |只看该作者
谢谢。回复真速度啊

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
162 [报告]
发表于 2013-04-19 13:18 |只看该作者
回复 161# shaohui973
正好逛论坛,看到问题了,还懂一点,所以就赶紧回复。


   

论坛徽章:
0
163 [报告]
发表于 2013-09-11 15:53 |只看该作者
本帖最后由 solitrarychen 于 2013-09-11 16:05 编辑

回复 162# Godbach
刚开始看iptables,有几个地方我一直没有搞明白,希望你能解答一下。在iptables.c中定义的一个全局变量iptables_command_state cs。cs其中的一个值,cs->invert, 这个值得作用是什么?
为什么要反复判断cs->invert的值,这个值初始化为0,在什么情况下会变为1哪?

还有就是,在docommand()中使用getopt_long()循环判断各种条件的时候,当case 'm': command(&cs);时,在command(&cs)中调用了函数xtables_find_match(),之后xtables_find_match()调用了xtables_fullt_register_pending_match()函数,结果这两个函数相互调用,搞得头好晕啊,一点头绪都没有。

我觉得每一次执行iptables命令时,全局变量 xtables_match* xtable_match这个指针都应该是空的啊?

我看的版本是:
kernel version 3.6.x
iptables version 1.4.16.3

   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
164 [报告]
发表于 2013-09-11 22:13 |只看该作者
回复 163# solitrarychen
刚开始看iptables,有几个地方我一直没有搞明白,希望你能解答一下。在iptables.c中定义的一个全局变量iptables_command_state cs。cs其中的一个值,cs->invert, 这个值得作用是什么?
为什么要反复判断cs->invert的值,这个值初始化为0,在什么情况下会变为1哪?


invert 指的是规则中是否使用了 '!',标识不在对应集合的才匹配

   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
165 [报告]
发表于 2013-09-11 22:13 |只看该作者
回复 163# solitrarychen
刚开始看iptables,有几个地方我一直没有搞明白,希望你能解答一下。在iptables.c中定义的一个全局变量iptables_command_state cs。cs其中的一个值,cs->invert, 这个值得作用是什么?
为什么要反复判断cs->invert的值,这个值初始化为0,在什么情况下会变为1哪?


invert 指的是规则中是否使用了 '!',标识不在对应集合的才匹配

   

论坛徽章:
0
166 [报告]
发表于 2013-09-12 10:08 |只看该作者
本帖最后由 solitrarychen 于 2013-09-12 10:09 编辑

回复 165# Godbach
多谢了,看来独学而无友真是困难啊。我是公司试用阶段,要求我弄懂iptables,并做一个ppt给部门讲解,压力山大啊。突然感觉以前的C都是白学的,内核中的代码真是让人惊叹啊,没想到还能这样用。。。


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
167 [报告]
发表于 2013-09-12 14:06 |只看该作者
回复 166# solitrarychen

内核版精华汇总帖里面找一下,有很多分析 iptables 和 Netfilter 的好文章。

   

论坛徽章:
0
168 [报告]
发表于 2014-02-19 10:01 |只看该作者
学习了!谢谢分享!

论坛徽章:
2
技术图书徽章
日期:2014-02-24 10:31:04技术图书徽章
日期:2014-03-20 16:11:43
169 [报告]
发表于 2014-02-22 20:21 |只看该作者
大牛啊

论坛徽章:
7
巨蟹座
日期:2015-07-09 16:10:34未羊
日期:2015-07-09 16:11:49数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00数据库技术版块每日发帖之星
日期:2015-12-05 06:20:00数据库技术版块每日发帖之星
日期:2016-03-28 06:20:00IT运维版块每日发帖之星
日期:2016-04-11 06:20:00IT运维版块每日发帖之星
日期:2016-05-22 06:20:00
170 [报告]
发表于 2015-01-12 11:05 |只看该作者
多谢版主大神指导!!有个问题请教一下,根据你所说最后调用iptc_append_entry()函数将规则写入, 但是我追踪此函数到libiptc.h内,缺没发现此函数的具体实现。难道这个函数是库里面提供调用的吗???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP