将所有流量转发到代理服务器

将所有流量转发到代理服务器

我正在尝试构建一个代理服务器,它将接收所有客户端数据包并转发到内容服务器。据我所知,代理类型是“正向代理”。在进行系统架构时,我无法回答这个问题。

代理服务器如何知道目标ip?

假设我们有一个客户端,其 IP 为 11.1.1.1,代理服务器为 12.2.2.2,而 Google 的 IP 为 13.3.3.3。

当客户端将数据包发送到代理时。数据包的源 ip 和端口为 11.1.1.1:xxxx,目标 ip 和端口为 12.2.2.2:xxxx。代理服务器如何将数据包转发到 13.3.3.3 ?

答案1

当客户端使用代理时,它会使用一种特殊的协议。如果使用 HTTP 代理,客户端会连接到代理,然后告诉代理要获取哪个 URL。然后,代理会进行名称解析并代表客户端获取内容。

在其他情况下(非 HTTP),客户端通常使用一种称为“socks”的协议,它告诉代理应连接到哪个 IP 地址和端口。然后,代理代表客户端建立连接,并将数据包从客户端传递到目标主机,反之亦然

相关内容