Linux.ChinaUnix.net
ChinaUnix | Linux首页 | 新闻 | 博客 | 文章 | 专栏 | 新手 | 方案 | 图书 | 下载 | 人才 | 手册 | wiki | 搜索     
Linux论坛
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

请问在如何在NF_LOCAL_IN获得TCPv4包的目标(本机)端口?
首页 » CU论坛 » Linux » 汇总贴列表 » 内核源码 »  
[打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
piaobo79   帅哥
侠客




UID:593608
注册:2007-7-29
最后登录: 2008-08-21
帖子:34
精华:0

可用积分:52 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
1楼 发表于 2008-6-27 16:05 
请问在如何在NF_LOCAL_IN获得TCPv4包的目标(本机)端口?因为本机的TCP服务是监听并fork新的进程的,所以在netfilter里面拿到的只是监听端口而不是真正的端口。

如果不行,有什么办法获得呢?目标是尽量减少对内核的改动。谢谢!



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
qtdszws (异次元空间)
光明使者



UID:85595
注册:2003-8-17
最后登录: 2008-08-11
帖子:945
精华:5

可用积分:1032 (家境小康)
信誉积分:100
专家积分:83 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
2楼 发表于 2008-6-29 09:12 
>>因为本机的TCP服务是监听并fork新的进程的,所以在netfilter里面拿到的只是监听端口而不是真正的端口。

监听端口也是真正的端口



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Good better best,
never let it rest,
till good is better,
and better best.
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
dreamice
风云使者
修身隐士



UID:562632
注册:2007-5-11
最后登录: 2008-08-21
帖子:402
精华:6

可用积分:819 (稍有积蓄)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
3楼 发表于 2008-6-29 11:36 
在LOCAL_IN这个hook点上,直接察看数据包的TCP端口,不就可以看到了么。



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
piaobo79   帅哥
侠客




UID:593608
注册:2007-7-29
最后登录: 2008-08-21
帖子:34
精华:0

可用积分:52 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
4楼 发表于 2008-6-30 11:48 
我的意思是说要拿到fork以后的端口, 因为我的程序要对不同的连接进行不同的地址修改。如果用监听端口,就没办法分辨了。另外HOOK里面拿到的TCP端口是监听端口而不是fork以后的端口,所以没用。



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
qtdszws (异次元空间)
光明使者



UID:85595
注册:2003-8-17
最后登录: 2008-08-11
帖子:945
精华:5

可用积分:1032 (家境小康)
信誉积分:100
专家积分:83 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
5楼 发表于 2008-6-30 11:57 
>>因为我的程序要对不同的连接进行不同的地址修改。

怎么改的?

>>另外HOOK里面拿到的TCP端口是监听端口而不是fork以后的端口,

fork以后的端口?是什么?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

Good better best,
never let it rest,
till good is better,
and better best.
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
baohuaihuai
天使




UID:552896
注册:2007-4-17
最后登录: 2008-08-21
帖子:1051
精华:0

可用积分:1163 (家境小康)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
6楼 发表于 2008-6-30 13:34 
我相信楼主肯定混淆了某些概念.



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
piaobo79   帅哥
侠客




UID:593608
注册:2007-7-29
最后登录: 2008-08-21
帖子:34
精华:0

可用积分:52 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
7楼 发表于 2008-7-1 16:43 
查了一下,TCP监听端会为每一个连接fork()一个新的套接字,可是没有提到会使用一个新的端口。是我记错了。我以为会使用一个新的端口。

如果这样的话,我想在netfilter里面分辨不同的TCP连接改怎么办呢?我的程序要对不同的连接进行地址修改,有点像本地的NAT。 谢谢了!



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
dreamice
风云使者
修身隐士



UID:562632
注册:2007-5-11
最后登录: 2008-08-21
帖子:402
精华:6

可用积分:819 (稍有积蓄)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
8楼 发表于 2008-7-1 18:34 


QUOTE:
原帖由 piaobo79 于 2008-7-1 16:43 发表
查了一下,TCP监听端会为每一个连接fork()一个新的套接字,可是没有提到会使用一个新的端口。是我记错了。我以为会使用一个新的端口。

如果这样的话,我想在netfilter里面分辨不同的TCP连接改怎么办呢?我的 ...

我猜想你是想分辨具体的数据报的功能,然后采取相应处理这样一个需求吧。如果这样,你从判断数据报的一些特殊关键字或者域来做相应处理不就行了,你前面说到的端口不就相当于你的一个判断条件吗?



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
piaobo79   帅哥
侠客




UID:593608
注册:2007-7-29
最后登录: 2008-08-21
帖子:34
精华:0

可用积分:52 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
9楼 发表于 2008-7-2 12:08 


QUOTE:
原帖由 dreamice 于 2008-7-1 18:34 发表


我猜想你是想分辨具体的数据报的功能,然后采取相应处理这样一个需求吧。如果这样,你从判断数据报的一些特殊关键字或者域来做相应处理不就行了,你前面说到的端口不就相当于你的一个判断条件吗?

我是要分辨不同的TCP连接,可是这些连接都是连到本地同一个监听端口上的。原来的设计是使用本地端口作为哈希表的索引,这样查表效率也比较高,可是这种设计对于fork出来的连接就不管用了。 另外,我本来是可以使用远程地址+远程端口作为关键字的,可是因为我做的是移动IP方面的东西,也就是说远程IP地址在一段时间以后可能会被分配给不同的节点,如果它们再使用同样的端口,那么我这边就有问题了。虽然这种情况的概率比较小,但也不可以忽略。

所以我想知道的是在网络层有没有可能分辨这类fork出来的连接呢?



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
dreamice
风云使者
修身隐士



UID:562632
注册:2007-5-11
最后登录: 2008-08-21
帖子:402
精华:6

可用积分:819 (稍有积蓄)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
10楼 发表于 2008-7-2 14:24 
远程地址+端口,作为这一条连接来说,它是不会改变的,如果改变,那这条连接也就断了,需要重新建立。即使你说的假如可以使用本地端口作为判断,那远程地址或者端口变了,你这条连接也得重新建立。



您对本贴的看法:鲜花[0] 臭蛋[0]
发奥运快讯+1800分! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » CU论坛 » Linux » 汇总贴列表 » 内核源码 »

 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - Linux时代 - Archiver - WAP - TOP

Processed in 0.099398 second(s), 5 queries , Gzip enabled