首先第一个问题:什么是内网,什么是外网?

内网是指在一个组织或机构内部建立的私有网络,通常用于内部通信和数据共享。例如公司内的无线网络,仅限于组织内部使用,外部无法直接访问。并且通常具有防火墙等安全措施保护。其范围可以覆盖一个办公室、大楼或整个企业。主要用于内部文件共享、邮件系统、内部应用等。

外网是指全球范围的公共网络,任何人都可以通过互联网服务提供商(ISP)接入即全球用户均可访问。其信息自由流动,但存在安全风险。用于浏览网页、电子邮件、社交媒体等。

主要区别

访问权限:内网仅限于内部人员,外网对所有人开放。

安全性:内网更安全,外网风险较高。

范围:内网限于局部,外网覆盖全球。

理解这两者的区别有助于更好地理解内网穿透。

第二个问题:什么是内网穿透?

内网穿透(NAT Traversal)是一种技术,用于使外部网络能够访问位于内网(通常是经过NAT设备)中的设备或服务。由于内网设备通常使用私有IP地址,且受到NAT(网络地址转换)和防火墙的保护,外部网络无法直接访问这些设备。内网穿透技术通过一些方法绕过这些限制,实现外部网络与内网设备的通信。

内网穿透的常用方法

端口映射(Port Forwarding):在路由器上配置,将外部网络的特定端口请求转发到内网中的某个设备。例如,将外部访问路由器的8080端口的请求转发到内网中IP为192.168.1.100的设备的80端口。

VPN(虚拟专用网络):通过VPN将外部设备接入内网,使其像在内网中一样访问内网资源。例如,员工通过VPN连接到公司内网,访问内部文件服务器。

STUN(Session Traversal Utilities for NAT):用于帮助设备发现其公网IP和端口,以便建立直接通信。常用于P2P应用,如视频通话。

TURN(Traversal Using Relays around NAT):当直接通信不可行时,通过中继服务器转发数据。适用于复杂的NAT环境。

UPnP(Universal Plug and Play):允许内网设备自动配置路由器的端口映射。例如,智能家居设备通过UPnP自动打开路由器端口以便远程控制。

反向代理:反向代理(Reverse Proxy)是一种服务器架构模式,位于客户端和目标服务器之间,接收客户端请求并转发给目标服务器,然后将目标服务器的响应返回给客户端。客户端并不知道实际处理请求的是目标服务器,而是认为反向代理就是最终的服务器。例如,使用Ngrok将本地开发环境暴露到公网。

其中利用ngrok是内网穿透的常用方法之一

Ngrok进行内网穿透的原理

Ngrok 是一种常用的内网穿透工具,它通过建立一个安全的隧道,将本地服务器暴露到公网,使外部网络能够访问内网中的服务。

Ngrok 的原理基于反向代理和隧道技术,以下是其工作原理的详细说明:

1.Ngrok 客户端与服务器建立连接

用户在本地运行Ngrok客户端,并指定需要暴露的本地端口(例如 8080)。Ngrok客户端与Ngrok的云服务器建立一条安全的隧道(通常基于 HTTPS 或 TLS)。

2.分配公网地址

Ngrok 服务器为客户端分配一个唯一的公网地址(例如 https://abcd1234.ngrok.io)。这个公网地址是外部用户访问本地服务的入口。

3.请求转发

当外部用户访问 Ngrok 提供的公网地址时,请求首先到达 Ngrok 服务器。Ngrok 服务器通过之前建立的隧道,将请求转发到本地运行的 Ngrok 客户端。Ngrok 客户端再将请求发送到本地指定的端口(例如 8080)。

4.响应返回

本地服务器处理请求并生成响应。响应通过 Ngrok 客户端发送到 Ngrok 服务器,再由 Ngrok 服务器返回给外部用户。

利用Ngrok进行内网渗透的例子详见下列文章

kali实现user定位-CSDN博客 

更多推荐