介绍一款不错的穿刺软件 frp
首先去 github 把这个工程项目给下载下来 不用下载太新的版本, 我推荐 0.38 的
https://github.com/fatedier/frp/tags
解压完毕后,会出现这几个文件,其中服务端只要看 frps 有关的文件, 客户端要注意 frpc 这几个文件就可以了。
说明: 一般的情况下,我们没有公网IP, 我们可以去阿里云,腾讯云等平台去买一台轻量的服务器(几十块一年),带宽3M 左右就可以了,运存 1G 就可以了,反正是做穿刺用,对内存没太大的要求
现在一般的电脑基本都是x86的架构了, 直接下载 armd 的就好了
liunx版本的拖去服务器的任意一个目录下就好了
cd 去到frp的目录下
tar -zxvf frp_0380_linux_amd64tar.gz // tab键可以自动补齐解压完毕后可以把客户端的frpc对应的文件删除了。
这里要和大家再说一下, 客户端就是现在需要被外网访问的机器,也就是该 windows 电脑, 客户端也就是拥有公网IP的云服务器端其对应的文件分别是 frpc 和 frps
文件夹改个名,方便使用
cp -r frp_0380_linux_amd64 frp把解压出来的文件夹复制到你想要的目录下,为了方便我直接放在用户目录下了,进入该目录
cd frp查看一下文件
ls -a我们只需要关注如下几个文件
frps
frps.ini
frpc
frpc.ini
前两个文件(s结尾代表server)分别是服务端程序和服务端配置文件,后两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。
因为我们正在配置服务端,可以删除客户端的两个文件
rm frpc
rm frpc.ini然后修改frps.ini文件
vim frps.ini // 这里没有vim 用nano 或者 vi 都可以这个文件应有如下格式
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 10080
vhost_https_port = 10443
如果没有必要,端口均可使用默认值,token、user和password项请自行设置。
“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。可以运行frps的服务端
./frps -c frps.ini2019/01/12 15:22:39 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2019/01/12 15:22:39 [I] [service.go:172] http service listen on 0.0.0.0:10080
2019/01/12 15:22:39 [I] [service.go:193] https service listen on 0.0.0.0:10443
2019/01/12 15:22:39 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500
2019/01/12 15:22:39 [I] [root.go:210] Start frps success如果有上面的提示,则证明服务端配置好了
此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面
我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。
nohup ./frps -c frps.ini &输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'这里有个坑,这里设置了后台运行。如果更改了配置需要重新运行这个程序 需要先结束这个进程
ps -aux | grep "frps"
kill -9 加id
在配置好服务端后,用文本编辑器打开客户端的 frpc.ini,与服务端类似,内容如下。
[common]
server_addr = x.x.x.x
server_port = 7000
token = 12345678
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7001[common]
server_addr = x.x.x.x 这里是vps地址
server_port = 7000 这里是上面写的sever端口
token = 12345678 这里是上面server的token
其中common字段下的三项即为服务端的设置。
“server_addr”为服务端IP地址,填入即可。
“server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000
“token”是你在服务器上设置的连接口令,原样填入即可。
frpc.ini的rdp、smb字段都是自己定义的规则,自定义端口对应时格式如下。
“[xxx]”表示一个规则名称,自己定义,便于查询即可。
“type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
“local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。
“remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。
RDP,即Remote Desktop 远程桌面,Windows的RDP默认端口是3389,协议为TCP,建议使用frp远程连接前,在局域网中测试好,能够成功连接后再使用frp穿透连接。
SMB,即Windows文件共享所使用的协议,默认端口号445,协议TCP,本条规则可实现远程文件访问。
frpc程序不能直接双击运行!
配置好frpc.ini文件后
在cmd命令行 或者powershell运行
frpc.exe或者,我把这个命令改为了一个bat文件,点击就可以直接开启客户端的服务,在桌面新建一个记事本,在记事本中输入下列代码,并把后缀名改为bat
@echo off
cd /d D:\frp\frp1\frp_c !!!注意这个路径是我电脑上,frpc.exe的路径,你们自己根据实际的路径去更改
start frpc.exe改完后,就像这样
点击运行就可以了
成功后,会出现这样的提示,端口服务已经起来了
否则,就是穿透失败,重新按照步骤来
在电脑上,下载一个 RD Client 的软件,这是微软旗下的一款软件,支持远程连接的,不收钱

打开后,在电脑名称处,填上 你的 公网IP:7001 (我的是7001),就可以将 windows 下3389 端口的桌面服务映射到我们的端口上来,成功后,就可以访问到电脑的桌面,这样全部的穿刺流程就算完成了,当然了,还有很多的功能,可以去参考 frp 的手册

考虑到有些windows 10 或者是 11 不支持 远程连接
将这里的包下载解压,下来
参考这篇博客,可以解决这个问题
内网穿刺
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法