一位客户请我查看他们的 Windows 2008 服务器,因为它运行速度极慢。该服务器在 Windows 防火墙后面运行(是的,我知道),我相信服务器上运行的应用程序受到了滥用。
如果我进入资源监视器并查看“网络”>“TCP 连接”,我可以看到应用程序的 TCP 连接数量非常高。但是我想按 IP 地址对这些连接进行分组,这样我就可以追踪滥用服务器的人。
有什么办法可以做到这一点?
答案1
看起来上面的评论已经非常彻底地研究了 netstat,如果您可以轻松地启动它,这是一个非常有希望的途径。
另一种方法是通过监控网络流量,无论是在盒子本身还是在路由器/交换机上。NetFlow/IPFIX/J-flow/sFlow 等流格式都可用于获取主机之间通信的摘要,并且是确定谁在建立最多连接或使用系统上最多带宽的常用方法。它有点像网络的电话账单:您可以获得主机、端口以及每个会话的数据包/字节数。然后,您可以非常轻松地统计出谁在做什么。
您需要两样东西才能使其工作:一个流量导出器(如果您无法轻松地从交换机/路由器获取流量,那么可能有六个免费的 Windows 流量导出器可以在机器上直接运行;Google 会很容易地找到它们)和一个流量收集器(同上)用于接收流量记录并将它们放入您可以使用的格式。
与使用 netstat 相比,这样做的工作量更大,但我认为答案会更明确——您将获得通过 IP 地址访问的次数和时间戳以及字节量,这足以找出正确的罪魁祸首。