修改远程桌面服务(Remote Desktop Service)的端口号,有几点原因:

  1. 默认是 3389 端口,也是经常被端口嗅探器扫描的一个端口。更换端口号,一定程度上可以带来更好的安全性。
  2. 如果一个路由器后,有多台电脑希望可以被远程访问,那么可以通过 a) 定制不同的端口号 b) 路由器上设置不同端口的 port forwarding 两个简单的步骤,完成这个需求。

运行下面这个简单的脚本,如「python modify_remote_desktop_port.py 6789」就可以将 RDP 的端口号修改为 6789(如果没有提供第二个参数,则默认是修改为 5589)。

# -*- coding: utf-8 -*-
# filename: modify_remote_desktop_port.py import winreg def ModifyRDPort(port=5589):
keyString = 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber'
ksList = keyString.split('\\')[1:-1] portKey = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
for i in ksList:
portKey = winreg.OpenKey(portKey, i, access=winreg.KEY_ALL_ACCESS) # @keyItemValue is a (value, type) tuple.
keyItemValue = winreg.QueryValueEx(portKey, 'PortNumber')
assert(keyItemValue[1] == winreg.REG_DWORD) winreg.SetValueEx(portKey, 'PortNumber', None, winreg.REG_DWORD, port)
winreg.CloseKey(portKey) if __name__ == '__main__':
import sys
if len(sys.argv) == 1: # 'python module_name.py'
ModifyRDPort()
else:
try:
port = int(sys.argv[1])
ModifyRDPort(port)
except ValueError:
print('Usage: python modify_remote_desktop_port.py $port_name_integer')

「2013-9-14」Change Remote Desktop Port的更多相关文章

  1. [转帖]「知乎知识库」— 5G

    「知乎知识库」— 5G 甜草莓 https://zhuanlan.zhihu.com/p/55998832 ​ 通信 话题的优秀回答者 已关注 881 人赞同了该文章 谢 知识库 邀请~本文章是几个答 ...

  2. 「查缺补漏」巩固你的Redis知识体系

    Windows Redis 安装 链接: https://pan.baidu.com/s/1MJnzX_qRuNXJI09euzkPGA 提取码: 2c6w 复制这段内容后打开百度网盘手机App,操作 ...

  3. Appium常用操作之「Toast提示信息获取」

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:Oschina.云+社区.知乎等各大平台都有. 目录 一.什么是 Toast 二.获取 Toast 提示信息的前提 1.针对这种元素,有的时候我们需要 ...

  4. Microsoft Remote Desktop 通过 .rdp 文件登录

    最近在淘宝上买了「市场洞察」子账号,说是子账号,其实是需要登录到他们的 Windows 服务器上才能用的.并且子账号也是 5-6 个人共用的,且不说远程服务器很老又有延迟,经常是我想添加一个监控店铺或 ...

  5. Remote Desktop File Format

    转自:http://engrmosaic.uncc.edu/mosaic-anywhere/remote-desktop-file-format The new Terminal Services c ...

  6. (copy) How to remote desktop a Fedora 19 from a Windows 7

    source: http://forums.fedoraforum.org/showthread.php?t=293665 Try xrdp or freerdpInstall xrdp or fre ...

  7. remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接

    目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...

  8. Objective-C 实用关键字详解1「面试、工作」看我就 🐒 了 ^_^.

    在写项目 或 阅读别人的代码(一些优秀的源码)中,总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思 的. 相信很多开发者跟我当初一样,只是基本的常用关键字定义属性会使用,但在关键字 ...

  9. 「面向打野编程」iOS多线程:CGD

    「面向打野编程」iOS多线程:CGD 前言 参考网络其他文章而写,渣水平,抛砖引玉. 虽然Concurrent意思为并发,但由于队列的实际效果,以下称为并行队列. 当前iPhone的CPU核心数远小于 ...

随机推荐

  1. Clustering with the ArcGIS API for Flex

    Clustering is an excellent technique for visualizing lotss of point data. We've all seen application ...

  2. CSS3属性transition

    CSS3 Transitions 指定过渡 语法: transition: property duration timing-function delay;     参数一: transition-p ...

  3. delphi 怎么获取工程版本号

    function GetApplicationVersion:String; // Added 取得程序版本号 var FileName:String; InfoSize,Wnd:DWORD; Ver ...

  4. ZC706以太网扩展板接口

    端口 BANK-VADJ PIN NAME PIN_NAME RGMII0 rgmii_0_txc 10 AB14 LA15_N PHY_0_GTXCLK rgmii_0_rxc 10 AE13 LA ...

  5. 深入理解JS异步编程二(分布式事件)

    PubSub模式 从原生的js角度,我们要监听某事件的方法就是利用addEventListener方法,但是当我们的页面趋于复杂,比如要向某个元素添加多个处理事件,那么就要用一个封装函数汇集多个处理函 ...

  6. MFC的自定义消息的定义与使用

    自定义消息的响应和资源消息的响应有很多类似之处:资源消息的响应是以资源的ID号作为标识的:自定义的消息要自己声明消息ID. 一.           定义: 第一步要声明消息: #define WM_ ...

  7. 第九十七天请假 PHP TP框架 MVC模式

    MVC : M->Model 模型(数据层)     V->View 视图(视图层)  C->Controller 控制器(逻辑层)            M : 操作数据(连接数据 ...

  8. IRunningObjectTable接口

    IRunningObjectTable接口

  9. flex中通过sprite在地图上画柱状图主要代码

    1.主要代码: var sprite:Sprite = new Sprite();     var columnSys:ColumnSymbol = new ColumnSymbol();     v ...

  10. python类——黑板客老师课程学习

    1.基本语法 class class_name(base_class):  base_class是它继承的父类 class_var def methods(self,args): statements ...