内网穿透及常用工具集合

内网穿透及常用工具集合

一、什么叫内网穿透

内网穿透是我们在进行网络连接时的一种术语,也叫做NAT穿透,即在计算机是局域网内的时候,外网与内网的计算机的节点进行连接时所需要的连接通信,有时候就会出现内网穿透不支的情况。内网穿透的功能就是,当我们在端口映射时设置时,内网穿透起到了地址转换的功能,也就是把公网的地址进行翻译,转成为一种私有的地址,然后再采用路由的方式ADSL的宽带路由器,具有一个动态或者是固定的公网IP,最后ADSL直接在 交换机 上,这样所有的电脑都可以共享上网。内网穿透除了可以实现内网之间机器的网络通信功通之外,还可以解决UDP中出现的数据传输不稳定问题。

简单说, 就是A客户端要访问B客户端,通过一台服务器进行桥接,桥接有两种方式,一种是相互转发,另一个是告诉对方的地址,自己就当一个介绍人的角色。

二、运行原理流程图

image.png

三、使用场景

  1. 电脑A和电脑B分别在两个不同的局域网内,而这两个局域网分别在两个不同的NAPT后面,这时A和B之间如果要进行连接、通讯或传送数据,就需要借助内网穿透技术进行连接。如我们常用的远程监控软件,就需要借助内网穿透技术进行两电脑的连接。但大部分远控软件并不支持内网穿透,只能借助端口映射实现内网穿透。
  2. 假设小区局域网的主机名为A,一台具备公网IP的主机名为B。通常情况下,A能直接ping通B,而B由于不知道主机A的确定IP地址,或者A的实际地址本就是一个局域网地址,因而无法主动联系上A。不过,既然A能主动联系上B,那么是否可以先让A联系B,然后持续保持联系,在保持联系的过程中B不就能随时“主动”联系A了吗?没错,内网穿透的核心思想正是这个意思。

四、常用工具

4.1 需要实现的功能:

  1. 内网地址映射
  2. 内网端口映射
  3. 动态域名解析(DDNS)

4.2 花生壳 官网

花生壳既是内网穿透软件、内网映射软件,也是端口映射软件。规模最大,较正规,完善,使用简单但收费高。

4.3 Nat123 官网

nat123是内网端口映射与动态域名解析(DDNS)软件,在内网启动映射后,可在外网访问连接内网网站等应用。

4.4 NATAPP 官网

NATAPP基于ngrok的国内内网穿透服务,免费版会强制更换域名。

4.5 ngrok

ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。主要用途是给网站或者安装开发提供部署环境,但是也同样可以用来进行端口转发。

在这里插入图片描述

4.6 Frp 搭建方法

相比ngrok,frp内网穿透无需多复杂的配置就可以达到比较好的穿透效果,具有较强的扩展性,支持 tcp, udp, http, https 协议,并且 web 服务支持根据域名进行路由转发。此外,FRP 提供了一种新的代理类型 XTCP ,可以在传输大量数据时让流量不经过服务器中转,用于实现点对点穿透。

在了解frp原理前,首先需要理解什么是代理。

Proxy即代理,被广泛应用于计算机领域,主要分为正向代理与反向代理:

4.6.1正向代理

正向代理隐藏了真实的请求客户端。服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些上网工具扮演的就是典型的正向代理角色。用浏览器访问http://www.google.com时被阻断了,于是你可以在国外搭建一台代理服务器,让代理帮我去请求 google,代理把请求返回的相应结构再返回给我。

在这里插入图片描述

当多个客户端访问服务器时服务器不知道真正访问自己的客户端是那一台。正向代理中,proxy和client同属一个LAN,对server透明。
在这里插入图片描述

4.6.2反向代理

反向代理隐藏了真实的服务端,当我们请求 ww.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道 www.baidu.com 是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

在这里插入图片描述反向代理中,proxy和server同属一个LAN,对client透明。

在这里插入图片描述

FRP实现内网穿透,就在于使用反向代理,使得真实的服务端得以隐藏。当外部用户(client)请求访问服务端VPS的时候,服务端VPS是下图中的客户端(实质上是上图中的server)的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器(下图中的客户端)那里去。这样就实现了内网穿透。

即:
Client = 外部用户
proxy = 公网服务器(需要在服务器上搭建FRP服务端)
Server = 内网服务器(需要在服务器上搭建FRP客户端)

通过Internet 访问FRPClientproxyServer

通过Internet 访问FRP外部用户FRP服务端 公网服务器FRP客户端 内网服务器


参考链接

  1. 最好用的内网穿透工具合集
  2. 快速实现内网穿透已成功(巧妙绕过路由器)
  3. 内网穿透干货教程,1分钟极速穿透内网端口
  4. 内网穿透工具的原理与开发实战
posted @ 2021-02-17 23:34  灬丨嘎嘣脆丨灬  阅读(393)  评论(0编辑  收藏  举报