对某个外部地址执行 traceroute 并不会读取浏览器的 HTTP 代理设置。它跟踪的是自身探测包在 IP 层的行为。

显式正向代理会接受应用的连接,并另建一条向外的连接。因此,浏览器到代理的路径与代理到目标的路径,跟直接朝目标发出的普通探测是分开的。

你不能数一数显示出来的路由器,就因为没多出一个陌生的跳点而断定不存在 HTTP 代理。缺失的应答、隧道、过滤以及不同的探测协议会进一步限制这一推断。

把 traceroute 用在你真正要问的路径问题上。要确定某个应用的代理路由,应检查它实际生效的代理选择以及连接交换,然后在有记录时与预期的中间节点记录相互印证。

观察到的出口地址标出了另一个有用的边界,但仍然不能列出每一个中间节点。代理链路是应用层的安排;受 TTL 限制的探测并不是重建它的通用办法。

相关文章