fenghou 发表于 2008-11-16 23:27

怪事,TCP本地临时端口到5000以上了

    每当运行 TCP/IP 的系统建立外出连接时,TCP 软件会自动选择一个本地端口号并将其分配给该连接。这在 TCP 结构中是必需的,这样服务器就可以向客户机返回数据包。该端口号在被释放之前,不能被其他任何外出或侦听套接字使用。端口号在 1 - 1024 范围内的端口称为保留端口,因为它们是为已知的系统服务预留的。当 TCP 软件必须随机选择一个客户机端端口号时,绝不会使用保留端口,而是随机选择 1024 以上范围(称为临时端口范围)内的一个端口号。Internet 管理机构使用 1024 以上的低端范围为注册的应用程序分配端口号,例如 Lotus Notes/Domino 的 NRPC 服务使用 1352。Microsoft 使用的临时端口号范围为 1024 - 5000。因此,当 Windows 系统上的服务器建立外出连接时,选择的临时端口号可能为 1352。在这种情况下启动 Domino 时,NRPC 端口将无法绑定。Windows 系统上的服务器经常在启动时建立与 NetBIOS 会话服务已知端口的外出连接,并且在重新启动系统之前保持这些连接处于活动状态。这就是导致问题的原因。

注意 大多数 UNIX 系统使用端口范围的高端部分作为临时端口范围,如 45000 - 65000,这样所选的临时端口号与注册的端口号一般不会出现冲突。

我用的是XP SP2,按道理临时端口范围应该是1024-5000,可我装了新系统后,居然用了几个小时后就超过5000了。
由于我用了防火墙限制临时端口只能在1024-5000这个范围,所以开机几个小时后就无法联网了,必须关掉防火墙,或者重启系统才行。

http://img87.imageshack.us/img87/808/54839597fz9.png

请问这个1024-5000的规则为什么被冲破了?如何还原?

siyeclover 发表于 2008-11-16 23:32

我没听说过“Microsoft 使用的临时端口号范围为 1024 - 5000”这种说法。
除非它的意思是说微软自家的软件用的端口号是1024 - 5000。
正常情况,1024-65535都是有可能被用的,没有5000上限这种说法。

哦,我明白它说的啥意思了,大概你的问题是这样:
http://www.web3.cn/Content,2008,7,17,230.aspx

[ 本帖最后由 siyeclover 于 2008-11-16 23:36 编辑 ]

fenghou 发表于 2008-11-16 23:36

http://www.looknstop.net.cn/attachments/date_200804/thumb_4b6f4127b6033e41169df6b5470f0c9c.jpg
5。来源端口:因为访问网站都是本机用1024~5000端口范围内的空闲端口来访问,且不定,所以这里直接选“本地常用内”。

Look ’n’ stop 防火墙不知道四叶同学用过没有,它默认就是1024-5000。
(当然我自己也可以改到1024-65535,但这样安全性好像会降低。)

[ 本帖最后由 fenghou 于 2008-11-16 23:43 编辑 ]

siyeclover 发表于 2008-11-16 23:42

出去的没必要那么严格吧?把进来的端口看紧就行了。
你如果实在很在意这个,看看上个帖子我添加内容链接里提到的那个补丁,看是否是那个问题。

fenghou 发表于 2008-11-16 23:43

原帖由 siyeclover 于 2008-11-16 23:32 发表 http://bbs.saraba1st.com/images/common/back.gif
哦,我明白它说的啥意思了,大概你的问题是这样:
http://www.web3.cn/Content,2008,7,17,230.aspx


我的倒是没到那么高,就是用着用着就超过了5000。
看了一下,我没装KB951748。


确实改到1024-65535也行,问题是为什么就突然超过了5000,而原来都好好的呢?
这个5000限制究竟是在什么地方设置的?
是不是要看《Windows技术内幕》才行?

[ 本帖最后由 fenghou 于 2008-11-16 23:46 编辑 ]

fenghou 发表于 2008-11-16 23:57

原帖由 siyeclover 于 2008-11-16 23:42 发表 http://bbs.saraba1st.com/images/common/back.gif
出去的没必要那么严格吧?把进来的端口看紧就行了。

进来的端口也没办法看紧,eMule等软件远端端口很随机,一个服务器一个样……

siyeclover 发表于 2008-11-17 00:29

原帖由 fenghou 于 2008-11-16 23:57 发表 http://bbs.saraba1st.com/images/common/back.gif


进来的端口也没办法看紧,eMule等软件远端端口很随机,一个服务器一个样……
你管它服务器用什么端口,你eMule在本地使用的端口可是固定的啊。

fenghou 发表于 2008-11-17 00:35

原帖由 siyeclover 于 2008-11-17 00:29 发表 http://bbs.saraba1st.com/images/common/back.gif

你管它服务器用什么端口,你eMule在本地使用的端口可是固定的啊。

有一个主要的传输端口可以固定,但更多的和服务器作小流量通信的端口不能固定。
刚用looknstop时问了好多人,还是没能解决这个问题,所以只好能限制多少就限制多少了。

siyeclover 发表于 2008-11-17 00:51

原帖由 fenghou 于 2008-11-17 00:35 发表 http://bbs.saraba1st.com/images/common/back.gif


有一个主要的传输端口可以固定,但更多的和服务器作小流量通信的端口不能固定。
...
那个就是出去的,不是进来的了吧?

fenghou 发表于 2008-11-17 01:00

原帖由 siyeclover 于 2008-11-17 00:51 发表 http://bbs.saraba1st.com/images/common/back.gif

那个就是出去的,不是进来的了吧?
是的,所以给那个由别人主动连进来的端口建了一个规则,自己连出去的使用1024-5000……嗯?好像有点问题……
好像这个软件只能监控一个个数据包,即只知道这个数据包是进来的还是出去的,不知道是由别人主动连进来的传出、传入,还是由自己连出去时的传出、传入,我再仔细看看。

fenghou 发表于 2008-11-17 01:16

规则是这样设定的(上面规则决定的事,下面规则不能更改):
对于TCP包,若本地端口等于指定端口,数据包可以通行。(配合下一个规则起到允许对方通过指定端口连接本机的作用。)
拦截他人的TCP连接请求。(所以现在只剩下本地发起的连接会被下面的规则处理了。)
对于TCP包,若本地端口在1024到5000之间,数据包可以通行。

看来改成1024-65535还是比较安全的。

[ 本帖最后由 fenghou 于 2008-11-17 01:18 编辑 ]
页: [1]
查看完整版本: 怪事,TCP本地临时端口到5000以上了