任何带有 TTL 的 TCP ping

Any TCP ping with TTL

我正在尝试创建一个项目来比较主要云提供商的不同数据中心上的 ping。由于 ICMP 被 Azure VM 上的负载均衡器阻止,我被迫改用 TCP ping(Win 上的 PsPing 和 UNIX 上的 paping),唯一的问题是对于每个 ping,我还需要关联的 TTL(显示为来自 bash 的标准 ping 命令:

我发现的所有不同的 TCP ping 实用程序(psping、paping...)都不提供此信息,有人知道可以解决我的问题的任何实用程序吗? 非常感谢您

更新:

我找到了 hping3,这是另一个类似的程序,它提供更多选项并显示每个 ping 的 TTL(完全符合我的要求)无论如何我注意到了一些奇怪的事情: 在图像中,在 AWS 上进行了从 eu-west-2a(伦敦)到 eu-west-3e(巴黎)的测试,而使用 ping 时,TTL 保持稳定在 48,使用 hping3 它从 46 浮动到 48,rtt 略高。 我想 rtt 的延迟是因为 TCP 开销,但我不明白为什么 ttl 不同...

如果 TTL 不同是因为数据包遵循不同的路径,这里 traceroute 是你的朋友,hping3 有一个 --traceroute 选项,可以看到不同的跃点并发现差异 (hping3 --traceroute -S -第 80 页 xxxxx)

只是猜测,也许 Azure 正在对流量做一些不同的事情,因为它具有相同的 SYN 洪水攻击模式。