frp 使用基础笔记
0x01 简介
为什么需要内网穿透?
很多时候从公网访问自己内网的设备是困难的,毕竟自己没有一个独立的IP地址。
Frp 服务器进行内网穿透,速度快还十分简单。可以实现很多功能,包括不限于远程桌面,文件共享等。
什么是内网穿透
使内网的服务器,或者防火墙内的机器,对外提供服务。
原理图,来自参考文章

0x02 环境及安装
centos7 (本地) 192.168.30.100
kali 服务器端(自己的vps)192.168.30.128
本机 ubuntu 18.10
2.0 下载
下载程序
arch 如果输出是x86_64 则下载linux_amd64那个压缩包
本文是x86_64(绝大多数人都是这个)。
mkdir frp &cd frp
wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
tar -zxvf frp_0.29.0_linux_amd64.tar.gz
# 更改下文件名
mv frp_0.29.0_linux_amd64 frp
cd frp
# 确保frp具有可执行权限
chmod +x frps
运行 ./frps --help
没问题即可开始配置服务端
若提示-bash: ./frps: cannot execute binary file: Exec format error就说明下错版本了
2.1 服务端设置
参考官方配置文档写frps.ini
# 表示配置的开始
[common]
#frp服务端端口
bind_port =
# 仪表盘端口
dashboard_port =
# frp服务端密码
token = frptoken1
# 仪表盘默认账号密码
dashboard_user = admin
dashboard_pwd = admin
启动frps
# 使用 -c 参数指定配置文件
./frps -c frps.ini
没有报错出现success。

服务端后台运行
直接使用启动命令,关闭ssh会话,就会停止运行,因此要使用nohup 使其后台运行。
nohup ./frps -c frps.ini &
# 所有的输出日志写入nohup.out文件中
访问仪表盘7500是可以看见frp的状态的

2.2 客户端设置
可以参考frps_full.ini说明,下面是转发ssh为例:
frpc.ini
[common]
server_addr = 192.168.30.128
server_port =
# 与vps保持一致
token = frptoken1
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port =
remote_port =
use_encryption = true
use_compression = true
# [web]
# type = http
# local_port =
# subdomian = web
# use_encryption = true
# use_compression = true
2.3 frp客户端执行
./frpc -c frpc.ini
出现success即可

现在可以在我本机 ubuntu18 上ssh
ssh -oPort= root@vpsip
对于Windows客户端一样的可以参考后面文章
参考
frp 使用基础笔记的更多相关文章
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- php代码审计基础笔记
出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
- MYSQL基础笔记(五)- 练习作业:站点统计练习
作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...
- MYSQL基础笔记(四)-数据基本操作
数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...
- MYSQL基础笔记(三)-表操作基础
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...
- MYSQL基础笔记(二)-SQL基本操作
SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...
- MYSQL基础笔记(一)
关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
随机推荐
- 在docker上部署centos
1.查找镜像源$ docker search centosNAME DESCRIPTION STARS OFFICIALcentos The official build of CentOS. 385 ...
- 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)
我没有实现时间复杂度为O(n)的算法. 思路:从第一数开始,onelist[0]:onelist[0]+onelist[1]:这样依次推算出每个子数组的sum值.和max进行比较.最后得到max值. ...
- Android开发 UI布局
Android开发 UI布局一.线性布局LinearLayout 什么是线性布局? 其实呢,线性布局就是把所有的孩子摆在同一条线上 <?xml version="1.0" e ...
- 实用sql语句合集
1. 将选取A表的name字段 然后选择A表和B表,最后进行id相等比较 最终得到的是合集 $res = \DB::select("SELECT name FROM users,car_a ...
- IntelliJ IDEA 2017.3尚硅谷-----生成 javadoc
Locale:输入语言类型:zh_CN Other command line arguments:-encoding UTF-8 -charset UTF-8
- 第五十篇 入门机器学习——线性回归(Linear Regression)
No.1. 线性回归算法的特点 No.2. 分类问题与回归问题的区别 上图中,左侧为分类问题,右侧为回归问题.左侧图中,横轴和纵轴表示的都是样本的特征,用不同的颜色来作为输出标记,表示不同的种类:左侧 ...
- 常见运算符_python
一.算数运算符a=2b=5c=8#加减乘除print(a+b,a-b,a*b,a/b)#取模,也就是余数print(b%a)#取整除print(b//a)#幂(次方)print(b**a) 二.比较运 ...
- 每天进步一点点------Allegro中Autosilk top, Silkscreen top 和Assembly top三个什么区别
Autosilk top:最后出gerber的时候,自动生成的丝印层.会自动调整丝印位置,以及碰到阻焊开窗的地方,丝印会自动消失,避免露锡的地方涂上丝印(一般画丝印层的时候,焊盘上不会画上丝印,所以过 ...
- FLV文件格式分析(附源码)
FLV文件主要由两部分组成:Header和Body. 1. Header header部分记录了flv的类型.版本等信息,是flv的开头,一般都差不多,占9bytes.具体格式如下: 文件类型 3 b ...
- Linux服务器上实现数据库和图片文件的定时备份
一. 1.首先创建一个目录,用于存放备份的数据 2.在该目录下创建两个子目录一个用于存放数据库的信息,一个用于存放图片资源 3.#数据库的备份 执行下面的命令 mysqldump ...