为什么QQ的信息能进入局域网内部的机子?

来源:互联网 发布:淘宝童装哪里进货 编辑:程序博客网 时间:2024/04/29 07:58

其实,这个问题很简单。虽然QQ客户端在局域网内,但是当你打开QQ登录到QQ服务器时,通过防火墙,你的客户端与QQ服务器建立了一个长连接。你可以用netstat -a 看到此连接的状态是 establish。

此时,在QQ服务器那面看到的连接的IP是你们局域网防火墙的对外IP。举个例子:

QQ服务器 IP:202.96.170.175 服务端口:3333

你的机器在局域网中内部IP: 192.168.0.10
你局域网出口防火墙InternetIP: 202.106.10.100

你的客户端的请求将通过防火墙出去,如果防火墙没有禁止访问Internet上3333端口服务,那么你的QQ客户端可以正常工作。你看到的连接是 (netstat -a)

192.168.0.10:4817  202.96.170.175:3333 establish

这是一个假象。通过QQ服务器看到的连接是:
202.96.170.175:3333 202.106.10.100:31234 establish

这样,防火墙上的31234口对应的就是你机器的4817口。(由于你是发起方,这个数是变化的。动态的)
当有信息给你时,QQ服务器只需要发给防火墙的31234口即可。(这里防火墙作了地址翻译)


所以,你要测试两个局域网的互传时,除非你可以将服务端的IP和端口通过你本地网可以静态访问到,否则无法成功!

原创粉丝点击