p2pRemote

场景指南

使用 p2pRemote 连接 Windows 远程桌面

p2pRemote 负责建立设备之间的网络通道,Windows 远程桌面仍由目标系统的 RDP 服务提供。

确认被控端支持 RDP

Windows 专业版、企业版、教育版和 Windows Server 可以作为远程桌面主机;Windows 家庭版只能作为客户端,不能使用系统内置功能接受 RDP 连接。家庭版用户可以自行研究 RDP Wrapper 等第三方开源方案。

  • 被控电脑已开机并连接网络。
  • 登录账户设置了非空密码。
  • 账户属于管理员组或已加入“远程桌面用户”。
  • 系统防火墙允许“远程桌面”规则。

提示:RDP Wrapper 不是 Microsoft 或 p2pRemote 官方组件,对具体 Windows 构建的支持可能随系统更新变化。使用前应自行评估许可证、稳定性和安全风险;需要稳定官方支持时,建议升级 Windows 版本。

参考资料:Microsoft:在电脑上启用远程桌面 · 开源项目:stascorp/rdpwrap

在被控端启用远程桌面

  1. 打开“设置 → 系统 → 远程桌面”。
  2. 开启“远程桌面”并确认。
  3. 进入“远程桌面用户”,添加需要登录但不属于管理员组的账户。
  4. 保持网络级别身份验证(NLA)开启;仅在确认兼容性问题时临时调整。

提示:启用 RDP 会在被控端开放服务。只允许可信账户登录,并及时安装 Windows 安全更新。

通过 p2pRemote 连接

  1. 先建立到目标 Windows 设备的 p2pRemote 隧道。
  2. 点击“远程桌面”复制客户端探测到的 RDP 地址,或复制目标虚拟 IP。
  3. 按 Win + R,输入 mstsc 并回车。
  4. 把地址粘贴到“计算机”;非默认端口使用“IP:端口”格式。
  5. 输入被控电脑的 Windows 账户和密码。
mstsc /v:<目标虚拟IP>
# 自定义端口示例
mstsc /v:<目标虚拟IP>:3390
p2pRemote 已连接设备详情中的远程桌面地址按钮
隧道连接后复制 Windows 远程桌面地址。

隧道已连接但 RDP 打不开

  • 运行 Test-NetConnection <虚拟IP> -Port 3389;TcpTestSucceeded 为 False 通常表示服务未监听或被防火墙拦截。
  • 在被控端运行 Get-NetTCPConnection -LocalPort 3389 -State Listen 检查监听状态。
  • 确认填写的是 p2pRemote 显示的对端虚拟 IP,而不是公网 IP 或控制端自己的虚拟 IP。
  • 若使用自定义 RDP 端口,请在地址和防火墙规则中同时使用该端口。
  • 确认被控电脑没有休眠,账户没有被锁定。

会话安全

  • 为远程访问使用单独账户和强密码。
  • 限制“远程桌面用户”成员,不要把无关账户加入管理员组。
  • 启用自动锁屏;结束后注销会话并断开隧道。
  • 不要忽略无法验证服务器身份的警告,除非你确认连接的是自己的设备。