frp如何加用户名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了frp如何加用户名相关的知识,希望对你有一定的参考价值。
1.首先我们上传frps.exe(frp服务器端)以及frps.ini(服务器端配置文件)到公网服务器上,然后我们执行 frps.exe -c frps.ini 命令,启动frp服务器端,启动前需要修改配置文件,代码如下:服务器端配置
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,这个token之后在客户端会用到
token =12345678
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
2.可以看到服务器端启动成功,然后我们访问7500端口,输入账号密码,可以看到管理端启动成功。
客户端配置
.首先我们上传frpc.exe(frp客户端)以及frpc.ini(客户端配置文件)到内网主机电脑上,启动前需要修改配置文件,代码如下:
# 客户端配置
[common]
server_addr = 服务器ip
# 与frps.ini的bind_port一致
server_port = 7000
# 与frps.ini的token一致
token = 12345678
# 配置ssh服务, 也可以用来映射其他端口如3389
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 这个remote_port端口自定义,配置完成后会在公网服务器开启6000端口,来映射内网主机22端口
remote_port = 6000
#socks5代理配置 ,一般这个用途比较多
[socks5]
type=tcp
plugin=socks5
# socks代理账号密码,需要修改不要使用弱口令
plugin_user=admin
plugin_passwd=admin
#映射到共外网服务器的端口
remote_port = 8000
2.然后我们配置frpc.ini中的服务器ip,然后运行 frpc.exe -c frpc.ini 命令,可以看到连接成功
socks5代理配置
1.当我们在客户端配置文件中使用了socks5,当我们运行命令连接服务器时,会提示"sock5 start proxy success"
2.然后我们安装proxifier(由于软件付费,需要激活码的粉丝可以私信我),安装完成后代开proxifier配置socks代理,首先我们点击"Profile"中的"Proxy Servers"
2.然后我们选择添加,然后输入 公网服务器的IP地址和端口,以及frpc.ini文件中的socks5账号和密码 。
3.然后点击"ok",之后会弹窗,然后点击"是"
4.然后我们就完成了socks5代理配置,现在自己的电脑全部的流量都会通过内网主机代理出去,我们就可以直接访问内网主机的内网,以及配置渗透工具进行内网渗透。可以看到代理检测成功。 参考技术A frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp,
frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
2 配置教程
想要配置frp穿透,首先必须先要有一台具有外网ip(即:可以外网访问)的服务器。如果没有,接下来的教程就不用看了。配置教程主要分为两个部分,一是服务器端(外网服务器)的配置;二是客户端(内网服务器)配置。
2.1 服务端配置
1、下载frp库
linux版:百度网盘, 密码:i8vm
下载好后上传到服务器上:
scp frp_0.33.0_linux_amd64.tar.gz 用户名@服务端ip:~/
这样就放到了服务端的家目录了
或者执行命令:
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
如果觉得速度很慢,可以使用mwget安装
mwget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
2、解压frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
3、进入该解压目录:
cd frp_0.33.0_linux_amd64/
并打开配置文件:
vi frps.ini
将文件内容修改为如下:
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的
token = 52010 # 这个token之后在客户端会用到
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
4、设置和启动frp服务
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps
如果上述命令依次执行完没有任何错误出现,则说明启动成功。
5、防火墙开放端口
# 添加监听端口
sudo firewall-cmd –permanent –add-port=7000/tcp
# 添加管理后台端口
sudo firewall-cmd –permanent –add-port=7500/tcp
sudo firewall-cmd –reload
注意:
a. 如果是ubuntu或者centos 6,请使用ufw/iptables工具放行端口;
b. 7000和7500两个端口分别对应frps.ini配置中的bind_port和dashboard_port
6、验证服务端是否启动成功
访问:http://服务器IP:后台管理端口” ,输入用户名和密码可以查看连接状态
如:http://62.244.114.4:7500/,用户名和密码分别对应frps.ini文件中的dashboard_user和dashboard_pwd
登录之后界面如下:
如果上述步骤没有问题,则说明frp的服务端配置成功了,也就意味着内网穿透你已经成功了一半!!!
2.2、客户端配置
1、下载frp库
linux版, 密码:i8vm
MAC版,密码:glzc
下载好后上传到服务器上:
scp frp_0.33.0_linux_amd64.tar.gz 用户名@服务端ip:~/
这样就放到了服务端的家目录了
2、解压frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
3、进入该解压目录:
cd frp_0.33.0_linux_amd64/
并打开配置文件:
vi frpc.ini (注意哦,不是frps.ini)
将文件内容修改为如下:
# 客户端配置
[common]
server_addr = 服务器ip
# 与frps.ini的bind_port一致
server_port = 7000
# 与frps.ini的token一致
token = 52010
# 配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 这个自定义,之后再ssh连接的时候要用
remote_port = 6000
# 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
# web域名
subdomain = test.hijk.pw
# 自定义的远程服务器端口,例如8080
remote_port = 8080
注意:[ssh]这样的名称必须全局唯一,即就算有多个客户端,也只能使用一次,其他的可以用[ssh2]、[ssh3]等;意思就是说,如果你要配置多个客户端,必须将另外的客户端的[ssh]改为[ssh2]、[ssh3]等,并且remote_port也要变,比如6002,6003等
4、防火墙开放端口
linux:
sudo firewall-cmd –permanent –add-port=6000/tcp
sudo firewall-cmd –permanent –add-port=8080/tcp
sudo firewall-cmd –reload
mac: 开放端口教程
你如果觉得mac放行端口麻烦,可以直接将防火墙关闭:
但是即使这样,mac可能还会出现如下错误:
这是因为没有授予ssh权限或者没有开启ssh服务。你需要:
sudo systemsetup -getremotelogin
sudo systemsetup -setremotelogin on
开启ssh服务:
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
5、客户端启动
在frp_0.33.0_darwin_amd64目录下执行
./frpc -c frpc.ini
你会看到:
到这里,恭喜你,你基本成功了,但还剩最后一步,很多人会弄错。
3、测试穿透是否配置成功
找另外一台不同网段的linux或者mac电脑,在终端执行
ssh 用户名@服务端ip -p 端口号
这里一定要注意,这里用的是服务端的ip和用户名,端口号用的frpc.ini文件中的remote_port。如果你登录成功,那么,恭喜你,你已经学会了利用frc怎么配置内网穿透了!!!
海报分享
收藏
0
0
MAC
性能
防火墙
synology设置
黑群晖安装教程4:拯救黑群晖的方法
2022-12-19 5:21:15
synology设置
原创群晖新套件:Navidrome 音乐播放服务器 支持DSM6、7
2022-12-19 16:55:14
0 条回复
A
文章作者
M
管理员
您必须登录或注册以后 参考技术B Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
frp工具使用教程 原创
2022-09-23 16:39:01
星落.
码龄3年
关注
目录
frp简介
环境搭建
配置教程
服务器端配置
客户端配置
socks5代理配置
frp简介
frp是一个可用于内网穿透的高性能的反向代理应用,支持tcp、udp、http、https协议。frp分为客户端frpc和服务器端frps,客户端用于内网主机,服务器端用于公网服务器。
环境搭建
frp软件下载 https://github.com/fatedier/frp/releases
proxifier(socks代理软件) https://www.proxifier.com/download/
内网主机 10.0.0.2
公网服务器 121.36.20.179
自己电脑 192.168.1.2
配置教程
服务器端配置
由于在后渗透测试阶段,我们拿到了administrator权限,由于内网主机3389只允许内网连接,这个时候我们就可以利用frp把内网主机的3389端口映射到我们公网服务器的5000端口,然后我们使用自己的电脑连接公网服务器的5000端口,从而远程登陆内网主机。
1.首先我们上传frps.exe(frp服务器端)以及frps.ini(服务器端配置文件)到公网服务器上,然后我们执行 frps.exe -c frps.ini 命令,启动frp服务器端,启动前需要修改配置文件,代码如下:
服务器端配置
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,这个token之后在客户端会用到
token =12345678
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
2.可以看到服务器端启动成功,然后我们访问7500端口,输入账号密码,可以看到管理端启动成功。
客户端配置
.首先我们上传frpc.exe(frp客户端)以及frpc.ini(客户端配置文件)到内网主机电脑上,启动前需要修改配置文件,代码如下:
# 客户端配置
[common]
server_addr = 服务器ip
# 与frps.ini的bind_port一致
server_port = 7000
# 与frps.ini的token一致
token = 12345678
# 配置ssh服务, 也可以用来映射其他端口如3389
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 这个remote_port端口自定义,配置完成后会在公网服务器开启6000端口,来映射内网主机22端口
remote_port = 6000
#socks5代理配置 ,一般这个用途比较多
[socks5]
type=tcp
plugin=socks5
# socks代理账号密码,需要修改不要使用弱口令
plugin_user=admin
plugin_passwd=admin
#映射到共外网服务器的端口
remote_port = 8000
2.然后我们配置frpc.ini中的服务器ip,然后运行 frpc.exe -c frpc.ini 命令,可以看到连接成功
FRP在顶层应该如何工作?
【中文标题】FRP在顶层应该如何工作?【英文标题】:How should FRP work at the top level? 【发布时间】:2011-12-07 22:25:32 【问题描述】:我一直在尝试创建Functional Reactive Programming framework for Scala。目前我感到困惑的一件事是当前的实现如何处理表示顶层的行为。为了解释我的意思,我举个例子。假设我有一个 JPanel,我想这样做:
JPanel panel = new Panel()
panel.setBackground(new Behaviour(time => Color.red))
虽然这里的颜色是静态的,但我们希望面板背景在 Behavior 的值更新时更新。到目前为止,我所做的方式基本上是使用事件创建离散化的行为(可通过行为上的changes
函数访问)。这基本上只是行为发生变化时发生的事件源。在这里使用这个 setBackground 的实现将是:
def setBackground(color : Behaviour[Color])
super.setBackground(color.now)
color.changes.each(change => super.setBackground(change))
这感觉有点乱。有人对这是否是一种不好的方法有任何建议吗?我今天一直在看 Elliott 的Push-Pull FRP,感觉我可能会朝着正确的方向前进,但在某个地方迷路了。
编辑:如果没有人有明确的解决方案,那么想法/想法会很棒!
【问题讨论】:
我愿意为要求将论文翻译成 Scala 的问题添加一些赏金。 @ziggystar 我同意这将是惊人的。研究 FRP 的主要问题之一是必须爬过不熟悉的 Haskell 语法。不过,在 Stack Overflow 上要求这样做是否正确? 也许唯一的反对点是问题应该有合理的范围。因此,答案不应该太长。但我认为这个问题本身对 SO 来说是可以的。但是在合理的水平上翻译这篇论文需要一些时间。我更怀疑它会发布在博客上。 您可能会在这里得到答案:***.com/questions/5095728/… @Szabolcs 问题在于 Scala.react 并不是真正的 FRP。不过还是谢谢你的链接。 【参考方案1】:两件事:
在 Conal Elliott 的最初设想中,行为在时间上是连续的,因此它们不带有指示它们何时发生变化的函数 changes
。
返回当前时钟时间的行为将是连续行为的主要示例。它不支持changes
函数,除非您指定时间步长(“它每纳秒生成一个'更改' 事件”)。但“连续”的重点是缺少时间步长。
在我看来,这意味着 Conal 意义上的行为根本不支持增量更新。在我的reactive-banana 库中,我引入了一种新的数据类型Discrete
,它是行为和事件之间的某种混合。有关基本原理的更多详细信息,请参阅模块 Reactive.Banana.Incremental 的文档。
您可能对包装每个 GUI 函数(如 setBackground
)以使其与行为而不是普通值一起工作而感到恼火。这是高阶函数真正的亮点:包装器总是相同的,你可以将它表示为高阶函数;这里是 Haskell 版本:
set' :: Property a -> Behavior a -> IO ()
set' property behavior = do
set property (now behavior)
each (\a -> set property a) (changes behavior)
each f event = reactimate (fmap f event) -- helper definition
example = set' background red
当然,这在很大程度上依赖于 Haskell 的语法,并且在 Scala 中可能不那么令人愉快,其中一些函数是在第一个参数之前编写的。
【讨论】:
我有一个类似set
的函数,是的,它在 Scala 中并没有那么好(主要是因为 background
属性和其他属性通常不能从课堂外获得)。然而,它看起来是最好的方法。另外,只是为了确认我的实现中的行为实际上是连续的。 changes
函数返回一个 EventSource,它监听 Behavior 的变化(它更像是一个实用程序)。出于兴趣,这里的reactimate
函数是什么(changes
指的是我的changes
)?
@Oetzi:嗯,返回当前时钟时间的行为将是连续行为的主要示例。你不能真正为它写一个changes
函数,因为它“一直”在变化。
@Oetzi:reactimate
函数是您的 .each
函数的一部分;后者分解为fmap
和reactimate
部分。 changes
函数应该是相同的。
我了解changes
函数在技术上并不准确。但是,您将如何代表这里的颜色行为是我要问的。你会使用 Discrete 而不是 Behaviour 吗?
@Oetzi:是的,我会使用Discrete
类型。再说一次,也可以选择尝试以在内部使用changes
函数以提高效率但不导出它的方式来实现行为;这将避免 Discrete
类型不幸地重复功能。或者您可以默认使Behavior
离散,但这会使语义稍微复杂化(不再连续Behavior a = Time -> a
)。我会说,这取决于你和你的口味。以上是关于frp如何加用户名的主要内容,如果未能解决你的问题,请参考以下文章