一文讲透所有网络穿透(篇一)
字数 1504 2025-08-23 18:31:34

网络穿透技术详解:端口转发篇

网络穿透概述

网络穿透技术主要用于解决IPv4地址枯竭导致的NAT环境下的通信问题,在渗透测试、异地组网、远程办公、开发测试环境管理等方面有广泛应用。

主要技术分类

  1. 端口转发:将流量从一个IP地址和端口转发到另一个IP地址和端口
  2. 端口映射:端口转发的一种实现方式,主要用于NAT和PAT
  3. 网络代理:代理客户端请求,可进行内容过滤和缓存
  4. 网络隧道:通过加密和封装技术在网络间创建安全连接
  5. VPN:使用网络隧道技术在公网上创建虚拟专用网络
  6. 异地组网:使用VPN技术连接不同地理位置的网络

NAT类型与穿透难度

STUN标准将NAT分为四种类型,穿透难度递增:

  1. 全锥形NAT(Full Cone NAT)

    • 任何外部主机知道NAT的公共IP和端口即可通信
    • STUN支持程度最高,穿透最容易
  2. 受限锥形NAT(Restricted Cone NAT)

    • 只有先前从内网发送过数据的外部主机可通信
    • STUN支持程度较高,穿透相对容易
  3. 端口受限锥形NAT(Port Restricted Cone NAT)

    • 只有先前从内网发送过数据的外部主机的特定端口可通信
    • STUN支持程度中等,穿透较难
  4. 对称NAT(Symmetric NAT)

    • 每个外部主机和端口请求分配不同的映射公共端口
    • STUN支持程度最低,穿透非常困难,通常需要TURN服务器

SSH端口转发详解

SSH提供三种端口转发方式,功能强大且安全。

1. 本地端口转发(Local Port Forwarding, LPF)

功能:将本地端口绑定到SSH服务器上的远程端口

命令格式

ssh -L [本地端口]:[目标主机]:[目标端口] [SSH用户]@[SSH服务器]

常用选项

  • -N:不执行远程命令
  • -f:将SSH进程放入后台
  • -C:启用压缩

两种转发模式

  1. 转发到远程主机的localhost:

    ssh -L 123:localhost:456 remotehost
    
    • 本地端口123 → SSH隧道 → remotehost的localhost:456
  2. 转发到远程主机可访问的其他主机:

    ssh -L 123:farawayhost:456 remotehost
    
    • 本地端口123 → SSH隧道 → remotehost → farawayhost:456

应用场景

  • 通过跳板机访问内网服务
  • 安全访问远程服务

2. 远程端口转发(Remote Port Forwarding, RPF)

功能:将远程端口绑定到本地或本地网络中的端口

命令格式

ssh -R [远程端口]:[目标主机]:[目标端口] [SSH用户]@[SSH服务器]

两种转发模式

  1. 转发到本地主机的localhost:

    ssh -R 123:localhost:456 remotehost
    
    • 远程端口123 → SSH隧道 → 本地localhost:456
  2. 转发到本地网络中的其他主机:

    ssh -R 123:nearhost:456 remotehost
    
    • 远程端口123 → SSH隧道 → 本地网络nearhost:456

应用场景

  • 将内网服务暴露到公网
  • 反向连接场景

3. 动态端口转发(Dynamic Port Forwarding, DPF)

功能:创建SOCKS代理,动态转发所有流量

命令格式

ssh -D [本地端口] [用户@远程主机]

工作原理

  1. 建立SSH连接
  2. 在本地创建SOCKS代理
  3. 应用程序流量通过代理→SSH隧道→远程主机→目标服务器

应用场景

  • 绕过防火墙限制
  • 匿名浏览
  • 访问区域限制服务

Windows端口转发工具

netsh端口转发

Windows系统自带的网络配置工具,可用于端口转发。

图形化工具
PortProxyGUI - netsh的图形化界面工具,简化配置过程。

总结

端口转发是网络穿透的基础技术,SSH提供的三种转发方式可以满足大多数场景需求:

  • 本地转发:正向代理模式,通过跳板访问内网
  • 远程转发:反向代理模式,暴露内网服务
  • 动态转发:全流量代理,灵活访问各类资源

理解NAT类型对选择穿透方案至关重要,全锥形NAT最容易穿透,对称NAT最难穿透通常需要中继服务器。

网络穿透技术详解:端口转发篇 网络穿透概述 网络穿透技术主要用于解决IPv4地址枯竭导致的NAT环境下的通信问题,在渗透测试、异地组网、远程办公、开发测试环境管理等方面有广泛应用。 主要技术分类 端口转发 :将流量从一个IP地址和端口转发到另一个IP地址和端口 端口映射 :端口转发的一种实现方式,主要用于NAT和PAT 网络代理 :代理客户端请求,可进行内容过滤和缓存 网络隧道 :通过加密和封装技术在网络间创建安全连接 VPN :使用网络隧道技术在公网上创建虚拟专用网络 异地组网 :使用VPN技术连接不同地理位置的网络 NAT类型与穿透难度 STUN标准将NAT分为四种类型,穿透难度递增: 全锥形NAT(Full Cone NAT) 任何外部主机知道NAT的公共IP和端口即可通信 STUN支持程度最高,穿透最容易 受限锥形NAT(Restricted Cone NAT) 只有先前从内网发送过数据的外部主机可通信 STUN支持程度较高,穿透相对容易 端口受限锥形NAT(Port Restricted Cone NAT) 只有先前从内网发送过数据的外部主机的特定端口可通信 STUN支持程度中等,穿透较难 对称NAT(Symmetric NAT) 每个外部主机和端口请求分配不同的映射公共端口 STUN支持程度最低,穿透非常困难,通常需要TURN服务器 SSH端口转发详解 SSH提供三种端口转发方式,功能强大且安全。 1. 本地端口转发(Local Port Forwarding, LPF) 功能 :将本地端口绑定到SSH服务器上的远程端口 命令格式 : 常用选项 : -N :不执行远程命令 -f :将SSH进程放入后台 -C :启用压缩 两种转发模式 : 转发到远程主机的localhost: 本地端口123 → SSH隧道 → remotehost的localhost:456 转发到远程主机可访问的其他主机: 本地端口123 → SSH隧道 → remotehost → farawayhost:456 应用场景 : 通过跳板机访问内网服务 安全访问远程服务 2. 远程端口转发(Remote Port Forwarding, RPF) 功能 :将远程端口绑定到本地或本地网络中的端口 命令格式 : 两种转发模式 : 转发到本地主机的localhost: 远程端口123 → SSH隧道 → 本地localhost:456 转发到本地网络中的其他主机: 远程端口123 → SSH隧道 → 本地网络nearhost:456 应用场景 : 将内网服务暴露到公网 反向连接场景 3. 动态端口转发(Dynamic Port Forwarding, DPF) 功能 :创建SOCKS代理,动态转发所有流量 命令格式 : 工作原理 : 建立SSH连接 在本地创建SOCKS代理 应用程序流量通过代理→SSH隧道→远程主机→目标服务器 应用场景 : 绕过防火墙限制 匿名浏览 访问区域限制服务 Windows端口转发工具 netsh端口转发 Windows系统自带的网络配置工具,可用于端口转发。 图形化工具 : PortProxyGUI - netsh的图形化界面工具,简化配置过程。 总结 端口转发是网络穿透的基础技术,SSH提供的三种转发方式可以满足大多数场景需求: 本地转发:正向代理模式,通过跳板访问内网 远程转发:反向代理模式,暴露内网服务 动态转发:全流量代理,灵活访问各类资源 理解NAT类型对选择穿透方案至关重要,全锥形NAT最容易穿透,对称NAT最难穿透通常需要中继服务器。