利用ngrok实现域名映射局域网ip

article/2025/9/10 19:49:02

 

前言

相信很多开发者都有这样的需求,需要让外网访问你本地的服务器,方便调试本地代码,或者让别人体验到自己做的应用。那么这时,我们需要做的就是将我们本地的端口映射到一个外网的端口上,也就是内网穿透。常见的解决方案有 Ngrok, frp 等。本文将以 Ngrok 为例,讲述如何使用 Ngrok 进行内网穿透。

Ngrok

Ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以 Ngrok可以很方便地协助服务端程序测试。Ngrok希望帮人节省更多的时间去编程。只需一个命令,便可将一个本地服务器暴露在NAT或防火墙后面的互联网。

Ngrok入门

  1. 首先到 Ngrok官网 进行下载。

官网

  1. 解压下载后的安装包,得到一个ngrok.exe文件。

安装包

  1. 运行ngrok.exe文件,可以看到如下界面,展示的内容有该程序的描述、例子、版本号、作者、命令行。Ngrok是一个命令行应用,通过输入指令,执行相对应的功能。

程序界面

  1. 经过上面的步骤,我们已经完成了安装,接下来需要做的就是对ngrok进行配置。我们需要配置authtoken(账户凭证)。这时,我们需要到 Ngrok官网 注册一个账号,然后在用户中心里可以查到我们的authtoken(账户凭证),authtoken是每个用户的身份凭证,请注意保密。

账户凭证

  1. 复制我们的用户凭证,并在ngrok命令行中,输入下面的命令,按回车键执行。
    (注意:2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC这一串要换成你自己的authtoken)

 

ngrok authtoken 2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC
  1. 执行成功后,命令行界面中会出现下面的信息。此时,代表配置成功。ngrok程序已经在你的用户目录下,创建一个.ngrok2文件夹,并在文件夹中创建一个配置文件ngrok.yml。

 

Authtoken saved to configuration file: C:\Users\acer/.ngrok2/ngrok.yml
  1. 在命令行界面中,执行下面命令,即将本地端口80映射到外网中,如果需要映射其他端口,只需将80改成相对应的端口即可。

 

ngrok http 80
  1. 执行成功后,会出现如下界面,其中红框标出的,即映射出去的外网地址(http://eac71ad7.ngrok.io)。此时,内网穿透已经完成,此时我们便可通过访问该域名从外网访问本地服务器了。

 

端口映射结果


注意:该程序需一直保持运行,程序关闭,映射也将关闭。如果需要关闭映射,可以使用ctrl + c 或关闭该界面,进行程序终止。每次重新执行命令,映射外网的域名都会发生改变。如果希望域名不变,可通过开通ngrok的会员服务,具体可在官网进行查看。

 

扩展

ngrok 除了提供端口映射之外,还提供了一个实时的Web UI,您可以在其中查看你的隧道上运行的所有HTTP流量。在启动 ngrok 之后,只需在Web浏览器中打开http://localhost:4040即可检查请求详细信息。

当我们向公开网址发出请求之后,我们将可以在 Web UI 中看到请求和响应的所有详细信息,包括时间,持续时间,标题,查询参数和请求有效负载以及线上的原始字节。

流量监控

未完待续

本文只是对 Ngrok 这个工具的一个小入门而已。随着对这个工具的深扒,发现这个工具的功能甚是强大,内网穿透只是它最基本的一个功能,它还有重放请求,请求正文验证,重写主机头等功能。只要运用得好,还能够做很多事情。今天就先到这了,算是一个抛砖引玉,希望能让你对 Ngrok 有一些了解。最后附上在官网抄过来的几句话。

Ngrok

One command for an instant, secure URL to your localhost server through any NAT or firewall.

  • public urls for building webhook integrations
  • public urls for sending previews to clients
  • public urls for testing your chatbot
  • public urls for demoing from your own machine
  • public urls for SSH access to your Raspberry Pi
  • public urls for exposeing your local web server
  • public urls for testing on mobile devices

参考资料

Ngrok官网
Ngrok中文文档



作者:Polaris丶
链接:https://www.jianshu.com/p/8103f29bbd90
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://chatgpt.dhexx.cn/article/1D6ySEfe.shtml

相关文章

python调用手机摄像头,实现实时调用摄像头,需要你的电脑和手机在同一个局域网内

1、android手机上安装一款APP:IP摄像头,app的图片如上图 2.调用代码如下 import cv2cv2.namedWindow("camera", 1) # 开启ip摄像头 video "http://admin:admin10.0.0.32:8081/" # 此处后的ipv4 地址需要改为app提供的地址 cap c…

02、处于不同局域网下的Socket通信(网络部分理论知识)

目录 一、服务器 1、服务器的种类和功能 2、服务器的操作系统 3、IIs、Apache、Tomcat 4、云服务器 弹性云服务器(Elastic Cloud Server,ECS) 云服务器安全组 二、OSI七层模型与TCP/IP五层模型 三、外网、内网、公网、私网 内网穿透…

使用wireshark抓取聊天信息(局域网内的udp通信)

文章目录 1,实验目的2,实验操作3,总结4,附件 1,实验目的 1.分析这程序所采用的是udp还是tcp 2.在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文) 3.如果是网络连…

安装黑群晖找不到局域网电脑_黑群晖洗白太复杂?我用蒲公英P5轻松实现

前言: 随着网盘时代的结束,剩下的网盘供应商又开启了垄断方式,所以越来越多的小伙伴开始自己组自己的家庭NAS网络存储服务器。比如笔者的一个好基友就是如此。其实开始笔者是想让他直接一步到位,买群晖或者铁威马的NAS,在放入硬盘就可“一劳永逸”。然而,这个小伙伴看到了…

内网穿透实现局域网内搭建私服务器

使用云服务器实现内网穿透。内网里建立一台老旧win机专门用来挂pt,在上面存储视频和软件,而后映射在外网中,通过手机和电脑随时随地的下载和在线观看win机上的视频和文件。 1、修改ssh的默认端口 在公网中使用常用软件的默认端口会导致自己的…

局域网终结者_p2p终结者怎么安装使用 p2p终结者安装使用方法【介绍】

p2p终结者是一款局域网控制软件,他的主要功能就是控制和限制同一个局域网内其它的上网用户,如限制不让别人上QQ,不让别人开网页和不让别人下载,只要他和你在同一网之内你就可以控制他,并且神奇的是,不需要动…

Kali Linux-MSF远控局域网手机

前言 严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。 本文目的:演示如何借助Kali Linux系统的Metasploit渗透测试框架生成远程控制程序,然后感染局域网内的Android手机,从而实现对目标手机数据的读取、音频的…

超级眼局域网监控软件 员工禁止软件 可以控制时间段

第一步: 下载超级眼局域网监控软件: 将经理端安装在管理者的电脑上,员工端安装在需要被监控者的电脑上。 第二步:在经理端电脑上操作。打开管理端软件,扫描所有的被控电脑。然后选择需要管理的电脑(可以全选…

Kali使用Netdiscover探测局域网中存活主机

1、netdiscover介绍 Netdiscover 是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。 2、 主动模式:主动模式顾名思义就是主动的探测发现网络内主机,但是这种方式往往会引起网络管理员的注意。 打开Kali终…

如何避免计算机被别人共享,win7如何防止别人偷窥电脑 win7防止别人偷窥电脑操作方法...

我们都知道在win7系统中,可以设定开机密码或者屏保密码来防止我们的电脑被别人使用,不仅win7系统可以设置开机密码或者屏保密码,其他版本的系统也是可以设置的,那么win7如何防止别人偷窥电脑呢?下面为大家介绍win7防止别人偷窥电…

【时间之外】监控你的电脑只需8步

最近某安全厂商很火,很多离职员工都是被这套系统抓出来的。其实原理很简单,本文就用很多人都用过的kali系统,告诉你,想要控制你的电脑有多简单! 网上的文章很多,如这篇,Kali攻防,写…

详细介绍别人电脑访问到自己电脑运行的项目

文章目录 让别人远程访问你的代码网站项目或临时演示你的项目给客户的方式详解 引言一、创建一个你想要别人访问的项目二、明确你想要将这个网站或者项目存放的地方 终端分类服务器设备WEB服务器三、部署我们的网页 本地部署流程进入浏览器输入网址访问获取本机的IP地址&#…

监控手机屏幕、监控电脑屏幕方案

一&#xff1a;手机投屏 实时监控多个手机屏幕&#xff08;<3台&#xff09; ApowerMirror软件&#xff0c;终生179&#xff0c;可同时连接3部手机 网络环境&#xff1a;电脑与测试手机需要在同一个WiFi网络环境下。(要求手机型号不同) 软硬件环境&#xff1a;电脑和手机分别…

基于VC++的局域网内主机监控系统设计与实现

局域网内主机监控系统 目录 引言 2 1.1 编写目的 2 1.2 项目背景 2 1.3 课题内容和要求 3 1.4 名词解释 4 参考文献 4需求分析 5 2.1 现有系统概述 5 2.2 对新系统的要求 5 2.3 系统要求 6 2.4 对功能的规定 6 2.5 对性能的规定 6 2.6 运行环境规定 7 2.6.2 软件配置 7系统架…

同一个局域网之内,如何远程控制对方的电脑而且不用对方同意

条件&#xff1a; 1、同一个局域网之内&#xff1b; 2、远程控制对方电脑&#xff1b; 3、不用对方做任何操作&#xff08;QQ远程控制需要对方点击同意才能进行远程&#xff09; 具体操作如下&#xff1a; 一、关闭对方电脑的防火墙 二.允许电脑被对方远程 计算机-属性-远…

详解LinkedList

目录 一、介绍 二、源码分析 1、LinkedList实现的接口 2、LinkedList中的变量 3、LinkedList的构造方法 &#xff08;1&#xff09;无参构造方法 &#xff08;2&#xff09;带集合参数的构造方法 4、LinkedList中的重要方法 &#xff08;1&#xff09;静态内部类Node …

java linkedlist 节点_JAVA学习-LinkedList详解

1.定义 实现List接口与Deque接口双向链表&#xff0c;实现了列表的所有操作&#xff0c;并且允许包括null值的所有元素&#xff0c;对于LinkedList定义我产生了如下疑问&#xff1a; 1.Deque接口是什么&#xff0c;定义了一个怎样的规范? 2.LinkedList是双向链表&#xff0c;其…

LinkedList入门教程

目录 LinkedList是什么&#xff1f;LinkedList的使用创建对象添加元素删除元素获取长度排序 常用方法 LinkedList是什么&#xff1f; LinkedList是一种数据结构&#xff0c;它由节点组成&#xff0c;每个节点包含一个值和一个指向下一个节点的指针。这种数据结构非常适合插入和…

Java--LinkedList

LinkedList的特点 LinkedList是基于双向链表实现的有序集合&#xff1b;LinkedList是非线程安全的&#xff1b;LinkedList中的元素可重复&#xff0c;可为null值&#xff1b;LinkedList可实现快速的插入和删除操作&#xff0c;与ArrayList相比&#xff0c;LinkedList的增删操作…

LinkedList 基本使用

文章目录 1. LinkedList 简介2. LinkedList 底层操作机制3. LinkedList 源码分析4. LinkedList 增删改查案例5. ArrayList和LinkedList比较 1. LinkedList 简介 LinkedList 底层实现了 双向链表和双端队列 特点可以添加任意元素(元素可以重复)&#xff0c;包括null线程不安全&…