ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放
为什么要使用ngrok
作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做:
找到一台运行于外网的Web服务器
服务器上有网站所需要的环境,否则自行搭建
将网站部署到服务器上
调试结束后,再将网站从服务器上删除
在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,对于国内垄断的电信运营商来讲,更是不可能随便免费给你一个公网ip,许多家庭宽带都无法分配到公网ip,又或者公司学校安全角度考量,为了防止网络攻击,资料泄露,禁止内网机器通过路由器进行端口映射,搭建代理服务器,由此许多内网穿透,内网映射软件应运而生,根据网络通内网端口映射工具的多年开发经验,和大家分享一下内网穿透的原理和简单实现,网络通,花生壳内网版,ngrok等原理都是大同小异的.
首先传输协议选择,tcp或者udp,udp协议是被监控的最厉害的协议,因为p2p软件,迅雷,bt,emlue都频繁的使用udp,网络管理员经常会将udp协议禁掉,除了dns的53端口,所以tcp协议是首选.
既然不能在路由器就在公网搭建一个服务器,通过公网服务器帮我们转发数据,ngrok就提供了这样的转发服务器,如果嫌ngrok国外服务器太慢,自己搭建是首选,
服务端是接收外部连接的,还需要客户端,将请求转发到内网服务器,为了实时知道有连接进来,客户端要和服务端建立tcp长连接.
穿透过程:
1.当服务端接收到连接,就读取映射表,判断接收的端口对应于哪一个客户端,然后向客户端发送通知.
2.客户端收到通知,读取本地映射表,判断对应哪个内网地址,向内网地址发起连接.
3.客户端和内网的服务器建立连接后,向服务端发起一个连接,作为转发通道.
4.服务端读取请求数据,并通过转发通道转发到客户端,客户端读取响应并通过转发通道返回给请求.
这只是一个简单的连接过程,其中还有映射端口的管理,如果是全端口映射还需要动态映射端口,目前只有网络通有这个全端口的功能,对于一些特殊应用,还要修改解析修改转发的数据才能穿透成功.
相关推荐
下面将详细介绍ngrok的工作原理、功能以及如何使用。 ### 工作原理 ngrok 创建了一个安全的HTTPS隧道,将外部网络请求转发到你的本地主机。当你运行ngrok客户端时,它会连接到ngrok服务器,分配一个公共的临时URL,...
下面将详细介绍如何在阿里云CentOS 7系统上搭建ngrok服务器并生成客户端。 ### 1. 准备工作 首先,你需要一个阿里云服务器实例,操作系统选择CentOS 7。确保服务器已安装`curl`和`wget`,它们是下载和管理软件包的...
下面将详细介绍这个过程以及相关的技术知识点。 首先,我们要理解ngrok的工作原理。ngrok通过建立一个安全的隧道,将公网请求转发到内网服务。这种隧道机制使得开发者无需公开服务器的真实IP,就能安全地访问内网...
下面将详细介绍 ngrok 的相关知识点。 1. **ngrok 基本概念** - **隧道(Tunnel)**:ngrok 创建的是一种安全的双向通道,也就是所谓的隧道,通过这个隧道,外部网络可以访问到用户的本地服务器,同时也能将外部的...
下面将详细介绍ngrok的工作原理、安装与配置过程,以及如何实现一键生成服务器。 ### 一、ngrok工作原理 ngrok通过在公共互联网上创建一个临时的、安全的隧道,将外部请求导向你本地运行的服务。它在公共端点和...
"新手指引.txt" 这个文本文件很可能是ngrok的新手入门指南,详细介绍了如何下载、安装和配置 ngrok,以及如何创建和管理隧道。对于初学者来说,这是一份非常宝贵的资源,可以帮助他们快速上手。 "ngrok_win_linux....
本文将详细介绍如何使用Ngrok并结合自定义的SSL证书实现HTTPS访问。 #### 二、准备工作 1. **获取SSL证书**:首先需要获得一个SSL证书,可以通过购买或申请免费证书的方式获取。常见的免费SSL证书提供商有Let's ...
软件介绍: 已编译好的Windows版Ngrok服务器端ngrokd.exe,压缩包内有32和64位两个版本。不用安装配置,解压就能用,网上很难找。
本文将详细介绍ngrok在Windows平台上的使用方法、工作原理以及相关知识点。 **1. ngrok是什么?** ngrok是一款开源的反向代理软件,允许用户将本地服务器暴露到公共互联网上,而无需任何复杂的网络配置。它通过...
本文将详细介绍ngrok的工作原理、安装与配置、使用场景以及安全注意事项。 ### 一、ngrok工作原理 ngrok通过建立一个安全的隧道,将用户的内网服务与公共互联网连接起来。用户在本地运行ngrok客户端,这个客户端会...
下面将详细介绍Ngrok的功能、工作原理以及如何在Windows AMD64平台上使用。 Ngrok的主要功能包括: 1. **公网访问本地服务**:通过Ngrok,你可以创建一个临时的、安全的公共URL,这个URL可以指向你本地运行的任何...
资源里面会有使用的介绍,如果不会也可以问我 或者百度
本文将详细介绍“ngrok”这一免费的内网穿透工具,并提供操作教程,帮助您轻松实现自己的本机服务器对外部网络开放。 **ngrok简介** Ngrok是一个强大的、易于使用的内网穿透工具,它允许您通过公共URL来访问本地...
下面将详细介绍ngrok的工作原理、功能及其在Windows平台上的使用方法。 ngrok 的工作原理基于反向代理。当你运行ngrok时,它会在公共互联网上分配一个临时的公开URL,这个URL可以指向你的本地主机。ngrok会转发所有...
软件介绍: ngrok.exe使用说明:1.将startup.bat用词本等软件编辑打开2. -subdomain ts 8080 ---ts 为二级域名,修改成你自己想要的,有些可能已被使用则换一个。8080 为本地项目端口 例如项目:localhost:...
本文将详细介绍ngrok的功能、使用方法以及在Windows、Linux和Mac操作系统上的安装与配置。 一、ngrok概述 ngrok提供了一个安全的隧道,通过这个隧道,外部网络可以访问到用户的本地主机。它的工作原理是:ngrok...
下面将详细介绍ngrok的工作原理、使用方法以及与微信支付、支付宝支付的集成过程。 首先,ngrok通过在公网和内网之间建立安全的隧道来实现内网穿透。当用户启动ngrok并指定本地服务器的端口号时,ngrok会分配一个...
教程会介绍如何查看和分析这些日志,以便于调试和优化你的服务。 7. **安全与隐私**:由于内网穿透涉及到网络安全问题,教程也会涉及如何保护你的服务,避免不必要的外部访问,比如设置访问权限、密码保护或者其他...
这个链接指向了iteye(一个中国知名的IT技术社区)上的一个博客文章,很可能详细介绍了如何使用ngrok在Windows上进行外网映射。遗憾的是,由于没有实际访问这个链接,我们无法提供具体的文章内容。不过,通常这样的...
本教程将详细介绍NGROK在Linux环境下的服务端和客户端的配置与使用,并讲解如何修改源码以自定义域名。 1. **NGROK的基本原理** NGROK基于隧道技术,通过在公网与内网之间建立安全的连接,将内网服务映射到公网可...