### 正向代理和反向代理区别

**正向代理 (Forward Proxy)**

**正向代理**是我们通常所说的代理，它代理的是**客户端**的请求。在内网渗透中，正向代理通常用于让内网主机（客户端）访问外部网络资源

**渗透中的应用场景**

当你成功控制了一台内网主机，但它无法直接访问互联网时，你可以利用另一台可以访问互联网的内网主机作为正向代理。这样，被控制的主机就可以通过这个代理访问你部署在公网的服务器，从而进行数据传输或下载恶意文件

**举例说明**

想象一下，你控制了内网中的一台主机 **A**，而你的攻击机 **C** 在公网。主机 **A** 无法直接访问互联网，但内网中有一台主机 **B** 可以访问。你可以在主机 **B** 上搭建一个正向代理，让主机 **A** 的流量都通过 **B** 转发到公网，从而连接到你的攻击机 **C**

**反向代理 (Reverse Proxy)**

**反向代理**代理的是**服务器**的请求。它位于服务器的前端，将来自客户端的请求转发给后端的服务器。在内网渗透中，反向代理常用于将公网的流量转发到内网中的某台主机，从而实现公网与内网的通信

**渗透中的应用场景**

当你需要让公网的攻击机（客户端）主动连接到内网中的一台主机（服务器）时，反向代理就非常有用了。特别是当内网主机没有公网 IP，或由于防火墙、NAT 等原因无法直接从公网访问时，你可以在一台具有公网 IP 的服务器上设置反向代理

**举例说明**

假设你的攻击机 **C** 在公网，你成功让内网中的主机 **A** 运行了你的木马程序。但主机 **A** 无法直接接收来自公网的连接。这时，你可以在公网的服务器 **S** 上设置反向代理。让主机 **A** 主动连接到服务器 **S**，然后服务器 **S** 将来自你攻击机 **C** 的流量转发给主机 **A**。这样，你的攻击机 **C** 就能控制主机 **A**，即使它没有公网 IP

| 特性     | 正向代理（Forward Proxy） | 反向代理（Reverse Proxy）    |
| -------- | ------------------------- | ---------------------------- |
| 代理对象 | 客户端（内网主机）        | 服务器（内网主机）           |
| 流量方向 | 从内网到公网              | 从公网到内网                 |
| 目的     | 帮助内网主机访问外部资源  | 帮助外部主机访问内网资源     |
| 代理位置 | 通常在内网中              | 通常在公网中或内网与公网边界 |
| 常用工具 | proxychains, ssh -D       | frp, ngrok, reGeorg          |