您的位置:首页 > 其它

服务器安全之修改3389远程桌面端口小工具(包源码)

2013-03-08 02:29 471 查看
3389端口介绍:

3389端口是Windows 2000(2003) Server 远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,因此远程服务器一般都将这个端口修改数值或者关闭。

如何修改端口?

修改服务器端的端口设置 ,注册表有2个地方需要修改。 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] PortNumber值,默认是3389,修改成所希望的端口,就如你所说该成6222。第二个地方: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] PortNumber值,默认是3389,修改成所希望的端口,该成6222,重起一下就OK了。这样就可以了
要注意的是:当你的计算机修改完端口号后要想继续使用远程桌面,并且计算机有启用防火墙,则必须在防火墙例外中添加所修改的端口号。否则用3389与修改后的端口号都将连不上远程桌面。

用国外服务的人伤不起:

经过多年的实践,得出真知,由于大中华防火墙的干扰,远程桌面连接国外服务器时,会经常性的导致3389端口通讯受阻,而其它访问又正常,包括服务器网站访问(当然也有间歇性屏蔽80端口的事情发生)。

由于本人有两台服务器,多数是一个正常,另一个不行,就远程到一台内部再远程过去。

有时候遇到两台都不行时,就特纳闷。

突然来了意识:

最近才忽然意识到,既然3389是默认的受阻,那就把端口改了得了,经改后,远程顺利了,心情也放开了,服务器安全性也提高了。

怎么改?

直接修改注册表,写代码的都怕麻烦,网上下载小工具用吧,写代码的都怕不安全。

于是,反正很简单,刷刷刷几分钟,自己写一个了,代码就一段:

public static void Change(int port)
{
try
{
RegistryKey runKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp", true);
if (runKey != null)
{
runKey.SetValue("PortNumber", port);
runKey.Close();
}
runKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp", true);//win7
if (runKey != null)
{
runKey.SetValue("PortNumber", port);
runKey.Close();
}
runKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp", true);//win2003
if (runKey != null)
{
runKey.SetValue("PortNumber", port);
runKey.Close();
}
MessageBox.Show("修改成功,重启电脑后生效。");
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}

折腾的后的Winform工具如下图,多了一个Code,主要是为了避免自己误点,修改时要把Code补上.com,加强自己的记忆力:



如果你自己懒的动手,提供源码打包下载/Files/cyq1162/Change3389.rar

另外今天三八节了,公司的女人都跑了,没心情工作了吧,呵呵,可以挑战下我设计的10关程序员挑战题开发者基础知识游戏,共10关,欢迎挑战
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: