具有实际 TCP 会话的 TCP Traceroute

网络工程 通讯协议 跟踪路由 拥塞
2021-07-09 17:05:40

有没有人找到一种工具,可以通过实际建立的 TCP 会话执行 TCP 跟踪路由?如果需要,我可以在每一端启动一个服务器/客户端。tcptraceroute & mtr 不是这里的候选对象。(tcptraceroute 的文档指出,“值得注意的是,tcptraceroute 从未与目标主机完全建立 TCP 连接。”)

在我的情况下,TCP traceroutes w/mtr 没有显示沿路径的任何数据包丢失或拥塞,但 iperf3 服务器和客户端之间的实际会话确实在某些会话中显示服务器和客户端之间的路径拥塞,其中 TCP 数据包比简单的 SYN 数据包。

我的理论是中间的路径在 TCP 层运行并且是负载均衡的。我猜想单个 TCP 会话在其生命周期内固定在单个设备上。如果我可以使用一种工具来建立真正的连接,然后逐步更改 IP 数据包标头上的 TTL(不操作 TCP 标头),我就可以确定会话是否真的固定在中间的某个地方,以及中间的可能哪个设备是负责拥塞问题。

1个回答

听起来 Scapy 可能正是您要找的。是如何更改数据包中的 TTL的示例