如何在不改变原始数据包的 IP 地址/TCP 端口的情况下在 Charles 中重写代理 HTTP 请求?

如何在不改变原始数据包的 IP 地址/TCP 端口的情况下在 Charles 中重写代理 HTTP 请求?

我正在使用 Charles 拦截并重写代理 HTTP 请求中的某个查询,如下所示:

HTTP 请求 --->> 代理程序 --->> Charles Socks 代理 ---->> HTTP 代理 --->> HTTP 服务器

问题在于,在重写 HTTP 请求后,Charles 会直接将其发送到 HTTP 服务器,而忽略这些请求是通过代理发送的。我在 Wireshark 中比较了原始的代理 HTTP 请求(未经 Charles 拦截)和 Charles 重写的 HTTP 请求,发现 HTTP 代理 IP/端口已更改为 HTTP 服务器 IP/端口!这肯定是由于 Charles 根据 HTTP 服务器主机名进行了不必要的 DNS 查找造成的,如何解决这个问题?

相关内容