星期二, 9月 16, 2008

vnc之反向控制及隐藏任务栏图标

关于对控制内网机器的讨论(不通过网关)

由于我们条件有限,很难控制网关作端口映射,看下面

拓朴图:

 (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服务器”了。