免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 瀚海书香

CU线上连载讨论一 Linux iptables使用问题和内核Netfilter流程 [复制链接]

论坛徽章:
0
发表于 2011-07-15 12:19 |显示全部楼层
回复  platinum

白金兄,你这里的描述,并没有明确提出,打过 mark 的就不需要往下匹配了啊

我刚才 ...
Godbach 发表于 2011-07-15 10:02


哈哈,我提前设了一个伏笔,结果被 Godbach 看出来了!
我是故意没有提出这个明确的需求的:)
用法是结合实际需求而来的,没有明确规定。
就这个例子来说,需要 MARK 的和需要 DROP 的数据丝毫没有关系,既然这样,为何不 MARK 之后立刻结束下面丝毫无用的匹配呢?
圈套就在这里

论坛徽章:
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
发表于 2011-07-15 12:44 |显示全部楼层
本帖最后由 Godbach 于 2011-07-15 12:46 编辑

回复 41# platinum
白金兄,这个 -g 的功能,对于 iptables 来说是结束当前表所在的 hook 函数的处理,还是结束了当前 hook 点所有 hook 函数的处理?

个人应该是第一种。第二种其实就是 NF_STOP 的功能。

论坛徽章:
0
发表于 2011-07-15 12:49 |显示全部楼层
对,是第一种
个人感觉相当于 -j ACCEPT 了

论坛徽章:
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
发表于 2011-07-15 13:41 |显示全部楼层
回复 43# platinum
嗯,应该是的

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2011-07-15 16:03 |显示全部楼层
回复 30# platinum


1、nat 表只匹配一个连接的前几个包(TCP 和 UDP 的实现略有不同),后续数据无法被 nat 表的规则匹配


能否说明一下tcp和udp的具体不同?

论坛徽章:
0
发表于 2011-07-15 16:38 |显示全部楼层
回复  platinum



能否说明一下tcp和udp的具体不同?
瀚海书香 发表于 2011-07-15 16:03



在 conntrack 时,TCP 协议需要分析三次握手,UDP 协议只需要分析有没有 REPLY,就这里有些区别

论坛徽章:
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
发表于 2011-07-16 13:25 |显示全部楼层
回复 24# platinum
to 白金兄 & 瀚海兄:
二位的实现在 匹配上用的什么匹配呢。(惭愧,我懒得看代码了)
和 string 匹配(并且指定偏移量)相比,哪个性能更好一些?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2011-07-18 10:19 |显示全部楼层
回复 47# Godbach
由于dns协议的特点导致,需要使用string的hex-string来进行匹配。
效率的话,感觉要比string快一些,因为根据dns的特点,直接找到存储域名的地方,然后进行匹配的。

论坛徽章:
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
发表于 2011-07-18 10:28 |显示全部楼层
回复 48# 瀚海书香


   
效率的话,感觉要比string快一些,因为根据dns的特点,直接找到存储域名的地方,然后进行匹配的。


对,使用 hex-string。而且我还专门提到了可以指定 --from 和 --to 选项。因为被请求的域名在 DNS 包中的位置也是有规律的。
这种条件下,在效率上是否还比 string 好。如果好的话,请指出具体的方面。

论坛徽章:
0
发表于 2011-07-18 11:38 |显示全部楼层
回复  platinum
to 白金兄 & 瀚海兄:
二位的实现在 匹配上用的什么匹配呢。(惭愧,我懒得看代码了)
...
Godbach 发表于 2011-07-16 13:25



我是之前分析的 DNS 的请求信令,直接找到域名的 offset
在程序里直接从这个 offset 利用 memcmp 比较之前生成好的串
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP