拥有一个在某些 PC 上可以正常打开的外部网站,但在其他 PC 上似乎超时(或超时的症状,但实际上从未发生过)。
似乎只影响(某些)我们较新的HP Pro 3305 MT 工作站。所有这些都运行带有所有更新的 Win7 32 位 SP1。较旧的 PC(Win7 32 位 SP1 和 WinXP)不受影响。
使用 Google Chrome 和 Firefox 没有区别。在 IE9 兼容模式下打开网站具有完全相同的症状。
所有 PC 都在同一个本地网络(工作组)上,在同一个子网上的同一个互联网连接上使用同一个 DNS 服务器和网关(内部)。没有代理服务器,没有内容过滤,没有负载平衡等等。只有有效的组策略(本地)用于更新调度。本地防火墙都是一样的(卡巴斯基 WP4),我们面向外部的防火墙没有 IP 特定设置。
我无法控制外部网站,traceroute 在所有 PC 上显示相同的目的地。这是我们行业(园艺)中一个相当受欢迎的网站,我不知道有任何其他人(甚至我们姐妹公司的其他网站)有同样的问题。
更新: 使用 Fiddler2 监控 HTTP 请求,似乎由于某种原因没有得到满足?!
请求发送:
GET http://www.rhs.org.uk/ HTTP/1.1
Host: www.rhs.org.uk
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
从请求的 Fiddler 2 登录:
This session is not yet complete. Press F5 to refresh when session is complete for updated statistics.
Request Count: 1
Bytes Sent: 567 (headers:567; body:0)
Bytes Received: 0 (headers:0; body:0)
ACTUAL PERFORMANCE
--------------
ClientConnected: 17:02:33.720
ClientBeginRequest: 17:02:39.118
GotRequestHeaders: 17:02:39.118
ClientDoneRequest: 17:02:39.118
Determine Gateway: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 46ms
HTTPS Handshake: 0ms
ServerConnected: 17:02:39.165
FiddlerBeginRequest: 17:02:39.165
ServerGotRequest: 17:02:39.165
ServerBeginResponse: 00:00:00.000
GotResponseHeaders: 00:00:00.000
ServerDoneResponse: 00:00:00.000
ClientBeginResponse: 00:00:00.000
ClientDoneResponse: 00:00:00.000
RESPONSE BYTES (by Content-Type)
--------------
~headers~: 0
来自工作 PC 的成功请求的日志(今天早上完成,请原谅时间戳与上面不同):
Request Count: 1
Bytes Sent: 493 (headers:493; body:0)
Bytes Received: 20,413 (headers:525; body:19,888)
ACTUAL PERFORMANCE
--------------
ClientConnected: 08:22:47.766
ClientBeginRequest: 08:22:47.766
GotRequestHeaders: 08:22:47.766
ClientDoneRequest: 08:22:47.766
Determine Gateway: 0ms
DNS Lookup: 26ms
TCP/IP Connect: 30ms
HTTPS Handshake: 0ms
ServerConnected: 08:22:47.828
FiddlerBeginRequest: 08:22:47.828
ServerGotRequest: 08:22:47.828
ServerBeginResponse: 08:22:48.905
GotResponseHeaders: 08:22:48.905
ServerDoneResponse: 08:22:48.905
ClientBeginResponse: 08:22:48.905
ClientDoneResponse: 08:22:48.905
Overall Elapsed: 00:00:01.1388020
RESPONSE BYTES (by Content-Type)
--------------
text/html: 19,888
~headers~: 525
所以我的问题演变成了:
这 2 个请求有什么区别,我如何确定为什么 1 台 PC 没有收到对其 GET 请求的回复?
更新 2:
请参阅下面的答案。我将来可能会接受它,但如果无法重现问题(或修复),我想保留这个问题。
如果您想知道 HTTP GET 请求的区别,请从 OWASP 下载 ZAP(Zed 攻击代理)或其他一些代理,以便您在将每个数据包发送到服务器之前对其进行检查。这将回答“2 个请求之间有什么区别”的问题。
如果请求相同,请尝试另一个 NIC。
您的 NIC 很可能是板载的。尝试安装带有适当驱动程序的 PCI NIC,看看是否可以。此时听起来像是硬件/驱动程序问题。
我以前从未使用过 Fiddler,但基于在失败场景中未设置的“ServerGotRequest”意味着以下三种情况之一:
我知道这是一个托管服务器,您是否有权查看服务器日志或在其上运行嗅探器(即 WireShark)以在测试时捕获数据?如果是这样,请查看服务器日志文件是否有任何错误,并运行嗅探器,直到在工作站出现故障情况,然后查看服务器是否收到完整响应并尝试响应。
之后,检查 Kapersky 防火墙日志以查看它是否丢弃了任何数据包。是否可以在防火墙前设置一个嗅探器,看看服务器的响应是否能返回那么远?如果它进入防火墙,并且卡巴斯基没有注意到丢弃任何东西,则可以安全地假设它通过了。
在这些测试期间,我建议在其中一台失败的机器上运行 WireShark。它将显示出站连接,此外还应显示 NIC 收到的任何响应。如果是 NIC 问题,嗅探器跟踪应该会显示正在接收的数据包,您可以从那里确定是否需要更新 NIC 和/或驱动程序。
由于您无法将嗅探器附加到防火墙外部,因此您需要与您的 ISP 合作,让他们设置监控离开路由器但从未收到响应的数据包。
一旦 ISP 确认或驳斥了您关于数据包去向的假设,有两种选择: 选项 1:数据包到达防火墙,但在网络连接尝试失败期间不会传到 ISP。选项 2:数据包通过防火墙进入 ISP 网络,但从未收到响应。
如果可能,选项 1 可能最容易更换和/或重新安装防火墙。如果它是 ISP 提供的设备,您需要让他们保存当前配置,但在新系统上应用非常基本的配置以确保它不是与配置相关的问题。
选项 2 会很好,因为它将问题交给他们来解决,但如果他们没有时间研究它,那么你就会坚持他们的答案。在这种情况下,可能是它离开了他们的网络并转到了他们的 Internet 提供商 - 进入了另一个试图追踪数据包死亡位置的蠕虫罐头。
您能否确认工作机器中的网卡与非工作机器中的网卡是否是同一品牌/型号。您还可以确认您的 ipv6 在所有机器上都是相同的吗(在内部 lan 上我会完全禁用 ipv6)。同样作为最后的检查 - 确保主机文件中没有任何可能停止网络访问的内容(c:\windows\drivers\etc)
您已经排除了浏览器和硬件(使用 live cd)这一事实让我认为它一定与网络适配器相关。
如果这一切都失败了——一定要换硬盘,看看问题出在硬盘还是网卡上。
我会比较有问题的系统上的网络掩码和网关地址,并将其与工作系统进行比较。
我以前见过这个问题,这就是原因——一个错误的(但仍然有点工作)网关地址。
从基础开始——您有两个不同系列的机器,它们可能有两个不同系列的 NIC。双方是否准备好进行自动协商?如果是,他们是否就适当的速度达成一致?尝试对双方进行硬编码作为实验,看看它是否有任何改进(..或者如果它目前在任何一方都进行了硬编码,那么让双方协商)。
之间有很大的差距
...和...
您丢失数据包或客户端安全软件已损坏。使用 Wireshark 测试前者是微不足道的 - 即使您没有看到更少的数据包(重新传输),您也可以确定注入延迟的方向性。
从今天早上开始,这个问题已经“解决”了。
我曾(通过电子邮件)与Piers Karsenbarg就几种不同的解决途径进行过合作,但都无济于事。网站上没有任何变化,机器上也没有任何变化——除了一些 Windows 更新。非常感谢 Piers 参与了这个问题并花费了大量的宝贵时间来解决它!
Piers 将我链接到这个,它在这些有问题的机器上具有所有症状(但没有任何原因)(即没有 Type 1 字体)。但有可能是 Windows 更新(或某些 Adobe 更新)解决了这个问题——我正在考虑更换或删除 Type 1 字体。可以在此处和此处找到更多信息。