文章目录

  • 1.为什么使用RD Client
  • 2.内网穿透
  • 3.配置frp服务器
  • 4.客户端设置
  • 5.Windows远程桌面设置
  • 6.在iPad上连接PC

1.为什么使用RD Client

可能你会觉得奇怪,team viewer和向日葵之类的难道不香吗?看起来他们两个都是实现了远程桌面的功能,好像没必要特地用Windows自带的RD Client进行内网穿透之后远程桌面。

实际上team viewer之类的在我的使用范围内不是特别好用,先列举出几条我觉得不好的地方:

1)速度慢,画面卡,经常会卡顿。
2)远程桌面的原理是通过大量截图再发送到服务器再传到远程端,带宽占用极大
3)如果使用安卓平板或者iPad进行远程连接,那蓝牙键盘的很多按键都没法正常使用,也就说如果使用iPad或者安卓之类的远程桌面就要忍受几乎不能使用常用快捷键

RD Client强的地方就在于:

1)微软有自己的远程桌面协议,兼容性方面更好,可以在保证清晰度的同时还能不占用很大的带宽。
2)如果使用RD Client,用平板连上之后,平板就变成了一个Windows触屏版!!就像一个surface一样!屏幕转动后自适应分辨率之类的功能是team viewer之类的无法提供的!对键盘的适配,除了win键,几乎所有的按键都能直接在平板上使用!

向日葵就不用我多说了,小白级别的远程桌面软件,大家都听过或者用过,使用感受肯定也都深有体会。

2.内网穿透

RD Client这么好用,但是配置起来比较麻烦。因为它默认状态下只支持局域网,当然如果你用的校园网,所有设备都在同一个局域网下,自然可以无视这个限制了。但是很多情况下,我们并不能满足访问设备和被访问设备在同一个局域网下,这时怎么办呢?内网穿透可以解决这个问题。
注:如果你的访问设备和被访问设备可以保证在同一局域网下,可以直接跳到第五节

内网穿透,也叫NAT穿透。因为IPv4的原因,公网ip有限,所以大部分设备都是没有公网ip,只有内网ip,处于局域网中,通过NAT设备跟拥有公网ip设备进行一对多的ip映射,从而达到在Internet内通信。NAT是Network Address Transform的意思,网络地址转换。我们家中的windows主机和ipad pro都没有公网ip,属于百度百科中的两个设备都在NAT设备之后的情况,那这时候就需要一个拥有公网ip的设备来帮助我们搭建通信链路了。云服务器就可以闪亮登场了。

那我们怎么做到上述说的NAT穿透呢?这就涉及到另外一个关键词了,frp。它其实是一个反向代理应用。类似的应用还有很多,例如ngork,大家自己挑。那什么是反向代理?

反向代理是指客户端向代理服务器发送请求,代理服务器转发给内网中的真实处理服务器,获取到内容后返回给客户端,代理服务器对客户端隐藏了真实处理服务器,客户端不需要知道真实处理服务器的信息。代理服务器代理的是服务器,与之相对还有正向代理。在我们现在的情形中,windows主机和ipad pro即作为client,又做server,通过云服务器的frq服务,建立起通信链路。他们只要各自与云服务器建立连接就可以,windows主机做client时,发送请求给云服务器,服务器转发给被代理的server ipadpro,而ipadpro当client时,发送请求后服务器转发给被代理的windows主机。这样双向通信就建立起来了,而且双方不需要获取对方的ip。当然,他们与云服务器的通信通过了NAT设备。

具体原理可以用下面这个图来展示

当你使用iPad远程控制PC时,作为frp客户端的PC将数据包通过互联网发送到frp服务器,再由服务器转发给iPad。

3.配置frp服务器

我们需要搭建一个frp服务器来进行内网穿透

我在前些日子是购买过一台阿里云服务器,正好拿来做frp服务器。frp内网渗透要配置两个端,一个是服务器端,另一个是客户端。

frp已经在github开源,我们在下面这个网站下载frp的linux服务端压缩包和Windows客户端压缩包。

或者直接使用wget命令远程下载

wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz

然后解压

tar -zxvf frp_0.41.0_linux_amd64.tar.gz

可以看到文件夹里有这些文件

frpc frpc.ini 这两个文件没有用,是可以删去的。
我们来配置frps.ini文件。
在linux命令行输入vi frps.ini,添加如下内容。(如果不懂linux和vim编辑器的操作,建议自行百度去熟悉一下)

[common] bind_port = 7000 //客户端和服务端连接的端口
dashboard_port = 7500 //服务端仪表板的端口
token = 1234567890 //客户端和服务端连接的口令,可自行修改
dashboard_user = username //仪表板页面登录的用户名,可自行修改
dashboard_pwd = 0987654321 //仪表板页面登录的密码,可自行修改
vhost_http_port = 10080 //用不到这个功能,可写可不写,直接删去也可以
vhost_https_port = 10443 //同上

然后:wq退出保存即可,之后./frps -c frps.ini就可以运行frps服务端了。

此时访问x.x.x.x(你的ip地址或域名):7500输入之前设置的dashboard_user和dashboard_pwd即可访问仪表盘界面。

Ctrl+C停止frps运行,因为我们需要使用 nohup命令将其运行在后台。

输入如下命令

nohup ./frps -c frps.ini &

输出nohup: ignoring input and appending output to 'nohup.out'代表运行正常。

现在我们Ctrl+C,frps依然会在后台运行。

4.客户端设置

与服务器端类似,从github上下载windows相应版本的frp程序,解压在本地,同样可以删除frps和frps.ini文件。
编辑frpc.ini文件,与服务器端类似

[common]
server_addr = x.x.x.x //服务器ip地址或域名
server_port = 7000 //填入服务器上填写的bind_port
token = 1234567890 //更改与服务器端填写的一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389 //配置远程桌面的接口,Windows的RD Client一般为3389接口

保存后在此路径下cmd运行下.\frpc.exe -c frpc.ini,输出如下信息即成功

2022/04/01 13:03:37 [I] [service.go:326] [13672e6cbf701b85] login to server success, get run id [13672e6cbf701b85], server udp port [0]
2022/04/01 13:03:37 [I] [proxy_manager.go:144] [13672e6cbf701b85] proxy added: [ssh rdp smb]
2022/04/01 13:03:37 [I] [control.go:181] [13672e6cbf701b85] [ssh] start proxy success
2022/04/01 13:03:37 [I] [control.go:181] [13672e6cbf701b85] [rdp] start proxy success
2022/04/01 13:03:37 [I] [control.go:181] [13672e6cbf701b85] [smb] start proxy success

此时访问x.x.x.x(你的ip地址或域名):7500可以看到如下界面:

可以看到客户数量为1。Perfect!

但是此时如果关闭电脑上的cmd窗口就会关掉这个进程,导致连接中断。可以写一个bat让他运行在后台并新建一个定时任务让他开机自启动(或者直接把它放在Windows开机自启动文件夹C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp)。

关于.bat的编写,我找到了其他人写的脚本

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd D:\romoteDesk\frp_0.41.0_windows_amd64
frpc -c frpc.ini
exit

但奇怪的是,这个脚本运行起来会提示错误。
我将倒数第二行改为了.\frpc.exe -c frpc.ini,然后运行bat脚本,不报错了,但是依然没有成功连上服务器。找了半天,各种方法都试了,我选择。。。放弃(最近太忙了,等闲了再来搞这个问题)。此时一直将cmd窗口挂在前台就可以一直保持连接,千万不要远程访问时手残,把cmd关了,那就真的芭比Q了。

5.Windows远程桌面设置

windows默认是没有开启远程桌面的,我们在Windows搜索“系统”。

哦豁,不支持啊,这可怎么办呢?

别着急,如果你的操作系统是Windows10专业版,这个界面是直接有一个按钮可以开启远程桌面的,然而,我相信多数人的Windows操作系统都是家庭版。这时,就需要一些骚操作了。

使用RDP Wrapper让家庭版获得远程桌面功能。在这个链接下载RDP Wrap压缩包。

解压后打开文件夹,以管理员身份运行install.bat文件。

接着打开RDPConf.exe,如果是下图状态,即配置成功。

如果出现not listening not supported,90%的可能是rdpwrap.ini有问题。在issue页找对应版本的rdpwrap.ini。
注意:一定要找对应版本的.ini文件,比如上图中我的RDP Wrapper是10.0.19041.1503,如果使用了其它版本的rdpwrap.ini,结果肯定还是not listening not supported(我一开始没有在意版本对应问题,在网上被很多人坑了,浪费了很多时间)

下载好rdpwrap.ini后,
1)以管理员身份运行cmd,输入命令net stop termservice, 回车,终止运行Remote Desktop Service。
2)用下载得到的对应版本的的rdpwrap.ini去替换C:\Program Files\RDP Wrapper 目录里面旧的 rdpwrap.ini
3)在cmd命令行输入命令net start termservice, 回车,恢复运行Remote Desktop;
4)点击“RDPConf.exe”,全绿。

此时可以用RDPCheck检测一下,有下图所示登录回显即表示成功。

6.在iPad上连接PC

在App Store上下载RD Client,添加电脑,电脑名称即为服务器ip地址加上在windows上frpc.ini中填写的remote_port端口号,然后在用户账户上添加你的windows域\账户或账户@域,再输入密码即可远程控制你的windows桌面了!注意该密码是你第一次登录你的电脑时设置的密码,如果你忘记了,那我也爱莫能助了(开玩笑,百度上肯定可以找到找回密码的方法)
如果不知道自己电脑的域\账户,可以在cmd命令行键入whoami查看。

iPad连接上电脑后,电脑会自动进入锁屏状态,如果此时远程控制将电脑睡眠,依然不会影响iPad的远程控制。并且电脑的音频会远程传输到iPad上,不用担心你的PC会忽然发出声音。

RD Client远程控制PC相关推荐

  1. mac远程控制pc电脑_5个用于连接PC或Mac的免费远程访问工具

    mac远程控制pc电脑 Ilona Titova/Shutterstock 伊洛娜·蒂托娃(Ilona Titova)/ Shutterstock Sometimes, when you're wor ...

  2. mac远程控制pc电脑的方法 pc控制mac

    目前本人正在使用的两种mac远程控制pc电脑的方法. 本教程以mac os x:10.7.3 和 windows xp 做示范,windows其他系统都是一样的. 一:mac官方(局域网内) 这个方法 ...

  3. Android实现远程控制PC(Android[客户端]+Qt[服务器端])

    由于本人没有无线路由器,因此用Win7自带的虚拟wifi让手机上网:Win7虚拟wifi 但是,电脑不在我的房间,因此每天晚上在床上玩完手机还要下床去关电脑,让很懒很懒的本人很不爽,因此自己尝试着做了 ...

  4. Android平板如何玩windows,高手教你如何使用安卓平板远程控制PC电脑

    现在拥有平板电脑的用户越来越多,如果我想通过平板电脑共享PC机中的文件内容,笔者来教大家将让咱们的",这样不仅可以共享电脑中的内容,还可以对电脑进行远程控制. 电脑平板的准备设置 我们需要在 ...

  5. android 外接触摸板,Intel推出远程键盘APP:Android手机可作为键盘和触摸板远程控制PC...

    英特尔推出了免费的Android应用程序 - 英特尔远程键盘,让用户使用手机作为键盘和触控板遥控PC. 英特尔远程键盘是专为控制U盘大小的mini PC而设计,这些PC出厂通常没有配套的外设,运行Wi ...

  6. 使用KALI实现远程控制PC

    使用KALI生成木马病毒实现远程控制 前言    该文章内容仅用于学习使用Kali Linux系统,请不要将它用于非法的途径,如有意外概不负责.        我将会详细介绍使用Kali Linux系 ...

  7. VMware Horizon Client 远程控制桌面无法输入中文

    1.敲不出来中文,切换输入法也没有用 2.找个服务器当中转站,或者本地用xshell连接远程 3.把搜狗输入法的安装包传过去 4.安装,但是安装并启动后也没有用,搜狗切换不出来 5,esc+shift ...

  8. RD Client 远程控制(手机做主控端)的方法

    本教程为2018年测试后写出,可能不适用现在得windows版本,因为现在window可以设置PIN,Microsoft Remote Desktop未测试可否在设置PIN情况下使用 第一步:设置电脑 ...

  9. PC远程控制 NetSupport Manager

               NetSupport Manager是一款屡获殊荣的多平台PC远程控制软件.NetSupport Manager将高级桌面管理功能与强大的PC远程控制结合在一起,极大地提高用户的 ...

  10. 远程控制利器-vnc

    刘超 ----VNC软件 ----在我们的实验室中,经常会进行一些网络设备和系统测试,测试中我们都会搭建一个网络环境来模拟实际应用,并在其中对网络设备和系统进行测试,而在每一个系统中都会有多个Clie ...

最新文章

  1. 多文多面阐述HMM很清晰
  2. 想学习 Python,这套教程再适合你不过了!
  3. Windows中的路由表和默认网关
  4. Halcon初学者知识 【13】如何在MFC中调用Halcon代码
  5. Android之自定义AlertDialog的实现方法(一)
  6. c语言若对函数未加,【单选题】C 语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为A. void B. double C. int D. char...
  7. Dialog源码分析
  8. pyinstaller打包执行exe出现“ModuleNotFoundError: No module named ‘scipy.spatial.transform._rotation_group”
  9. 使用Roslyn脚本化C#代码,C#动态脚本实现方案
  10. 毛绒材质渲染_学室内设计必进,建模渲染那都不是事儿
  11. CVPR 2019 | 西北工业大学开源拥挤人群数据集生成工具,大幅提升算法精度
  12. 码农提高工作效率(转载)
  13. spss分析方法-相关分析(转载)
  14. 【03】制作第一个zblog模板第三期,完成对接首页所有调用内容,将所有页面拆分公共页面和独立页面
  15. H5+CSS+JavaScript入门学习
  16. NLP基础-wangdong
  17. 鸽哒im即时通讯源码加教程
  18. 单行函数和多表查询 例题代码可复制
  19. MySQL企业·防火墙
  20. 财路网每日原创推送:区块链+教育,是改革的良性循环?

热门文章

  1. [TTF字体]提取TTF字体的轮廓(二)
  2. 基于NIOS II的1553B总线开发板
  3. VMware14详细安装带软件
  4. 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号
  5. 2021-5-1 【PTA】【L1-6 不变初心数 (15 分)】
  6. 数据开源 | 跨境电商场景中日平行语料1000
  7. 关于出现Merge remote-tracking branch ‘origin/develop‘ into develop这种commit记录的原因
  8. [USACO10HOL]赶小猪
  9. 2020暑期牛客多校训练营第九场(C)Groundhog and Gaming Time(数学期望,线段树,逆元)
  10. Win7+Ubuntu16.04双系统安装方法