frp 用于内网穿透的基本配置和使用

文章目录

  • frp 用于内网穿透的基本配置和使用
  • 前言
  • frps
  • frpc
  • 后记
  • 参考

前言

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

本文就以 配置 frp,使得可以从外网访问内网远程桌面(端口号 3389)为最终目标 展开。使用的公网服务器操作系统为 CentOS 7.6,内网的机器操作系统为 Windows 10。访问 frp 的网站以下载对应操作系统和架构的程序。另外不要忘记在内网机器上设置“允许远程连接”哦。

frps

即 frp 的服务端,用于部署在公网的服务器上,与内网通信转发流量,下载程序后自带了配置文件 frps.ini。

frp 配置文件如下:

[common]
bind_port = 7000
log_file = ./frps.log
token = nihaonihao123123

bind_port 表示监听在服务器本地的端口,log_file 表示日志文件位置,token 表示密码 (只有在 frpc 中配置相同的密码才能连接该 frps)

配置完成后可以使用 ./frps -c ./frps.ini 启动(如果没有执行权限,可使用 chmod a+x frps赋予其权限后再执行)。

注册为 systemctl 服务
首先创建 systemctl 配置文件:frps.service:

注册为 systemctl 服务
首先创建 systemctl 配置文件:frps.service:

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
WorkingDirectory=/root/FRP
ExecStart = /root/FRP/frps -c /root/FRP/frps.ini

[Install]
WantedBy = multi-user.target

其中 WorkingDirectory 和 ExecStart 要改为 frps 程序所在的路径。需要注意的是,由于在 frps 的配置文件中 log_file 使用了相对路径,因此需要要指定 WorkingDirectory。

执行如下命令以注册并启动 frps 服务:

cp /PATH_TO_FILE/frps.service /etc/systemd/system
systemctl enable frps
systemctl start frps

可以使用 netstat -lntup | grep 7000 (即 frp 配置文件中设定的端口)查看服务是否成功启动。
至此,服务器端的服务配置完成了

frpc

即 frp 的客户端,部署在需要穿透出去的内网机器上。启动后会与上面的服务端通信,告诉他该怎么转发我 frpc 的流量(也就是我们要做的配置了)。下载程序后自带了配置文件 frpc.ini(注意与上面的 frps.ini 区分)。
配置如下:

[common]
server_addr = 124.223.177.47
server_port = 7000
log_file = .\frps.log
token = nihaonihao123123

[LBWNB]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6135

common 项中配置的是服务器端的信息,注意 Linux 和 Windows 下的路径分隔符不同,Windows 下由于 “\” 会转义因此需要两个 “\”。

下面的一个项中是自定义的一个名字(不能与其它 frpc 重复),type 表示通信协议类型,local_ip 表示监听内网机器本地的地址(将数据转发到这个地址上),local_port 表示监听内网机器本地的端口号,remote_port 是告知远程服务器,我这个 frpc 要通过(服务器上的)这个端口与外界通信,请它在服务器上监听。

配置完成后可以使用 ./frpc -c ./frpc.ini 启动。

注册为 Windows 服务
起初使用了 sc create,不仅没有服务描述,还总是启动失败。感觉这个命令似乎有点过于简单,甚至有点过时了。后改用 WinSW。

WinSW 的配置文件命名比较奇怪。需要与可执行文件名一致,如我的 exe 文件为 WinSW-x64.exe,配置文件名就一定要为 WinSW-x64.xml。好处似乎是,可以将 WinSW-x64.exe 随意命名,如 NiHao.exe ,配置文件名为 NiHao.xml 即可。

本来以为第二个参数可以任意指定配置文件的名称,尝试了数次。最后参考了WinSW配置文件的官方文档,第二个参数为 path,只是路径,不是文件名,好吧。

将配置文件改为如下(自行替换为实际路径):

似乎无需显式指定工作路径也可以正常打印日志,如需指定,可以使用 标签。

执行一下 install 和 start 命令即可注册和启动 frpc 服务。

.\WinSW-x64.exe install
.\WinSW-x64.exe start

对应的,停止和删除可以执行 stop, uninstall。

可以使用 “`netstat -ano | findstr 7000“ 检查是否与服务端建立了连接(Linux 和 Windows 下的 netstat 参数也不太相同)。

至此,服务器端的服务配置完成~ 此时可以使用 远程桌面应用 在 互联网上访问内网机器了。

后记

nssm 似乎也可以用来方便地注册 Windows 服务,没有尝试,可以参考文章:注册frpc为windows服务,可在未登录用户时启动、将frpc注册成windows系统服务。

可以在微软的远程桌面客户端页面对应跳转下载。居然还有 Android 或 IOS 的远程桌面应用,在紧急情况下用用吧QAQ。

没想到的是,周末刚刚部署好,现在就用上了——突然通知线上有个样式的问题。心想直接用这个试试吧。结果还是有点卡的(服务器带宽为6M,像是当前网络的问题)。直接远程写代码还是够呛,而且很多图标背景还是黑色,估计是文件资源管理器 explorer.exe 的bug了。最后在本地下载代码写好后,拷贝到远程再编译发布。最为诡异的是,我第二天回到公司打开电脑,右下角的图标还是模模糊糊的,就像前一天弱网环境下远程一样0.0。

后来尝试在网络环境较好的时候,体验还是不错的。

参考

frp中文站

-https://gofrp.org/

windows下基于frp的内网穿透部署

-https://zhuanlan.zhihu.com/p/55306067

frp 内网穿透远程桌面(Windows 10)配置

-https://cloud.tencent.com/developer/article/1710141

WINDOWS将FRP设置为服务并开机自启

-https://www.freesion.com/article/4021267545/

如何在线下载Google Play里面的应用

-https://zhuanlan.zhihu.com/p/87569815

apkpure(用于下载 Google Play 的 Android 应用)

-https://apkpure.com/region-free-apk-download

内网渗透-frp 用于内网穿透的基本配置和使用相关推荐

  1. 内网渗透--frp代理设置与proxychains代理设置

    标题内网渗透–frp代理设置与proxychains代理设置 内网服务器 内网IP地址 外网IP地址 内网web服务器(windows 7) 192.168.52.143 192.168.213.13 ...

  2. 内网渗透系列:内网隧道之ICMP隧道

    目录 前言 一.ICMP隧道技术 1.ICMP协议 (1)报文格式 (2)ping 2.ICMP隧道 (1)原理 (2)优缺点 二.ICMP隧道工具 1.icmpsh (1)源码 (2)用法 2.ic ...

  3. 内网渗透测试:内网横向移动基础总结

    内网渗透测试:内网横向移动基础总结 横向移动 在内网渗透中,当攻击者获取到内网某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围.通过此类手段 ...

  4. 内网渗透系列:内网隧道之pingtunnel

    目录 前言 一.概述 1.简介 2.原理 3.使用 (1)直连出网 (2)跳板出网 二.实践 1.场景 2.建立隧道 (1)攻击机 (2)目标机 (3)nc 3.抓包看看 三.探索 1.源码与分析 ( ...

  5. 内网渗透系列:内网隧道之icmpsh

    目录 前言 一.概述 1.简介 2.原理 3.使用 二.实践 1.场景 2.建立隧道 (1)攻击机 (2)目标机 (3)隧道建立成功 3.抓包看看 三.探索 1.源码与分析 (1)客户端 (2)服务端 ...

  6. 内网渗透系列:内网信息搜集方法小结2

    目录 前言 一.本机信息搜集 1.用户列表 (1)windows用户列表 (2)分析邮件用户 2.进程列表 3.服务列表 4.端口列表 5.补丁列表 6.本机共享 7.本用户习惯分析 8.获取当前用户 ...

  7. Linux kali内网渗透之ARP断网攻击

    Linux kali内网渗透之ARP断网攻击 ARP断网攻击 如果你的kali是虚拟机 ,请将其设置为网络桥接模式,这样才和内网在同一网段 如果你的kali里没有安装arpspoof,请在终端输入如下 ...

  8. 内网渗透 | FRP代理工具详解

    FRP工具的使用 FRP官方文档:https://gofrp.org/docs 文章目录 **一.FRP工具的介绍** **1.为什么需要内网穿透** **2.FRP介绍** **3.为什么使用FRP ...

  9. 内网渗透测试:内网信息收集与上传下载

    在之前的几节中,我们讲了隐藏通讯隧道技术的运用,那其实都是渗透测试的后话,接下来要讲的信息收集才是内网渗透的基础. 可以说内网渗透测试,其本质就是信息收集.信息收集的深度,直接关系到内网渗透测试的成败 ...

最新文章

  1. vs code 列编辑模式
  2. SpringBoot之前端文件管理
  3. AWS ELB Sticky Session有问题?别忘了AWSELB cookie
  4. 利用NLB和DFS构建企业高可用性高性能的WEB、FTP站点
  5. Oracle常用语句记录
  6. PyCharm使用指南及更改Python pip源为国内豆瓣
  7. iOS高级-RunLooper
  8. 自学-Linux-老男孩Linux77期-day5
  9. 网站自动跳转代码大合集
  10. freemaker word转html,ftl文件-word文档转化成ftl文件
  11. html5在线裁剪,HTML5和JQuery裁剪图像实时预览缩略图并上传
  12. 《预训练周刊》第53期:代码生成、通用任务变换器
  13. 虾神的csdn技术博客
  14. window引导配置bcdedit
  15. 如何关闭计算机服务检测,交互式服务检测老是弹出来?Win7系统交互式服务检测怎么关闭方法...
  16. (React入门)ref
  17. 微信摇一摇插件ios_iOS摇一摇
  18. 微信小程序云开发(数据库)
  19. 信号量实现理发师问题
  20. 黑马服务器开发之linux基础编程视频——笔记

热门文章

  1. R | RColorBrewer颜色设置
  2. QQ“只爱陌生人”,MSN“不和陌生人说话”
  3. POJ 2092 Grandpa is Famous G++
  4. 输入年月日,获得下个月的同一天,如果该天不存在,则顺延一天
  5. 从项目管理角度看马谡失街亭
  6. 红旗高级服务器Linux4.1安装Oracle9204(转)
  7. 乐视android用流量监控,应用锁/双卡流量管理 EUI 5.8让安全更进一步
  8. 局域网攻击工具linux,Kalilinux-教你如何简单使用Xerosploit攻击局域网
  9. 长沙小学计算机老师,2019下半年湖南长沙小学信息技术教师资格证面试试题考什么内容...
  10. 刚毕业做真实运维简历模板参考