关于对控制内网机器的讨论(不通过网关)
由于我们条件有限,很难控制网关作端口映射,看下面
拓朴图:
(Firewall)
PC A -------------------外网IP服务器(网关)-------------PC B (内网)
分析:因为Firewall不受控制,所以从外网IP服务器或想控制PC A的话, PC A连接外网IP服务器(网关)的请求因为没有端口映射,所以根本不会转到PC B,连接只会失败。所以. 我们必须转换思路,让PC B发请求,PC A接到PC B的请求后开放端口N,告诉PC B你可以连接我了,PC B是可以直接连接PC A的N端口的,数据连接建立。那句怎么说来着,堡垒最容易被从内部攻破…..
具体方法就是:
1,在客户端(控制端) PCA,运行"VNC 查看器侦听模式",让VNC守株待兔
2,在服务端(被控端) PC B运行 "VNC 服务器",启动WinVNC.exe,下面要右键点击右下VNC图标,选择第二项"填加新客户端"
然后输入客户端(控制端)的公网IP(动态域名也可)
等一会儿,就连接上公网的控制机了。这种方法要求必须有一方有公网IP,不能两个都是内网,如果认真讨论其实是要求服务端(被控端)能够通过手段连接上控制机。
如果我们在单位控制自己家里在局域网的机器,不能本人在家里发请求怎么办?也好办,用计划任务或者一些工具软件来用命令行方式发起连接,客户端使用侦听方式,若客户端没有固定IP我们也可申请动态域名。比如服务端设置成每三分钟发起一次连接
请单击"开始",依次指向"所有程序"、"附件"、"系统工具",然后单击"任务计划"加完vnc之后双击任务修改命令行为
C:\winsock\winvnc\WinVNC.exe -connect 202.98.0.56:display
日程设置为在每天,固定时间每三分钟发起一次连接,每次连3小时(这些都是看自己情况定了),注意加计划任务一定要输入密码
值得注意的是连接上如果不中断计划任务,会出现多个控制窗口,所以一般连上立刻去删除VNC的计划任务。
如果多个人想控制一台服务器,也需要反向连接,否则按照一般办法,谁最后发控制命令,VNC server 会断开之前的连接,始终只有最后一个与服务器进行成功连接的客户端!除非反向连接。
进阶技巧
1.开机就玩远程控制
在“开始→运行”中输入“C:\winsock\UltraVNC\winvnc.exe -install”(不含引号)完成服务的安装,这样以\winsock\UltraVNC\winvnc.exe -remove”(不含引号),可以卸载服务。
2.隐藏系统托盘图标
有时我们不需要UltraVNC在任务栏上显示图标,甚至希望UltraVNC在后台“默默”地运行,那么你可以打开“记事本”,输入如下内容,保存为REG文件,并运行将其导入注册表(Windows 9x用户修改第一行为REGEDIT4):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]
"DebugMode"=dword:00000002
"DebugLevel"=dword:0000000a
"AllowLoopback"=dword:00000001
"MSLogonRequired"=dword:00000000
"UseDSMPlugin"=dword:00000000
"DisableTrayIcon"=dword:00000001
3.禁止使用UltraVNC
打开“注册表编辑器”,依次展开[HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default],在其下建立“双字节值”,键名为“AllowProperties”,键值为“0”。设置后,其他人就无法再修改启动“UltraVNC服务器”了。