试图帮助某些人在几分钟后TCP连接被神秘地丢弃的情况下没有明显的原因(即使非空闲连接也会发生这种情况)。 运行Linux的客户端和服务器都在这种情况之外。
有充分理由怀疑之间的一些故障路由器正在做(有一些NAT涉及)。
如何find哪个路由器正在断开连接?
像tcptraceroute任何工具,但会保持TCP连接打开,并继续探测,直到它被丢弃? (在这一点上,我们知道谁是罪魁祸首)
我之前曾经说过,追寻既定的联系是不可能的。
但是,这是错误的。
lcamtuf创build了0trace工具,该工具允许使用匹配已build立连接的数据包进行TCP跟踪。
有一个叫做intrace的改进版本,还有Jon Oberheide的Python版本 。
其思想是嗅探指定连接的数据包,然后注入匹配TCP序列号的数据包,同时增加TTL(就像通常的traceroute一样)。
有几次尝试和一些运气,你可能能够find开始丢弃数据包的跳,因为这跳也将丢弃你的跟踪数据包。