打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
RD Client远程控制PC

文章目录

  • 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会忽然发出声音。

这种远程控制方式由于使用的微软自带的远程桌面,而非使用第三方软件实时传输大量截屏,所以画质很清晰,鼠标右键和滚轮键也可以很好的支持。但是信息流的传输速度被服务器的带宽所影响,我使用的服务器带宽只有1M,所以用起来稍微有点卡,但总体感觉还行。理论上,服务器带宽在3-5M以上的话,远程看视频也不会有任何卡顿,流畅无比。

此外,其实不仅在iPad上可以远程连接windows桌面,在安卓平板甚至手机上也可以做到,只要你在设备上安装有RD Client的话,理论上终端设备都可以连接,但是可能因为屏幕大小原因使得分辨率不适应进而导致使用过程中出现各种奇怪问题…

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
内网穿透在家远程连接公司电脑?我是被逼的
黑群晖配合 frp 无公网IP实现远程连接(图文并茂)
谈一谈|旧手机搭建远程linux服务器(免root)
自建内网穿透,实现内网访问,远程桌面以及架设网站公众号等
那些不错的小众软件 篇四:还在用向日葵么?不妨用一用微软远程桌面
记录一次搭建家用小型服务器的经历
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服