我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

扩张

需求场景:

基于微信平台开发服务号,在本地移动端测试时,需要在微信平台注册一个测试账号,然后填写接口配置信息。这些信息需要你有自己的服务器资源,而且填写的URL需要正确响应微信发送的Token验证。外网如何访问本地服务器呢?就需要用到内网穿透技术(NAT)。

注:微信平台仅支持80、443端口

内网穿透的目的:简单来说就是让外网可以访问你本地的应用程序

几个概念:

1.OSI网络七层协议及各层作用

域名内网解析不了_域名内网解析_域名解析内网ip

1. 物理层:此层包括物理网络介质,例如电缆连接器。物理层的协议生成和检测电压以发送和接收携带数据的信号,例如中继器、集线器、网线和 HUB。

这一级别的数据称为位。

2.数据链路层:控制网络层与物理层之间的通信。其主要作用是在不可靠的物理线路上可靠地传输数据。如网卡、网桥、交换机等。

这一层是处理数据包结构和字段的和事佬。一方面,它从网络层(第 3 层)接收数据帧,并为物理层封装这些帧;另一方面,数据链路层将物理层的原始数据位封装成网络层的帧。它起着重要的中介作用。

3.网络层:主要功能是将网络地址转换成对应的隧道地址,并决定如何将数据从发送方路由到接收方。

例如路由器防火墙、多层交换机。

网络层确定将数据包传送到目的地的路径。这是通过将逻辑网络地址转换为物理地址来实现的。如果数据包太大而无法通过路径中的一条链路到达目的地,那么网络层的工作就是将数据包拆分成更小的数据包。

4. 传输层:最重要的一层。传输协议还执行流量控制或根据对方接受数据的速度指定适当的发送速率。它包括全双工和半双工、流量控制和错误恢复服务。同时,它根据网络可以处理的最大大小强制拆分较长的数据包。进程和端口、TCP UDP 协议

5.会话层:负责建立和维持网络中两点之间的通信。如建立回拨、断点续传等。

两个位于不同计算机上的应用程序之间建立虚拟链接。此虚拟链接称为会话。会话层通过在数据流中设置检查点来保持应用程序同步。允许应用程序进行通信的名称识别和安全性由会话层完成。

6. 表示层:是程序与网络之间的翻译器,管理数据的加密解密。如编码方式、图像编解码、交换机

定义应用程序交换数据所使用的格式。从这个意义上讲,表示层也称为转换器()。此层负责协议转换、数据编码和数据压缩。转发程序在此层执行服务操作。

7. 应用层:负责为软件提供实现网络服务的接口。如应用程序,如FTP、SMTP、HTTP

2. IP 地址

在网络上唯一定位设备的逻辑地址,类似于我们的电话号码。

当我们在互联网上访问网站或者使用网络服务的时候,需要通过IP来定位各个主机,比如访问百度网站:

其中,220.181.112.244是一个公网IP地址,最终指向一个服务器。

IP地址是IP协议提供的一种统一的地址格式,它给互联网上的各个网络、各个主机分配一个逻辑地址,以掩盖物理地址的差异。

内网IP可以同时出现在多个不同的局域网中,比如A公司用户U1获取到192.168.0.5,B公司用户U3也可以获取到192.168.0.5;但是公网IP是唯一的,因为我们只有一个。

3. 域名

域名是IP的别名,比较容易记忆,域名最终通过DNS解析为IP地址。

IP V4 是 32 位数字,IP V6 是 128 位数字,一串无意义的数字很难记住,域名解决了这个问题。

域名内网解析不了_域名内网解析_域名解析内网ip

DNS查询过程如下,域名最终转化为IP地址

4. NAT

NAT()代表网络地址转换,可以将其本地地址转换为全局 IP 地址。

当内网中的某些主机已经被分配了本地IP地址(比如LAN DHCP分配的IP),但现在想要与上的主机进行通信(不加密)时,可以使用NAT方式。

通过使用较少数量的公有 IP 地址来代表较多的私有 IP 地址,将有助于减缓可用 IP 地址空间的耗尽。

NAT不仅解决了IP地址不足、共享上网的问题,而且可以有效避免来自网络外部的攻击以及隐藏和保护网络内的计算机。

多个路由器可以执行 NAT 功能。

NAT实现方法:

静态转换是指将内网的私有IP地址转换为公有IP地址,IP地址对是一一对应的。

动态转换是指将内网的私有IP地址转换为公有IP地址,IP地址具有不确定性,随机性。

端口复用(Port,PAT),内部网络中的所有主机可以共享一个合法的外部IP地址来访问网络,从而最大程度地节省了IP地址资源。同时可以隐藏网络中的所有主机,有效避免来自网络的攻击。因此,端口复用是网络中应用最为广泛的方法。

应用层网关(ALG):传统的NAT技术只是对IP层和传输层报头进行转换,ALG也可以在通信过程中对这些应用程序所包含的地址信息进行相应的NAT转换。

域名解析内网ip_域名内网解析_域名内网解析不了

域名解析内网ip_域名内网解析_域名内网解析不了

5. 代理

代理在计算机领域应用十分广泛,主要分为正向代理和反向代理:

正向代理

比如说,X花店代表A、B、C、D、E五个男生给Candy匿名送了生日鲜花。这里,X花店就是这五个顾客的代理人。花店是顾客的代理人,但隐藏的那方才是顾客。这就是我们常说的代理人。

正向代理隐藏了真正的请求客户端,服务器不知道真正的客户端是谁,客户端请求的服务都由代理服务器来请求。有些科学上网工具就充当了典型的正向代理的角色。如果你用浏览器访问被卡住了,你可以在国外搭建一个代理服务器,让代理帮我发出请求,代理把请求返回的相应结构体返回给我。

当多个客户端访问一个服务器时,服务器并不知道到底是哪个客户端在访问它。在正向代理中,代理和服务器属于同一个局域网,是透明的;

反向代理

当你拨打10086客服电话时,可能会有多个接线员,调度员会智能分配一个接线员来和你通话,这里的调度员是一个代理,但是是接线员的代理人,客户无法确定到底是谁在和他通话,被隐藏和保护的是目标对象。

反向代理隐藏了真实服务器,我们发出请求的时候就好比拨打10086,后面可能有上千台服务器为我们服务,但是你不知道是哪台,也不需要知道,你只需要知道反向代理服务器是谁,哪个就是我们的反向代理服务器。反向代理服务器会帮我们将请求转发到真实服务器上。Nginx 就是一个性能非常好的反向代理服务器,用来做负载均衡。

在反向代理中,代理和路由器属于同一个局域网,彼此透明。

6. DDNS

DDNS,即动态域名解析,是将用户的动态IP地址映射到一个固定的域名解析服务上。用户每次上网时,客户端程序都会通过信息传输的方式,将主机的动态IP地址传送给服务商主机上的服务器程序,服务程序负责提供DNS服务,实现动态域名解析。也就是说,DDNS会抓取用户每次变化的IP地址,然后与域名进行匹配,这样域名就总是能解析到一个不固定IP的服务器上。上网用户通过本地域名服务器获取网站域名的IP地址,从而访问网站的服务。

7.为什么需要内网穿透?

当内网中的主机没有静态IP地址,又需要被外网稳定访问时,可以使用内网穿透

在互联网上定位主机的唯一途径就是通过公网IP地址,但是固定IP是非常稀缺的资源,不可能给每个公司都分配一个,而很多中小企业又不愿意为此付出高昂的费用。大多数公司都是直接或间接拨号上网,电信部门会给上网的用户分配IP地址。以前上网用户少的时候,基本都是分配临时的静态IP地址,租约到期后可能会更换另外一个IP地址,所以由于内网的静态IP地址一直在变化,导致外网访问不稳定。为了解决这个问题,可以采用动态域名解析,改变域名指向的静态IP地址。但是随着上网用户越来越多,临时的静态IP地址已经不够用了,电信部门开始分配一些虚拟的静态IP地址。这些IP是不能被公网直接访问的,比如一些以125开头的IP地址,以前简单的动态域名解析并不好用。

8.内网渗透的定义及障碍

简单来说,让不同局域网内的主机能够通过互联网进行通信的技术就称为内网穿透。

障碍一:局域网内的主机都有两套IP地址,一套是局域网内部的IP地址,一般是动态分配的,只用于局域网内部主机之间的通信;另一套是经过网关转换后的外部IP地址,用于与外部程序进行通信。

域名解析内网ip_域名内网解析不了_域名内网解析

障碍二:即使不同局域网内的两台主机互相知道对方的IP地址和端口号,并“随意”地向对方发送数据包,对方也无法收到。

为了安全起见,除非主机主动向对方发送连接请求(主机的数据结构中会留下记录),否则主机在收到一个数据包时,如果在自己的数据结构中没有找到相应的记录,那么那些不请自来的数据包将会被丢弃。

域名内网解析不了_域名解析内网ip_域名内网解析

解决办法:为了解决上面两个障碍,我们需要使用有公网IP的服务器进行桥接。

内网渗透产品及工具

1. 花生壳

花生壳既是内网穿透软件,又是内网映射软件,更是端口映射软件,是目前最大,最正规,最全的内网穿透软件。

付费,限制端口,限制流量。

免费注册域名,6元试用版内网穿透

官方网站:

域名内网解析不了_域名内网解析_域名解析内网ip

陷阱:外网可以正常访问,但是域名配置微信平台URL失败

2.

它是一款内网端口映射及动态域名解析软件,在内网启动映射后,即可在外网访问内网网站等应用。

收费,使用方便,需支付宝充值300T币,或30元

官方网站:

使用全端口映射时,需要配置端口

陷阱:外网可以正常访问,域名配置微信平台网址成功,但是免费泛域名存在严重问题,付费的没有短期

3.

基于ngrok的国内内网穿透服务,​​免费版会强制更换域名,可以暂时使用

收费,简单易用,免费隧道,一级VIP9元一个月

官方网站:

需要配置.ini 主要

#将此文件放在同一目录中,程序将读取[]段

#命令行参数模式下,-=xxx等相同参数会覆盖本配置

#命令行参数 -= 您可以指定任何 .ini 文件

[]

= #对应一条隧道

= #对应客户端,将被忽略,如果不是请留空,

log=none #记录日志文件,可以指定本地文件,none=不记录,=直接屏幕输出,默认为none

=ERROR #日志级别 DEBUG,INFO, ,ERROR 默认为DEBUG

=#代理设置如:3128非代理用户请留空

陷阱:外网可以正常访问,域名配置微信平台URL成功,但是域名会强制更改

4. ngrok

ngrok 是一个反向代理,它在公共端点和本地运行的 Web 服务器之间建立安全通道。ngrok 可以捕获和分析所有通道上的流量,以供后续分析和响应。

开源、付费、简单易用、免费隧道、一级VIP每月10元

官方网站:

源代码:

无需配置,只需输入隧道id

陷阱:外网可以正常访问,域名配置微信平台URL可以成功,但是存在泛域现象,隧道不稳定,有时无法连通。

其他:

3322 动态域名

提供随机动态域名。

1. 未提供域名

2、免费域名解析,无需转移域名即可使用,不支持URL隐式转发。

3.动态域名解析。提供API实现。

总结:

1. 有免费的 Ngrok 和

2、微信平台开发是个坑,花生壳不能用;泛域问题严重,VIP比较贵;域名会强制更改,不稳定;Ngrok存在泛域问题,隧道不稳定。

3.如果你是在微信平台开发,先尝试一下ngrok,然后看看,最后

—————————————————

版权声明:本文为CSDN博主“菜鸟柱子”的原创文章,遵守CC 4.0 BY-SA版权协议,转载时请附上原文出处链接及本声明。

原文链接:

二维码
扫一扫在手机端查看

本文链接:https://by928.com/4179.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线