如何确定哪个进程/活动/软件/协议导致单台计算机上的 LAN 速度变慢

如何确定哪个进程/活动/软件/协议导致单台计算机上的 LAN 速度变慢

关于调试我们的商业局域网的问题我已经能够精确地找出一台导致我们网络速度变慢的计算机。

当计算机打开并连接到网络时,大约 5% 的所有站点交互(即点击网站中的链接)的速度会大大减慢,有时需要 40 秒才能呈现页面,而不是通常的一两秒。

当我们断开计算机连接时,网络负载顺利进行。

我们有一个托管的思科催化剂交换机、一个思科 ASA-5505 防火墙,以及一些监控工具(wireshark 和 nmap)。

该计算机充当照片服务器(使用 iPhoto)并在我们网络的计算机之间传输一些信息。

我怎样才能追踪和/或监控我的网络或计算机活动,以便让我知道在连接到网络的单台确定的计算机上,哪个进程/协议/活动正在减慢网络速度?

答案1

对于单台计算机来说,通常你会想要一台数据包捕获然后对数据包捕获进行一些分析,包括以下内容:

  • 协议解析
  • 每秒数据包数
  • 顶级发送者、接收者等

我建议使用wireshark或者可能Microsoft 网络监视器。使用网络监视器,您将获得捕获过程的细分,这可能会有所帮助(如果您恰好使用 Windows):

在此处输入图片描述

您可能希望以管理员权限来运行它。

NIC 也可能出现故障。因此,请检查交换机端该接口的数据包速率和各种错误计数器。您还可以使用交换机的“端口监视器”功能来监视交换机端口。如果发生这种情况,我预计 LAN(即计算机到计算机)的速度会变慢,而不仅仅是 Internet。

答案2

您没有提到有问题的机器的操作系统?所以我将从 GNU/Linux 发行版(如 Debian)的角度来回答,尽管部分答案是多平台的。

如上所述,iptraf(8) 或Wireshark会告诉您哪些 IP/端口有问题,但不会告诉您哪些应用程序生成了它们。您可以使用 netstat(8) 检查:

netstat -tupn

(它会向您显示哪个程序使用了哪个端口,但通常仅限于那些较长的连接)。

不过,我建议使用以下工具ntop以获得更简单的概览。

另外,ifconfig(8) 会告诉您是否有错误、载体、溢出问题等等。如果有,请尝试更换有问题的机器上的电缆、交换机上的端口或(最终)网卡(或其驱动程序)。

答案3

你说这台电脑是 iPhoto 服务器,我怀疑你启用了 iCloud 或系统中其他类似的云备份,正在上传你的整个照片库。由于上传过度,导致部分下载停滞,因为一些 tcp ack 数据包丢失。这就可以解释你的 800gb 了。

我会用 wireshark 捕获数据包来查看数据流向何处,然后寻找罪魁祸首。

答案4

我使用的路由器/防火墙是 Mikrotik,下面的屏幕截图来自我的 Mikrotik 路由器上的一个叫 Torch 的工具。我不确定在 Cisco 中如何做到这一点,但我不得不相信有一个类似的东西。

如图所示,我正在过滤 LAN 接口 (ether-2) 上的流量,其来源是 192.xx7。在这种情况下,我将在连接关闭后保持 30 秒(进入超时值),但在像您这样的情况下,可能会将其设置为几个小时。最有趣的信息是目标 IP 地址和端口。

在路由器上使用这样的工具,我可以准确地看到每个主机:端口和协议发送/接收的流量。由于您已经确定了有问题的机器,我会过滤到该机器的 IP(就像我在图片中所做的那样)。然后,按 Rx Rate 排序,您会看到正在发生的最大上传量以及它们来自和去往的端口。使用众所周知的端口,我可以缩小范围,找到导致问题的应用程序。如果不是众所周知的端口或出于其他原因,您可以在机器上运行 netstat 以查看哪个应用程序正在使用该端口(不同的操作系统使用不同的开关,因此只需查找它或指定您的操作系统,我会尝试回答。)

这比在 wireshark 中捕获帧(需要集线器或混合端口才能这样做)然后分析它们要快得多/容易得多,并且在许多情况下,这会让您得到答案或大部分答案。

我没有足够的声望点来附加图像,所以这里有一个从我的服务器上获取它的链接: https://gofile.me/2dNUM/226jmtoI

抱歉,我不得不隐藏这么多信息,但我想你会明白的。

相关内容