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进行内网穿透

官网

frp 使用基础笔记的更多相关文章

  1. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  2. php代码审计基础笔记

    出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...

  3. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

  4. MYSQL基础笔记(五)- 练习作业:站点统计练习

    作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...

  5. MYSQL基础笔记(四)-数据基本操作

    数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...

  6. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  7. MYSQL基础笔记(二)-SQL基本操作

    SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...

  8. MYSQL基础笔记(一)

    关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...

  9. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

随机推荐

  1. AcWing 187. 导弹防御系统

    //dp+dfs+贪心 //记一个全局变量 #include<iostream> using namespace std ; ; int n; int ans; int q[N]; int ...

  2. 线段树的树状数组大小为什么是4*maxn

    以下方建树代码为例,r数组表述原始数据,t表述tree也就是树状数组 void make(int left,int right,int num)//创建线段树 { t[num].l=left; t[n ...

  3. 《深入理解Java虚拟机》读书笔记一

    第二章 Java内存区域与内存溢出异常 1.运行时数据区域 程序计数器: 当前线程所执行的字节码的行号指示器,用于存放下一条需要运行的指令. 运行速度最快位于处理器内部. 线程私有. 虚拟机栈: 描述 ...

  4. 小匠第二周期打卡笔记-Task04

    一.机器翻译及相关技术 机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经网络翻译(NMT). 主要特征:输出是单词序列而不是单个单词.输出序列的长度可能与 ...

  5. orcad常用库文件

    ORCAD CAPTURE元件库介绍 AMPLIFIER.OLB amplifier 共182个零件,存放模拟放大器IC,如CA3280,TL027C,EL4093等. ARITHMETIC.OLB ...

  6. mysql之case..when ..then..else..end as..用法

    1.示例1 查询1: SELECT CASE main_xm_sam31 WHEN '02' THEN 2 ELSE 1 END AS SPDJ FROM SR_MAIN_BG A WHERE A.P ...

  7. AcWing 793. 高精度乘法

    https://www.acwing.com/problem/content/795/ #include<bits/stdc++.h> using namespace std; //A*b ...

  8. js获取后台map格式数据

    后台: @RequestMapping("/dictList") @ResponseBody public Map<String, Object> positionLi ...

  9. [lua]紫猫lua教程-命令宝典-L1-01-08. math数学函数库

    L1[math]01. 取绝对值 L1[math]02. 三角函数 小知识:注意 lua下三角函数用的参数是弧度 而不是角度 弧度=角度*pi/180  -->弧度角度换算公式  lua的mat ...

  10. [转]Vue 2.0——渐进式前端解决方案

    前言:框架是什么?为什么要有框架?在众多的框架之中,Vue 独具魅力之处在哪里呢?其背后的核心思想是什么?Vue 究竟火到什么程度?最近发布的 Vue2.0 又做了哪些改进呢?Vue 和 Weex 又 ...