免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
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
81 [报告]
发表于 2008-08-07 17:34 |只看该作者
原帖由 jaycu 于 2008-8-7 17:31 发表



恩。我其实也是刚开始看iptables源码,我当初是没iptables源码时就开始看九贱大师的iptables源码了,所以很多没搞清楚。刚下了源码,正好结合你的第一楼的帖子,好好瞅瞅。对state选项还真是了解的太少, ...



哈哈,奥运结束了再去看吧。

我这里面没有对-m state选项分析。但是你可以看一下对-p tcp分析的时候,他的实现方式是和-m state类似的。
因为TCP,UDP, ICMP是三个标注你的扩展匹配, state的匹配是用单独模块实现的。

论坛徽章:
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
82 [报告]
发表于 2008-08-07 17:36 |只看该作者
原帖由 jaycu 于 2008-8-7 17:33 发表



LZ真是好人啊哈哈。的确,九贱的《iptables源码分析》、《netfilter源码分析》,我还找到了一份《conntrack源码分析》(忘记是不是他的了,这一串,最近似乎不见九贱说话了。。。那些帖子都是05,06年的了 ...


05年的高手们,现在肯定都很忙了。其实还有端木隐大侠的文章也写得很好。我基本上是参考了他们的东东。

只不过是按照执行流程的方式总结了一下,感觉我更适合这样的理解方式。如果一分析源码就说init,register的话,反而把握不好这个功能在内核的使用。

不过我的分析都是2.4.22内核的。内核版本比较老啊

论坛徽章:
0
83 [报告]
发表于 2008-08-07 17:41 |只看该作者
我太佩服你们了,尤其是九贱,他怎么懂得那么多,那么精~佩服,佩服~

论坛徽章:
0
84 [报告]
发表于 2008-08-07 17:42 |只看该作者
再问个小白问题,iptables 中,哪行代码是把表提交给内核了?

论坛徽章:
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
85 [报告]
发表于 2008-08-07 17:43 |只看该作者
原帖由 sunorr 于 2008-8-7 17:41 发表
我太佩服你们了,尤其是九贱,他怎么懂得那么多,那么精~佩服,佩服~



呵呵,我们都是从哪里学习的。九贱确实比较牛,他说自己当时就是用Source Insight一句一句跟的代码,可能其他的参考资料都不多。
可是偶呢,也是来回的看了好几遍,有请教了周围的不少人。才算搞懂了一点点啊。

论坛徽章:
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
86 [报告]
发表于 2008-08-07 17:44 |只看该作者
原帖由 sunorr 于 2008-8-7 17:42 发表
再问个小白问题,iptables 中,哪行代码是把表提交给内核了?


看一下Libiptc.c中TC_COMMIT这个函数。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
87 [报告]
发表于 2008-08-07 17:44 |只看该作者
原帖由 sunorr 于 2008-8-7 17:25 发表

哇哦,这么多啊~能帮列出来吗?


1、内核启动参数;
2、模块参数;
3、sysfs;
4、sysctl;
5、系统调用;
6、netlink;
7、procfs;
8、seq_file;
9、debugfs
10、relayfs

论坛徽章:
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
88 [报告]
发表于 2008-08-07 17:45 |只看该作者
原帖由 dreamice 于 2008-8-7 17:44 发表


1、内核启动参数;
2、模块参数;
3、sysfs;
4、sysctl;
5、系统调用;
6、netlink;
7、procfs;
8、seq_file;
9、debugfs
10、relayfs



喔,确实不少啊。呵呵,procfs也是一种不错的方式,很多时候都会用到的。

论坛徽章:
0
89 [报告]
发表于 2008-08-07 17:47 |只看该作者
原帖由 Godbach 于 2008-8-7 17:43 发表



呵呵,我们都是从哪里学习的。九贱确实比较牛,他说自己当时就是用Source Insight一句一句跟的代码,可能其他的参考资料都不多。
可是偶呢,也是来回的看了好几遍,有请教了周围的不少人。才算搞懂了一点 ...

塑料袋也很牛的,不过,貌似他不常来……=。=

论坛徽章:
0
90 [报告]
发表于 2008-08-07 17:47 |只看该作者
原帖由 dreamice 于 2008-8-7 17:44 发表


1、内核启动参数;
2、模块参数;
3、sysfs;
4、sysctl;
5、系统调用;
6、netlink;
7、procfs;
8、seq_file;
9、debugfs
10、relayfs


谢谢哈,的确比较多哈~哪种比较简单易学呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP