内网穿透有效时间(大白话告诉你内网穿透原理和验证)
内网穿透有效时间(大白话告诉你内网穿透原理和验证)这里我用的是`natapp`这个工具是基于 `ngrok`的验证过程其实也非常简单,只需要验证下 内网服务器是不是和外网建立了tcp链接就知道了1. 内网服务器和外网的服务器建立tcp通讯2. 用户想访问内网服务器时候,需要先请求外网服务器,外网服务器再将请求的数据原样推送给内网的服务器3. 同理当内网服务器要将数据推送给用户,也是原路返回,先给外网服务器,然后外网服务器在将数据给用户
内网穿透到底干啥的这里不做详述,这篇文章主要是讲这玩意怎么做的
分析网上有很多原理图,但是说实话鄙人天资愚钝没咋看懂,在网上疯狂百度和个人的验证之后,得出如下简图
其实很简单
想让我们内网的服务能被外网访问到,只需要一个能被公网访问的服务器就行
1. 内网服务器和外网的服务器建立tcp通讯
2. 用户想访问内网服务器时候,需要先请求外网服务器,外网服务器再将请求的数据原样推送给内网的服务器
3. 同理当内网服务器要将数据推送给用户,也是原路返回,先给外网服务器,然后外网服务器在将数据给用户
验证验证过程其实也非常简单,只需要验证下 内网服务器是不是和外网建立了tcp链接就知道了
这里我用的是`natapp`这个工具是基于 `ngrok`的
启动之后如图所示
此时需要知道上文说的外网服务器地址,通过 ping `iup4ue.natappfree.cc` 就知道了
这时候打开`wireshark` 抓包
ip.dst 是本地内网ip
ip.src 是外网服务器地址
这时候只需要在页面随便访问下
`http://iup4ue.natappfree.cc/asdasdasdas`
此时看 wireshark 应该有如下记录
在那一行右键 follow->http stream
可以看下如下
这样就证明了,数据是通过tcp通道传输的