ngrok 内网穿透使用

news2024/12/29 3:16:23

title: ngrok 内网穿透使用
search: 2024-02-29


文章目录

    • 背景
    • Windows安装ngrok指令
    • 授权ngrok个人用户Authtoken
    • 穿透 `http` 或 `https` 服务
      • ngrok的代理http指令
      • ngrok获得静态域名指令
      • ngrok的代理ssh指令

背景

这次寒假回家,很无奈,很多东西放在项目组服务器上面,内网还无法访问,就很搞基本上工作不了,后面想着偷懒,试试内网穿透,尝试着在内网一台服务器上装一个内网穿透,让其服务跑起来,这样在任何一个地方,只要能够连接公网,就能够访问到项目组的网站了。

原理示意图如下:

在这里插入图片描述

内网穿透的软件市面上有很多如(ngrok,frp,花生壳等),我选择的是不需要任何公网服务器,只要有电脑就能够白嫖的 ngrok 进行内网穿透。

这个是 ngrok 官网 https://dashboard.ngrok.com/get-started/setup/windows

看你自己服务器是什么系统来安装不同版本的 ngrok 客户端

我自己的话两台服务器 WindowsLinux 都装了

[!注意]

ngrok 只有客户端的下载,没有服务端的下载,因为是 ngrok这家公司自己提供内网穿透服务器供我们白嫖,但是这样的话还是会有数据风险,(毕竟用的是别人的服务器)不安全,如果想要全部自己掌握的话,可以尝试其他提供客户端与服务端的软件.

Windows安装ngrok指令

choco install ngrok

授权ngrok个人用户Authtoken

每个人的 token 是不同的,这里面展示的官方的指导文档上的 token
具体需要查询的可以在注册 ngrok 账户后,在 Getting started 下找到 Your Authtoken 中找到
注意,这个token 是用于示例

ngrok config add-authtoken  2cxGPEiUPAFWpgXfQkCjx0bWeNa_A8EcKBmT4KmaEP0sfS6B

穿透 httphttps 服务

ngrok的代理http指令

如下指令运行后得到的是一个变动的随机域名

ngrok http http://localhost:8080

运行后得到的反馈如下

ngrok 

Take our ngrok in production survey! https://forms.gle/aXiBFWzEA36DudFn6

Session Status                online
Account                       tzcmaple@gmail.com (Plan: Free)
Version                       3.6.0                                                  Region                        Japan (jp)
Latency                       71ms                                                   Web Interface                 http://127.0.0.1:4040
Forwarding   https://239a-218-76-65-100.ngrok-free.app -> http://localhost:8080

Connections                   ttl     opn     rt1     rt5     p50     p90                                          0       0       0.00    0.00    0.00    0.00

这个时候就直接访问网址 https://239a-218-76-65-100.ngrok-free.app 即可,这样就能够将本地 8080 的端口映射到该网址上

ngrok获得静态域名指令

ngrok http --domain=vertically-promoted-toucan.ngrok-free.app 80

这样以后的域名就固定使用了,为 https://vertically-promoted-toucan.ngrok-free.app

##穿透 ssh 获取计算机操作权限

ngrok的代理ssh指令

ngrok tcp 22

显然这个指令威力更大,之前的代理 内网的只是 http 的服务,这台计算机你是不能够访问的
但是如果我使用 ssh 进行远程登录,也就是说我现在可以远程输入密码登录进这台计算机,我就可以完全掌握这台计算机的所有权限,对硬盘的访问,甚至可以根据被掌控的计算机为跳板进入内网,如果知道密码,就可以完全登录内网的任何一台计算机。

运行后得到的反馈如下

ngrok 

Take our ngrok in production survey! https://forms.gle/aXiBFWzEA36DudFn6

Session Status                online
Account                       tzcmaple@gmail.com (Plan: Free)
Version                       3.6.0                                                 Region                        Japan (jp)
Latency                       71ms                                                  Web Interface                 http://127.0.0.1:4040
Forwarding                    tcp://0.tcp.jp.ngrok.io:15141 -> localhost:22 

Connections                   ttl     opn     rt1     rt5     p50     p90                                          0       0       0.00    0.00    0.00    0.00

这样你就可以使用以下指令登录

ssh root@0.tcp.jp.ngrok.io -p 15141

输入密码后即可登录

[!注意]

为了搞这个内网穿透弄了我蛮久,一开始我不知道 ngrok 的客户端应该放在哪里,本来我的阿里云服务器是有公网IP的,但是我的笔记本没有,当时还不知道 ngrok 只有客户端,只是从原理知道,应该是要有一个服务端部署在有公网 IP 的服务器上,后面随便拿到项目后,运行时发生了 npm 证书问题,解决后,又遇到了最关键的功能测试失败,就是在 Xshell 上使用 ssh 连接始终报错 Invalid port number 说明是一个无效端口号,搞得我很烦,如果内网穿透不能够使用 ssh 远程连接,就方便性少了很多很多,下午看了很多很多博客,和starkoverflow 上面的帖子,发现都没有遇到过这个问题,没有这个问题,开始怀疑是中国锁国区,在尝试无果之后,最后我想到是不是有可能是 Windows 连接 Linux 出现问题,然后我就用 Linux 连接 Linux ,因为在 Linux 系统上都是直接使用 指令操作的,ssh 指令可以直接方便执行不借助软件,然后连接成功了,emmm,随后,我在我的 windowscmd 中运行 ssh 指令,成功了!锁定问题 Xshell是个傻逼,沃日了狗了,我说怎么 ngrok 社区基本上没有遇到这个问题的,原来是因为 Xshell 的连接问题,ssh 指令本身一点问题都没有。总结,傻逼 Xshell,果然,第三方的封装软件总是可能会有一些奇奇怪怪的问题,但是还原到最本质,最原始的连接,往往没错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vuex插件实现数据共享

vuex插件 vuex是管理多个vue通用的数据的插件.(状态管理工具,状态是数据) 我们对于多个vue文件之间的共同数据,是用props传递,或者对于一个vue实例对象,进行绑定,传参,也是多次传参,多个文件之间,比较麻烦. 但是我们vuex会创建一个公共对象,从这个公共对象上赋值,比较简单易…

HarmonyOS 应用开发之使用隐式Want打开网址

以打开浏览器为例,假设设备上安装了一个或多个浏览器应用。为了使浏览器应用能够正常工作,需要在 module.json5配置文件 进行配置,具体配置如下: {"module": {..."abilities": [{..."skills": [{&…

Spring面试题(二)

一、老杜讲解Spring6整理 1. Spring有哪几大模块? 2. IoC控制反转的实现是依赖注入,set依赖注入的原理是什么? 3. 自动装配有哪几种?它的原理是基于构造注入还是基于set注入? 4. Spring容器中的Bean是单例还是多例…

Mybatis-Plus分页查询时碰到`total`有值但`records`为空

个人原因:Mybatis-Plus分页插件设置了maxLimit单页条数 // 分页插件配置 PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor(DbType.MYSQL); paginationInnerInterceptor.setMaxLimit(200L); // 单页分页条数限制(默认无限…

博客页面---前端

目录 主页 HTML CSS 文章详细页面 HTML CSS 登录页面 HTML CSS 文章编辑页 HTML CSS 这只是前端的页面组成&#xff0c;还没有接入后端&#xff0c;并不是完全体 主页 HTML <!DOCTYPE html> <!-- <html lang"en"> --> <head>&…

【PSINS工具箱】基于工具箱,自己设计的轨迹,并生成IMU数据和三维视图(完整代码)

完整代码 在有工具箱的情况下&#xff0c;直接运行代码&#xff0c;即可 % 基于PSINS工具箱的三维轨迹生成、三维图像绘制与IMU数据生成 % date:2024-2-13 % Evand&#xff08;evandworldqq.com&#xff09; % Ver1 clear;clc;close all; glvs ts 0.1; % sampling int…

Redis(十九)缓存过期淘汰策略

文章目录 面试题内存满怎么办写入的数据如何删除的&#xff08;删除策略&#xff09;立即删除惰性删除上面两种方案都走极端 缓存淘汰策略配置文件LRU和LFU区别有哪些如何配置、修改 redis缓存淘汰策略配置性能建议 面试题 生产上你们的redis内存设置多少?如何配置、修改redi…

动态规划-最长回文子串

动态规划-最长回文子串 原题描述解答中心移动思想代码实现复杂度分析时间复杂度空间复杂度 动态规划思想代码实现复杂度分析时间复杂度空间复杂度 突然觉得很有必要将学过的内容记录下来&#xff0c;这样后续在需要用到的时候就可以避免从头进行学习&#xff0c;而去看自己之前…

【Threejs基础教程-光影篇】5.2 Threejs 阴影系统

5.2 Threejs阴影系统 学习ThreeJS的捷径在用光影系统之前threejs是实时光影web端目前没有优质的实时光影实时光影会大幅增加渲染压力没有独显的电脑不建议添加实时光影 阴影配置什么样的灯光可以产生阴影什么样的物体可以产生阴影和接受阴影注意开启阴影渲染灵活运用阴影 平行光…

【Linux】普通用户提升权限

概述 在Linux环境下&#xff0c;给普通用户提权的方式&#xff0c;su与sudo命令&#xff0c;su是将一个普通用户登录为root&#xff0c;而sudo则是将普通用户短暂提升权限 普通用户使用$ root使用# 使用su提升权限 如果我们使用su将用户提升为root&#xff0c;此时需要输入…

计算机网络:数据链路层 - 封装成帧 透明传输 差错检测

计算机网络&#xff1a;数据链路层 - 封装成帧 & 透明传输 & 差错检测 数据链路层概述封装成帧透明传输差错检测 数据链路层概述 从数据链路层来看&#xff0c;主机 H1 到 H2 的通信可以看成是在四段不同的链路上的通信组成的&#xff0c;所谓链路就是从一个节点到相邻…

回溯算法|39.组合总和

力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex) {if (sum > target) {return;}if (sum target) {result.push_back…

CISP考前笔记

1软件需求分析是保证软件质量的重要步骤&#xff0c;它的实施应该是在 软件定义阶段 1语句覆盖最弱&#xff0c;只需要让程序中的语句都执行一遍即可 。分支覆盖又称判定覆盖&#xff1a;使得程序中每个判断的取真分支和取假分支至少经历一次&#xff0c;即判断的真假均曾被满足…

K8S命令行可视化实验

以下为K8s命令行可视化工具的实验内容&#xff0c;相比于直接使用命令行&#xff0c;可视化工具可能更直观、更易于操作。 Lens Lens是用于监控和调试的K8S IDE。可以在Windows、Linux以及Mac桌面上完美运行。在 Kubernetes 上&#xff1a; 托管地址&#xff1a;github/lensa…

登录者个人信息查询

目录 &#x1f95e;1.vo层描述 &#x1f37f;2..vo层创建 &#x1f32d;3.编写controller层 &#x1f953;4.service层 &#x1f9c2;5.测试 1.vo层描述 Spring Boot项目中的实体类通常用于映射数据库表&#xff0c;包含了业务对象的所有属性。然而&#xff0c;前端或其…

Verilog基础【一】

文章目录 1.1 第一个verilog设计1.2 Verilog 简介1.3 Verilog环境搭建1.4 Verilog 设计方法设计方法设计流程 2.1 Verilog 基础语法格式注释标识符与关键字 2.2 Verilog 数值表示数值种类整数数值表示方法实数表示方法十进制&#xff1a;科学计数法&#xff1a; 字符串表示方法…

如何做慢查询优化?

如何做慢查询优化&#xff1f; 这个问题可以说是一个高频问题&#xff0c;总是被问到&#xff0c;今天来总结下这个问题。 慢查询&#xff0c;就是 SQL 查询中耗时比较大的一类查询&#xff0c;MySQL 提供了慢查询日志 slow_query_log&#xff0c; 它会记录耗时大于我们设置…

【Chapter2】进程、线程与作业,计算机操作系统教程,第四版,左万利,王英

文章目录 [toc] 一、多道程序设计1.1单道程序设计的缺点1.2多道程序设计的提出1.3多道程序设计存在的问题 二、进程的引入2.1进程的概念2.2进程的组成2.2.1进程控制块2.2.2程序 2.3进程的类型及特征2.3.1进程的类型2.3.2进程的特征 2.4进程的状态及转换2.4.1进程的状态创建态就…

项目亮点—动态线程池管理工具

问题 你是否在项目中使用线程池遇到过以下问题&#xff1f; 1.创建线程池核心参数不好评估&#xff0c;随着业务流量的波动&#xff0c;极有可能出现生产故障。 2.不支持优雅关闭&#xff0c;当项目关闭时&#xff0c;大量正在运行的线程池任务被丢弃。 3.不支持运行时监控…

java每日一题——分礼物(多线程运用)

前言&#xff1a; 运用了多线程的综合案例&#xff0c;顺便熟悉一下其他语法。打好基础&#xff0c;daydayup!!! 题目&#xff1a; 有100份礼物&#xff0c;小红小明同时发送&#xff0c;当剩下的礼物小于10份的时候则不再送出&#xff0c;利用多线程模拟该过程并将线程的名称…