3389端口已经开启(相关联的三个服务程序都已经正常运行)。
1. 发现远程机器的Telnet服务没有开启,开启服务。
结果,问题依旧。
2. ping 192.168.2.201,OK
telnet 192.168.2.201 3389,失败
为什么没法访问远程的3389端口?防火墙已经关闭了,应该可以正常访问才对。
3. 网络工作组?修改计算机的网络工作组为同一个工作组,测试访问网络共享文件,OK。
还是不行。
4. 对比正常机器的设置:“控制面板”——“管理工具”——本地安全设置,本地策略——安全选项,
还是不行。
5. 计算机管理——“系统工具”“本地用户和组”——“组”,检查账户是否在远程桌面的组中。
“控制面板”——“管理工具”——本地安全设置,本地策略——用户权利指派,“通过终端服务允许登录”中,确保上面设置的远程桌面的组“Remote Desktop Users”在列表中。
这些设置都正确,还是不行!
6。 远程桌面程序有误?检查,发现都是Windows 2003版本的远程桌面程序。
从这台有问题的机器远程登录其他机器,正常!
ghost xp 无法远程登录解决方案
http://hi.baidu.com/hbuangel/blog/item/017a5b82959474a00cf4d210.html
7. 原因锁定在无法telnet。
远端机器上执行:netstat -ano
发现23端口已经开启,说明telnet服务正常。
http://topic.csdn.net/u/20080307/10/70a46b69-a521-45f7-b514-903dd49c97c5.html
一样的问题
ion-viewthread-tid-181">http://www.hexsafe.com/?action-viewthread-tid-181
使用 Telnet 测试端口 3389 功能
http://support.microsoft.com/kb/187628/zh-cn
8. 远程机器本地执行: telnet 127.0.0.1 3389
OK!
9. 我的电脑——右键,“属性”,——点击“更改”按钮,更改计算机名称。
重启计算机。
还是不行。
10. 发现这台机器的“本地连接”上面有把小锁的图标,关闭。
http://zhidao.baidu.com/question/6772988.html?fr=qrl&cid=89&index=3&fr2=query
那是WINDOWS自带的防火墙,跟上不了网没有什么关系,你可以这样:右键"网上邻居"--然后右键点本地连接,选择属性----高级---设置----选中关闭
11. 网络数据包加密了?不是。
远程计算机无法连接
http://yangjie81231711.blog.163.com/blog/static/461186452010011153294/
12. 几个小时过去了。 (这下面的分析是错误的)
(1)抓包分析
抓取网络数据包。发现一个严重的问题:远程桌面连接时,控制台向远程主机发送ARP解析指令(IP地址转换为网卡MAC物理地址),远程主机没有应答!
至此,原因找到了。
(2) 缩小范围
这台机器的名称是“pc123”,我执行命令“ping pc123”,同时抓取网络数据包分析。
这个“ping pc123”会产生DNS解析。那么,这里会产生ARP解析。数据包如下:
No: 1
Timestamp: 01:56:11:875
MAC source address: 90:E6:BA:2E:1B:E3
MAC dest address: FF:FF:FF:FF:FF:FF
Frame type: ARP
Protocol: ARP->Request
Source IP address: 192.168.2.200
Dest IP address: 192.168.2.100
Source port: ---
Destination port: ---
SEQ: ---
ACK: ---
Packet size: 42
Packet data:
0000: FF FF FF FF FF FF 90 E6 BA 2E 1B E3 08 06 00 01 ................
0010: 08 00 06 04 00 01 90 E6 BA 2E 1B E3 C0 A8 02 C8 ................
0020: 00 00 00 00 00 00 C0 A8 02 64 .........d
=====================================================================
No: 2
Timestamp: 01:56:11:875
MAC source address: 00:11:2F:C9:F5:E1
MAC dest address: 90:E6:BA:2E:1B:E3
Frame type: ARP
Protocol: ARP->Reply
Source IP address: 192.168.2.100
Dest IP address: 192.168.2.200
Source port: ---
Destination port: ---
SEQ: ---
ACK: ---
Packet size: 60
Packet data:
0000: 90 E6 BA 2E 1B E3 00 11 2F C9 F5 E1 08 06 00 01 ......../.......
0010: 08 00 06 04 00 02 00 11 2F C9 F5 E1 C0 A8 02 64 ......../......d
0020: 90 E6 BA 2E 1B E3 C0 A8 02 C8 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 ............
=====================================================================
很奇怪的是,系统向192.168.2.100发送了ARP数据包,更邪门的是,192.168.2.100返回了ARP应答数据包,这个应答数据包里面的MAC地址正是192.168.2.201这台机器的网卡MAC物理地址!
最初,这台机器的IP地址是192.168.2.100,由路由器自动分配。我静态分配为192.168.2.201. 难道是路由器192.168.2.1没有更新IP——MAC映射表?
(3)很可能是路由器出问题了。
登录路由器,查看DHCP选项。因为之前使用的是路由器动态分配,也就是DHCP协议,所以这里直接进去。
ID | 客户端名 | MAC 地址 | IP 地址 | 有效时间 |
1 | pc123 | 00-11-2F-C9-F5-E1 | 192.168.2.100 | 01:30:39 |
这时候才想起来,我把远程机器的IP地址又改成了自动获取,192.168.2.100是对的。
13. 再次抓包分析。刚才的方向错误。
此次结果显示,TCP的三次握手失败,192.168.2.202向192.168.2.201(远程机器)发送请求连接命令,但是192.168.2.201迟迟不予以应答。
我之前已经试过,在192.168.2.201本机测试,可以telnet到3389端口,也就是成功建立了TCP连接。而其他机器则不行。这很像是由防火墙导致的。——但问题是,我已经关闭了Windows防火墙,也没有安装任何其他安全软件,端口为什么会被拦截?
莫非所有的端口都会被拦截?远程机器上安装apache,测试访问,通过!
这说明,仅仅是远程桌面的3389无法应答远程连接!也就是Terminal Services程序存在问题!
14. 搜索“windows xp重新安装Terminal Services”,找到:
精简windows XP Terminal Services 恢复补丁
http://hi.baidu.com/zixu007/blog/item/e86e5f2aad1ff129d42af187.html
下载
测试结果,还是不行。
15. 既然已经确定是Terminal Services程序存在问题,可能只能是重装WIndows系统。
16. 继续。如果说远程协助不能启动,那么MSN和NetMeeting里面的远程桌面可能也启动不了,因为Windows系统的这几个产品都是同一个技术框架下的。
安装NetMeeting,执行“conf”启动NetMeeting。果然,远程桌面无法查看!
NetMeeting是基于mirror driver实现的,这个精简的windows系统很可能把mirror driver给删除了。
——错!mirror driver驱动需要重启后才能加载,重启,之后NetMeeting可以远程协助。
——事实上应该是远程协助的网络应答程序存在问题,accept()接受网络客户端连接失败。
17. 重装远程桌面
从 C:/WINDOWS/inf 里面复制TermSvcs.inf和TermSvcs.PNF到桌面,然后在TermSvcs.inf上面右击“安装”,并插入Windows安装光盘, 安装。如果缺少一些exe等文件,可以从其他正常的电脑上面复制过来(如果需要使用远程桌面,必然是多个系统,可以复制的),或者从网上下载。
重启,还是不行。
18. 修改端口试试。
如何更改远程桌面的侦听端口
http://support.microsoft.com/kb/306759
最终解决:
修改注册表中的3389端口为其他端口,例如89端口。再在远程桌面的登录窗口中输入“192.168.2.201:89”,连接,成功!
再改回3389端口,输入“192.168.2.201:3389”,连接,失败!输入“192.168.2.201”,连接,失败!
看来此问题应该是ghost版本的windows xp sp3系统的问题,端口方面的某些参数可能被修改。暂时采用“192.168.2.201:89”这种方式访问。
By:章永辉