小编And*_*rew的帖子

如何诊断 Internet 路径上的网络损坏?

我在网络 A 上运行了几台主机,这些主机向网络 B 上的服务器(我不拥有)发出请求,该服务器位于 Internet 的某处。不幸的是,这些请求中的许多都被破坏了。如果我通过未加密的 HTTP 发出请求,我会收到暗示请求损坏的奇怪错误。如果我通过 HTTPS 发出请求,则会收到 SSL 级别的错误。我可以通过运行来重现问题:

sh -e -c 'while true; do curl $SERVER > /dev/null; sleep 1; done'
Run Code Online (Sandbox Code Playgroud)

通常在 20 个请求内,curl 失败并显示“未知 SSL 协议错误”或“tlsv1 警报解密错误”等错误。我可以在网络 A 中的多个主机上重现这个,访问网络 B 上的多个服务器。但我无法从网络 A 复制到其他服务器,或从其他主机复制到网络 B。在这些情况下,循环将永远运行而不会出错。

所以很明显我的 TCP 流在 A 和 B 之间被破坏了。顺便说一下,这已经持续了 3 天多。

第一个问题:这怎么可能发生?TCP 具有数据包级校验和,通过校验和的损坏数据包应该比我看到的要少得多。此外,如果我运行网络捕获,我不会看到很多重新传输(根据wireshark 的 tcp.analysis.retransmit 过滤器),如果数据包被损坏并且 TCP 校验和失败,您会期望这些。我想某些路由器必须进行更高级别的数据处理(NAT?透明代理?)并破坏数据但修复校验和?

第二个问题:我可以使用任何工具来隔离问题吗?我找不到任何。如果我知道网络拓扑结构并且可以在 A 和 B 之间的每一跳后面找到 HTTPS 服务器,我就可以对它们进行测试。但我没有。还有哪些测试会显示网络损坏?

我已经联系了网络 A 和网络 B 的所有者,但到目前为止他们没有帮助。

更新:对于任何建议路径中可能存在哪种错误设备的人,除了联系所有者之外,还有其他方法可以检测到这种情况吗?

networking internet https corruption tcp

6
推荐指数
1
解决办法
3586
查看次数

Exim:如何关闭转发邮件的 DKIM?

我按照文档在 Exim 中配置了 DKIM 用于发送邮件。Exim 签署所有外发邮件。但由于用户的.forward文件,其中一些传出的消息会被转发。这对我来说是一个问题,因为其中一些转发是垃圾邮件(我的 exim 配置不进行任何验证),我不想对它们承担责任。但我不知道如何配置 Exim 不签署这些消息。

我的配置基本上是 Debian Squeeze 默认配置,设置了一些DKIM_*宏。我可以发布更多详细信息,但我认为看到任何有条件 DKIM 签名的示例都会让我正确。

exim dkim

2
推荐指数
1
解决办法
2233
查看次数

标签 统计

corruption ×1

dkim ×1

exim ×1

https ×1

internet ×1

networking ×1

tcp ×1