新闻资讯

ngrok内网穿透分析,花生壳怎么通过ngrok实现内网穿透?

2021-08-14

在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,由此许多内网穿透,内网映射软件应运而生,根据网络通内网端口映射工具的多年开发经验,和大家分享一下内网穿透的原理和简单实现方法,花生壳内网版,ngrok内网穿透等原理都是大同小异的。

ngrok内网穿透分析

首先传输协议选择,tcp或者udp,udp协议是被监控的最厉害的协议,因为p2p软件,迅雷,bt,emlue都频繁的使用udp,网络管理员经常会将udp协议禁掉,除了dns的53端口,所以tcp协议是首选。既然不能在路由器就在公网搭建一个服务器,通过公网服务器帮我们转发数据,ngrok就提供了这样的转发服务器,如果嫌ngrok国外服务器太慢,自己搭建是首选,网络通?http://www.dkys.org?则内置国内穿透服务器,节省了很多功夫。
服务端是接收外部连接的,还需要客户端,将请求转发到内网服务器,为了实时知道有连接进来,客户端要和服务端建立tcp长连接。穿透过程:
1.当服务端接收到连接,就读取映射表,判断接收的端口对应于哪一个客户端,然后向客户端发送通知。2.客户端收到通知,读取本地映射表,判断对应哪个内网地址,向内网地址发起连接。3.客户端和内网的服务器建立连接后,向服务端发起一个连接,作为转发通道。4.服务端读取请求数据,并通过转发通道转发到客户端,客户端读取响应并通过转发通道返回给请求。这只是一个简单的连接过程,其中还有映射端口的管理,如果是全端口映射还需要动态映射端口,目前只有网络通有这个全端口的功能,对于一些特殊应用,还要修改解析修改转发的数据才能穿透成功。

花生壳怎么通过Ngrok实现内网穿透?

如果以我们开发人员的机子作为服务端,有开发环境,又有tomcat,数据库等等,如果能够直接将机子这个内网的IP映射到公网多好啊。这就是我们将要介绍的内网穿透利器,而且是免费的!
1.ngrok
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。Ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了。国内一个机构建立并运营了一个ngrok运行服务,虽然有时不太稳定,但对于调试人员来说是足够的。其支持HTTP的80端口和TCP端口转发。下面介绍使用方法。微信开发调试即需要一个公网IP/域名和80端口。
1) 注册登陆ngrok平台,申请一个ngrok.cc下的二级域名,并在基本信息里面获得token值。
内网穿透--ngrok和花生壳
2) 下载ngrok客户端并运行,输入token值即可。非常简单。这样本机就可以作为一个web服务器啦。
3) 将http://www.emlinuxhome.ngrok.cc/ 填入微信公众号的服务器配置里面,可以立刻开始微信web调试。当然,微信也提供了一个web调试工具,但是要装QQ浏览器,调试H5方便些,其他就无所谓啦。
2.花生壳
使用方法跟ngrok差不多,也是通过web管理中心注册二级域名和配置,并通过花生壳的客户端来反向代理,实现内网穿透。花生壳在国内物联网领域广泛使用,例如视频监控等等。

很容易想象公网数据交互过程:用户web访问二级域名->ngrok/花生壳一级域名转发数据->本地内网客户端接收到数据。
花生壳动态域名解析以颠覆式的动态域名技术创新,全新的交互界面及功能体验,满足你多元化的需求,带给你焕然一新的使用感受。花生壳的使用提高的不仅仅是办公效率,也会让客户拥有其他多方面更好的体验。花生壳所提供的服务器系统下载、映射等功能,也都会比较切合的体验客户的实际操作需求,最大化满足客户。在安装完成花生壳实现ngrok内网穿透的客户端以及注册花生壳账号之后就可以使用花生壳进行内网穿透了。