请问在LINUX下是如何判断数据包属于同一条连接的--
(2011-09-01 06:29:40)
标签:
杂谈
请问在LINUX下是如何判断数据包属于同一条连接的??比如我在某个数据包中发现了可疑的东西,我就要把它所属的整个TCP连接全部丢弃.这个是通过什么实现的呢???主动防御防火墙。哈哈恐怖。回复
#1 emailwrong 的帖子只要丢掉这个连接的一些包
那么这个连接不就斷了么?或者你是想删除对应的ip_conntrack?那个连接不会重传的吗?
ip_conntrack又是靠什么来划分同一条连接的呢??
靠端口还是靠什么呢?这个我一直没弄明白,大家原谅啊
请教PPP服务器的问题
r />[[i] 本帖最后由 emailwrong 于 2007-4-17 14:10 编辑
[/i]]TCP连接是端到端的,在IP中端到端的连接可以用网络地址+端口号来标识。因此conntrack中也是IP地址+端口号。教你两招
招式一:
发现某个数据包有问题的时候,给这个包 MARK
然后利用 connmark 的 save-mark功能将这个 MARK 保存到链接里
在流程开始的时候,用 restore-mark 还原这个 connmark 里的 MARK 到 packet,方法类似 IPP2P
官方网页介绍的那样
招式二:
发现某个数据包有问题的时候,利用 CONNMARK 直接给某个 session 打 MARK
然后在流程最开始http://0668z.dqzpark.gov.cn的时候利用 connmark 去匹配某个 session 的
MARK
值,做处理请问版主,你所说http://epwna.ballet.org.cn的"流程"是在用户态的么.还有,版主你说的招式1,它能将此包之前的同连接包也打上MARK,是这个意思吗?还是什么?>>
请问版主,你所说的"流程"是在用户态的么.
指的是数据包的匹配顺序问题,也就是 rule 的顺序
在匹配到后打标,而在他之前应该有对特殊标记的处理(因为数据包是源源不断过来的)
>>
还有,版主你说的招式1,它能将此包之前的同连接包也打上MARK,是这个意思吗?
对,正是这个意思,具体可以看 ipp2p 的一篇资料,google 他们的官方网站即可
其中用到了 CONNMARK 的两个子功能,--save-mark 和 --restore-mark
因为,在 Linux 系统里,有两个 MARK 值
其中一个是 sk_buff 结构体中的 unsigned long nfmark,这个实际上存放的是该数据包的 MARK
值
另一个就是 conntrack 结构体中的 unsigned long mark,这个存放的是该 connection 的 MARK
值
--save-mark 实际上是将该数据包的 MARK(nfmark)写到该数据包所在的连接的 MARK(mark)里
--restore-mark 实际上是将某连接的 MARK 提取出来复制到当前数据包中
利用这两个特有的机制,可以实现“此数据包标记、彼数据包(同连接的)会有相同标记”,因此可以满足你的需求明白了,多谢多谢http://e-c-p.xdq.gov.cn!!!!!!!看来还得多看书啊!!!
也就在大约一个月前,“做空中国”还是国际投资界最热门的关键词之一。但在最近的一两周,形势发生了急速逆转。
一、常见错误1# :多次拷贝字符串
不过,费希尔的看法似乎并不那么“典型”。就在穆迪唱空中国银行业和淡马锡减持中资银行股的消息传出同时,
从而吸引更多读者和广告投放。但在一个竞争更加激烈的世界里,偏见则似乎更容易吸引眼球,
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。