使用 frp 实现 windows 远程

news2024/9/26 1:21:04

前提条件:

拥有一台公网 ip 的服务器;

被远程控制的 windows 系统为专业版(家庭版的其它方式没有尝试过);

frp 下载包及使用说明

frp release 包的下载网址:https://github.com/fatedier/frp/releases
中文使用说明:https://gofrp.org/zh-cn/

x86_64 架构选择 amd64 即可;

在服务器上配置 frp

使用 ssh 登录服务器,切换为 root 权限;

# 进入 /opt 目录
cd /opt

# 2023-03-01 最新的版本为:0.54.0
# 下载 frp linux 包,我使用的是 x86_64 的 ubuntu 系统。
# 所以选择的下载命包为:frp_0.54.0_linux_amd64.tar.gz
# 使用 wget 下载,命令如下;下载不成功可以多尝试几次;
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

# 解压文件
tar -xzvf frp_0.54.0_linux_amd64.tar.gz

# 重命名 frp_0.54.0_linux_amd64 为 frp
mv frp_0.54.0_linux_amd64 frp

# 将 frps 移动到系统执行目录
mv frp/frps /usr/bin/frps

# 创建 frps.toml 配置文件,并填写内容如下
mkdir /etc/frp
vi /etc/frp/frps.toml

frps.toml 文件内容如下

# 客户端需要访问的端口,可以随意修改
bindPort = 6666

# 授权方式
auth.method = "token"
# 授权码,请改成更复杂的
auth.token = "aaaaa"

# dashboard 服务配置,"0.0.0.0" 为本机所有 ip
webServer.addr = "0.0.0.0"
# dashboard 配置的端口,可以随意修改
webServer.port = 6667
# dashboard 配置的用户名和密码,修改成自己的
webServer.user = "bbbbb"
webServer.password = "ccccc"

在服务器的平台上,将上述端口(6666、6667)开放出来;

端口开放界面如下图:

运行 frps 服务;

# 前台运行
frps -c /etc/frp/frps.toml

# 关闭当前服务
Ctrl + c 「快捷键」

测试 frps 服务

# 打开浏览器输入 服务器ip:dashboard端口
例:
139.224.227.14:6667

输入上面配置的用户名和密码登录;

出现以下内容界面 frps 配置 ok,如果没有出现建议百度解决;测试成功后,使用 Ctrl + c 将服务退出即可;

使用 systemd 来使 frps 服务自启动

参考说明:使用 systemd | frp

安装 systemd

1. 安装 systemd

如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd

# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

2. 创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

vi /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

3. 使用 systemd 命令管理 frps 服务

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

4. 设置 frps 开机自启动

systemctl enable frps

开启 windows 系统的远程功能

win10 系统

win + i 快捷键;点击系统

点击用户账户可以知道 windows 远程的用户名;一般为邮箱,密码一般为微软账号密码;

win11 系统

win + i 快捷键;点击系统,里面有远程桌面

点击远程桌面用户可以知道访问权的账户,如下示例:账户为 Tao,我的远程密码为 pin 码;

临时远程工具

可以临时使用 todesk、向日葵之类的软件来暂时远程配置电脑;

在 windows 上配置 frp,使用 stcp 的方式「配置文件方式一」

两台电脑(控制与被控制的电脑)都需要这样操作;

在 release 网站中下载合适的包 Releases · fatedier/frp · GitHub

我下载的是:frp_0.54.0_windows_amd64.zip

下载过程中浏览器和电脑防火墙会报毒,选择允许在磁盘上即可;

解压后,防火墙会报毒,然后删文件,选择允许在磁盘上,并还原删除的文件即可;

在电脑 c 盘根目录建一个 frp 文件夹,并将解压后的文件 frpc.exe 放入该目录;

# 在 frpc.exe 同级目录下,新建一个 start.txt 文件;
# 用记事本或其它软件打开 start.txt,填写内容如下:
@echo off
:home
frpc -c frpc.toml
goto home

将 start.txt 修改为 start.bat 即可;

在被控制的电脑上配置 frpc

在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;

用记事本或其它软件打开 frpc.toml,填写内容如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 配置本地的端口接听,name 对于访问者来说就是 serverName
[[proxies]]
name = "stcp-home"
type = "stcp"
secretKey = "liangtao1996"
# 本地需要访问的 ip 与端口
localIP = "127.0.0.1"
localPort = 3389
## 配置本地的端口接听结束

在控制的电脑上配置 frpc

在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;

用记事本或其它软件打开 frpc.toml,填写内容如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 访问者的配置
[[visitors]]
name = "stcp-vcompany"
type = "stcp"
serverName = "stcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
## 访问者的配置完毕

运行 frpc 服务

在两台电脑上分别双击 start.bat;frpc 服务就会运行;此时不关闭 cmd 窗口;

在控制的电脑上执行快捷键 win + r

输入 mstsc 回车

 

会出现以下界面

输入 127.0.0.1:6000 回车后,输入被控制电脑的用户名和凭据,即可进行 windows 远程;

这样就能远程内网的电脑了;

在 windows 上配置 frp,使用 xtcp 的方式「配置文件方式二」

xtcp 不一定成功,与 stcp 的配置文件的差别就是将 stcp 修改为 xtcp 即可。

xtcp 远程的流量不经过云服务器。

在被控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 配置本地的端口接听,name 对于访问者来说就是 serverName
[[proxies]]
name = "xtcp-home"
type = "xtcp"
secretKey = "liangtao1996"
# 本地需要访问的 ip 与端口
localIP = "127.0.0.1"
localPort = 3389
## 配置本地的端口接听结束

在控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 访问者的配置
[[visitors]]
name = "xtcp-vcompany"
type = "xtcp"
serverName = "xtcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
## 访问者的配置完毕

在 windows 上配置 frp,使用 xtcp 与 stcp 的方式「配置文件方式三」

在官方的手册上给出了 xtcp 不行的时候转为 stcp 方式的配置;

参考链接:XTCP | frp

控制与被控制的电脑完全可以配置调转来实现反控制,所以修改如下,可以两台电脑相互控制。

在被控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

# 先试用 xtcp 打洞,失败后尝试使用 stcp
[[visitors]]
name = "stcp-vhome"
type = "stcp"
serverName = "stcp-company"
secretKey = "liangtao1996"
bindPort = -1

[[visitors]]
name = "xtcp-vhome"
type = "xtcp"
serverName = "xtcp-company"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
fallbackTo = "stcp-vhome"
fallbackTimeoutMs = 200
# stcp、xtcp 客户端配置完毕

# 配置本地的端口接听
[[proxies]]
name = "xtcp-home"
type = "xtcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389

[[proxies]]
name = "stcp-home"
type = "stcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389
# 配置本地的端口接听结束

在控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

# 先试用 xtcp 打洞,失败后尝试使用 stcp
[[visitors]]
name = "stcp-vcompany"
type = "stcp"
serverName = "stcp-home"
secretKey = "liangtao1996"
bindPort = -1

[[visitors]]
name = "xtcp-vcompany"
type = "xtcp"
serverName = "xtcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
fallbackTo = "stcp-vcompany"
fallbackTimeoutMs = 200
# stcp、xtcp 客户端配置完毕

# 配置本地的端口接听
[[proxies]]
name = "xtcp-company"
type = "xtcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389

[[proxies]]
name = "stcp-company"
type = "stcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389
# 配置本地的端口接听结束

在 windows 上配置 frpc 自启动

建议将 frpc.exe 添加到防火墙的忽略文件中

 点击「病毒和威胁防护」=>「管理设置」

点击「添加或删除排除项」=> 「添加排除项」

设置自启动

过程如下:

1. win 键,输入 任务计划程序

2. 点击 操作 => 创建任务

3. 名称填 frpc
   选择 不管用户是否登录都有运行(W)
   		勾选 不存储密码(P)。该任务只有访问本地计算机资源的权限。
   勾选 使用最高权限运行(I)
   勾选 隐藏(E) 配置(C):Windows 10
   
4. 点击 触发器
   点击 新建(N)
   开始任务(G):启动时
   勾选延迟任务时间(K):30秒
   点击 确定
   
5. 点击 操作
   点击 新建(N)
   程序或脚本(P):
   填写或选择路径为:C:\frp\start.bat
   起始于(可选)(T):填写目录为 C:\frp
   
6. 点击 条件
   勾选 只有在计算机使用交流电源时才启动此任务(P)
   		勾选 如果计算机改用电池电源,则停止(B)
   勾选 只有在以下网络连接可用时才启动(Y)
   		任何连接
   		
   		点击 确定

设置好后,重启电脑,即可在任务管理器中看到 frpc 正在运行中;

frps.toml 以及 frpc.toml 参考

# frpc.toml 参考
https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml

# frps.toml 参考
https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1486491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始搭建web组态

成果展示:by组态[web组态插件] 一、技术选择 目前只有两种选择,canvas和svg Canvas: 是一个基于像素的渲染引擎,使用JavaScript API在画布上绘制图像,它的优点包括: Canvas渲染速度快,适合处理大量图像和…

芯来科技发布最新NI系列内核,NI900矢量宽度可达512/1024位

参考:芯来科技发布最新NI系列内核,NI900矢量宽度可达512/1024位 (qq.com) 本土RISC-V CPU IP领军企业——芯来科技正式发布首款针对人工智能应用的专用处理器产品线Nuclei Intelligence(NI)系列,以及NI系列的第一款AI专用RISC-V处理器CPU IP…

第15集《灵峰宗论导读》

《灵峰宗论》导读。诸位法师,诸位同学,阿弥陀佛!(阿弥陀佛!) 请大家打开讲义第44面。 我们这次的《灵峰宗论》基本上是分五科,这五科就是发心、正见、持戒、止观跟净土。那么这五科我们基本上…

A Brief Introduction of the Tqdm Module in Python

DateAuthorVersionNote2024.02.28Dog TaoV1.0Release the note. 文章目录 A Brief Introduction of the Tqdm Module in PythonIntroductionKey FeaturesInstallation Usage ExamplesBasic UsageAdvanced Usage A Brief Introduction of the Tqdm Module in Python Introducti…

【详识JAVA语言】面向对象程序三大特性之三:多态

多态 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 多态实现条件 在java中要实现多态,必须要满足如下几个条件,缺一不可&#xf…

golang实现openssl自签名双向认证

第一步:生成CA、服务端、客户端证书 1. 生成CA根证书 生成CA证书私钥 openssl genrsa -out ca.key 4096创建ca.conf 文件 [ req ] default_bits 4096 distinguished_name req_distinguished_name[ req_distinguished_name ] countryName …

【Web】速谈FastJson反序列化中JdbcRowSetImpl的利用

目录 简要原理分析 exp 前文:【Web】速谈FastJson反序列化中TemplatesImpl的利用 简要原理分析 前文的TemplatesImpl链存在严重限制,即JSON.parseObject()需要开启Feature.SupportNonPublicField fastjson的第二条链JdbcRowSetImpl,主要…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍:Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一,2024年的版本带来了一系列令人印象深刻的功能: AI增强的自动选择和蒙版工具:现在,用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

2023.3.3周报

目录 摘要 一、文献阅读 1、题目 2、摘要 3、模型架构 4、文献解读 一、Introduction 二、实验 三、结论 二、PINN 一、PINN比传统数值方法有哪些优势 二、PINN方法 三、正问题与反问题 三、PINN实验 一、数学方程 二、模型搭建 总结 摘要 本周我阅读了一篇…

(二)逻辑回归与交叉熵--九五小庞

什么是逻辑回归 线性回归预测的是一个连续值,逻辑回归给出的“是”和“否”的回答 Singmoid sigmoid函数是一个概率分布函数,给定某个输入,它将输出为一个概率值 逻辑回归损失函数 平方差所惩罚的是与损失为同一数量级的情形&#xff0…

数据结构——基本术语和概念

目录 1.数据 2.数据元素 3.数据项 4.数据对象 数据元素与数据对象 5.数据结构 1.逻辑结构 逻辑结构的种类 划分方式1 1.线性结构 2.非线性结构 ​ 划分方式2——四类基本逻辑结构 2.物理结构(存储结构) 1.顺序存储结构 2.链接存储结构 3…

软件实例,佳易王账单账本记账汇总统计管理系统软件教程

软件实例,佳易王账单账本记账汇总统计管理系统软件教程 一、前言 以下软件程序教程 以 佳易王账单记账汇总统计管理系统软件V17.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 账单可以记录 1、收入明细 2、支出明细 3、客户…

JetCache源码解析——API实现(持续更新中……)

在JetCache中不仅可以通过在类和接口的函数上使用注解Cached、CacheUpdate和CacheInvalidate等实现缓存加载、更新和删除操作,也支持通过调用API接口的形式来实现缓存的加载、更新和删除操作。 缓存接口 缓存接口的定义如下: /*** 缓存接口&#xff0…

15.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-发送通信数据包至分析工具

上一个内容:14.数据包分析工具界面与通信设计 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:2d6491e3c51a1a7ab4da0ee6dc4cf566a80fd6e1 代码下载地址,在 titan 目录下&…

LeetCode--42

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,…

WPF中如何使用HandyCotrol控件库

HandyControl介绍 HandyControl是一个开源的WPF(Windows Presentation Foundation)控件库,旨在简化WPF应用程序的开发过程并提高用户界面的美观程度和易用性。它提供了丰富的控件、样式和模板,可以帮助开发人员快速构建出现代化的…

CUDA 中的线程组织

明朝那些事中有一句话:我之所以写徐霞客是想告诉你,所谓千秋霸业万古流芳,与一件事相比,其实都算不了什么,这件事情就是——用你喜欢的方式度过一生。 我们以最简单的 CUDA 程序:从 GPU 中输出 Hello World…

oracle RAC 集群归档模式的关闭和开启(适用于11g/12g/18c/19c)

oracle RAC 集群归档模式的关闭和开启(适用于11g/12g/18c/19c) oracle RAC 集群归档模式的关闭(适用于11g/12g/18c/19c) 1、登录数据库:执行alter system set cluster_database false scopespfile;2、关闭node2数据…

Vue--》打造简易直播应用平台项目实战

今天开始使用 vue3 + ts 搭建一个简易直播应用平台项目,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的github上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关注本…

Postman上传文件的操作方法

前言 调用某个接口,测试上传文件功能。一时间不知如何上传文件,本文做个操作记录,期望与你有益。 步骤一、设置Headers key:Content-Type value:multipart/form-data 步骤二、设置Body 选择form-data key:file下拉框选择file类型value&…