内网穿透实践

一、使用介绍

由于绝大部份人的网络都是处在内网之中,这导致你在本地电脑上写的一些web服务器(又或者其它网络相关的功能),都是无法将链接发给别人使用查看的。

并且由于大部分人采用的方案也都是在本地进行测试开发,完成之后才会部署到云服务器上,但这一过程较为繁琐、无法实时让别人看到你本地的开发效果。

而内网穿透便能解决这一问题,比如本文要介绍的内网穿透工具stab。

最新版下载地址为:

https://github.com/ys928/stab/releases/tag/v0.2.1

其工作原理并不复杂,大体分为下面几个步骤:

  1. 首先你需要一个处在公网的服务器(可以去腾讯云、阿里云等平台租云服务器),因为只有这样别人才能访问到你,假设你的服务器ip地址为187.12.22.21(如果有相应的域名,也同样可以)
  2. 启动stab服务器模式,命令为stab server
  3. 在本地启动一个web服务,比如监听在端口8000上。
  4. 最后,启动stab本地模式,命令为:stab local -l 8000=187.12.22.21,此时你会看到类似这样的日志信息:187.12.22.21:1024

完成了上面这些步骤之后,别人就能直接通过187.12.22.21:1024直接访问到你在本地的web服务。

其原理是端口转发,也就是此时一切发送到你云服务器上的187.12.22.21:1024数据,都会被转发到你的本地8000端口上,这样就实现了内网穿透的效果。

但要注意,此时走的依旧是你的云服务器的流量,所以如果你的云服务器带宽较低,那么速率可能就会较慢。

该工具由rust实现,其效率是极高的,与直接访问的服务相比,更多的其实是网络上的损耗,因为它需要将数据通过网络进行一次转发,而直接访问则无需进行转发。

二、更多功能

stab工具的主要功能如上所述,但它也提供了更多实用的功能。

比如当你启动了server模式,它会打印一条类似这样的日志:http://localhost:3000

这个链接是stab提供的可以让服务器管理当前所有连接上来的客户端工具。

并且你也可以指定web管理服务的端口号:stab server -w 8989

而本地模式则主要是链接参数的写法,最简洁的方式就是这样:

stab local -l 8000=187.12.22.21

但实际上,这是下面这种写法的简写形式:

stab local --link 127.0.0.1:8000=187.12.22.21:0

意思就是让本地的127.0.0.1:8000端口与服务器的187.12.22.21:0端口进行映射,0端口是不存在,这个行为的意思是让服务器自动分配可用的端口。

所以其实你是可以手动指定云服务器使用哪个端口的:

stab local --link 127.0.0.1:8000=187.12.22.21:7777

三、其它

该工具是我业余时间参考开源工具bore实现的一个更加好用、高效的开源工具,源码相比于bore更加精炼、易读,功能更加丰富,目前仍在积极开发中。

如果你有好的建议,欢迎去github上提交issue、如果可以顺手点上一个🌟就更好了。

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

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

相关文章

dotnet依赖注入与IOC(包含Autofac的使用)

文章目录 依赖注入与IOCIOC依赖注入DIAutofac轻量容器的使用 依赖注入与IOC IOC IOC 是 Inversion of Control(控制反转)的缩写。在软件开发中,IOC 是一种设计模式,它改变了传统的程序设计流程,使得对象之间的依赖关系…

redis数据结构基础介绍

Redis 是一种开源的、内存中的数据结构服务器,它支持多种类型的数据结构。以下是 Redis 支持的主要数据结构: 字符串(String): 这是最简单的类型,一个键对应一个值,是二进制安全的。这意味着 Re…

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令(重要) 06.rmdir指令 && rm 指令(重要) 07.man指令(重要) 07.cp指令(重要) 08.mv指令&#…

H.264 压缩与编解码原理

H.264 压缩与编解码原理 H.264 压缩与编解码原理H.264 简介视频编码的总体思路H.264 压缩技术帧内预测压缩什么是空间冗余?具体预测方法 帧间预测压缩什么是时间冗余?具体预测方法:运动估计 概念:Group of Pictures(GO…

java-网络编程socket-聊天室-先导

这边我会简单介绍一下聊天室的组成部分,和思路的引导 涉及知识点 java 中异常处理机制 和 io流和网络编程socket 简单回顾异常机制 Java中的异常机制是一种用于处理程序运行期间出现的错误或异常情况的机制。这种机制允许程序员定义在特定情况下可能发生的错误,并…

mysql慢sql排查与分析

当MySQL遇到慢查询(慢SQL)时,我们可以通过以下步骤进行排查和优化: 标题开启慢查询日志: 确保MySQL的慢查询日志已经开启。通过查看slow_query_log和slow_query_log_file变量来确认。 如果没有开启,可以…

闻风丧胆的算法(二)

🌈个人主页:Rookie Maker 🔥 系列专栏:算法 🏆🏆关注博主,随时获取更多关于IT的优质内容!🏆🏆 😀欢迎来到我的代码世界~ 😁 喜欢的小…

小林coding图解计算机网络|基础篇01|TCP/IP网络模型有哪几层?

小林coding网站通道:入口 本篇文章摘抄应付面试的重点内容,详细内容还请移步: 文章目录 应用层(Application Layer)传输层(Transport Layer)TCP段(TCP Segment) 网络层(Internet Layer)IP协议的寻址能力IP协议的路由能力 数据链路层(Link Lay…

一文介绍回归和分类的本质区别 !!

文章目录 前言 1、回归和分类的本质 (1)回归(Regression)的本质 (2)分类(Classification)的本质 2、回归和分类的原理 (1)回归(Regression&#x…

前端全方位进阶课程已经备好,陪你挑战年薪20w以上!

到目前为止我在视频号上已经顺利完成8场直播了。在此,我也很真诚的感谢小伙伴们对我的支持与厚爱!让我真真感受到了大家对技术的热忱! 这几场直播下来给我最直接的感受就是:累,很累!准确的说不应该是直播累…

Vue3(学自尚硅谷)

一、基础准备工作 (一)过程 环境要求:有node.js环境、npm。执行命令: npm create vuelatest 而后选择: ✔ 请输入项目名称: … me_vue3 ✔ 是否使用 TypeScript 语法? … 否 / 是 ✔ 是否启用…

干货| 这篇电商数据分析案例一定要看!

主流电商商品数据采集API接口 直播带货行业在经历了高端玩家的“春秋争霸”之后,逐渐进入到了一种“网红化”的阶段。人们正在将注意力从原来凤毛麟角的直播巨头逐渐转移到一些小主播身上。但近短时间却出现了网红带货营销额放缓的现象。因此商家必须要调整直播策略…

探索ChatGPT的学术应用:写出优质论文的突破之道

ChatGPT无限次数:点击直达 探索ChatGPT的学术应用:写出优质论文的突破之道 在当今信息爆炸的时代,人们对于文本生成和语言处理的需求越来越迫切。ChatGPT作为一种强大的自然语言处理模型,已经引起了广泛关注,并在实践中展现了其强…

【数据库】数据库的介绍、分类、作用和特点,AI人工智能数据如何存储

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《数据库》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识…

从 Vue.js 到微信小程序 - 框架语法差异与开发技巧

作为一名有 Vue 开发经验的开发者,如果想快速掌握小程序开发,需要了解 Vue 和小程序在设计上的主要差异,这样可以更好地过渡和适应小程序的开发模式。以下是我总结的几个重点: 页面定义: Vue 中使用 .vue 文件定义页面,包含模板、脚本和样式。小程序中使用三个文件定义页面:WXM…

磁力链接的示例与解释

磁力链接(Magnet URI scheme)是一种特殊类型的统一资源标识符(URI),它包含了通过特定散列函数(如SHA-1)得到的文件内容的散列值,而不是基于位置或名称的引用。这使得磁力链接成为在分…

C++ templates: (4)、引用折叠

引用折叠(Reference collapsing)是C11中引入的一种规则,用于处理函数模板参数的类型和值完全匹配的情况。当一个非const左值引用和一个右值引用绑定到同一块内存时,引用折叠会发生。 引用折叠的规则如下: 如果两个引…

互联网轻量级框架整合之JavaEE基础II

编写本篇代码并实际执行之前请仔细阅读前一篇互联网轻量级框架整合之JavaEE基础I Servlet 在Servlet容器中,Servlet是最基础的组件,也可以把JSP当做Servlet,JSP的存在意义只在于方便编写动态页面,使Java语言能和HTML相互结合&…

数字转型新动力,开源创新赋能数字经济高质量发展

应开放原子开源基金会的邀请,软通动力董事、鸿湖万联董事长黄颖基于对软通动力开源战略的思考,为本次专题撰文——数字转型新动力,开源创新赋能数字经济高质量发展。本文首发于2023年12月12日《中国电子报》“开源发展与开发者”专题第8版。以…

产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡

01、产品概述 亿迅A8000金融加速卡,是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科,将可编程逻辑芯片与金融行业深度结合,通过可编程逻辑芯片对交易行情加速解码,实现低至纳秒级的解码引擎,端到端的处理时延…