我如何找出哪个进程正在耗尽所有 TCP 连接?

我如何找出哪个进程正在耗尽所有 TCP 连接?

我只能按字节、端口或协议排序,而不能按连接数排序。

图片

答案1

打开命令提示符窗口as administrator

从那里输入以下命令:

netstat -b -a

这将为您提供所有开放端口及其相关进程的列表。

如果需要更多信息,请输入以下内容:

netstat -b -a -o

-o 将显示进程 ID,您可以在任务管理器的进程选项卡中查找该进程 ID,或者如果您需要终止该进程,您只需在命令提示符中输入以下内容即可:

taskkill /PID xxxx

xxxx您使用 netstat 找到的进程 ID 在哪里。

答案2

微软提供了TCP查看器工具将为您提供有关进程的 TCP 连接的信息。您可能能够通过该工具的图形用户界面 (GUI) 版本判断哪个进程具有最多的连接,但要获取每个进程的连接数,我建议使用命令行实用程序 tcpvcon,它包含在您可以从 Microsoft TechNet 站点下载的 TCPView zip 文件中。从命令提示符运行带有选项的命令-c,这将创建一个逗号分隔值 (CSV) 文件。

c:\Program Files (x86)\TCPView>tcpvcon -c > %userprofile%\documents\tcpconnections.csv

上述命令将把 tcpvcon 的输出存储在您运行该命令的帐户的配置文件目录下的文档目录中名为 tcpconnections.csv 的文件中,例如,C:\Users\JDoe\Documents\tcpconnections.csv如果您从用户 ID 为 JDoe 的帐户运行该命令。

然后,您可以使用 Microsoft Excel(免费的OpenOffice Calc电子表格程序,免费,在线Google 表格或其他电子表格程序。

CSV 文件将包含以下列:

A: TCP
B: Process Name
C: Process ID (PID)
D: State of connection, e.g. "WAIT", "ESTABLISHED", etc.
E: Address for local, source side of TCP connection
F: Address for remote side of the TCP connection

您可以使用 Excel 或其他程序(如 Calc)的步骤来计算列表中每个进程名称出现的次数,然后对列表进行排序,这些程序可以使用与 Excel 相同的公式,如下所示:

在下一个空列的第一行 G1 中输入=COUNTIF($B$1:$B$196,"="&$B1)。将电子表格中实际的行数替换为 196。例如,如果 CSV 文件中有 205 行,请使用该数字而不是 196。该单元格中显示的数字将是列表中流程名称的出现次数。然后将该公式复制到所有行。然后对 G 列进行排序。参见如何在 Excel 中按最常见值对数据进行排序?如果您需要对所用公式的解释

答案3

Microsoft 网络监视器是一个数据包分析器。它能够捕获、查看和分析网络数据并解密网络协议。它可用于排除网络问题和网络上的应用程序故障。

在此处输入图片描述

如何开始使用该程序的简单指南:

按“新建捕获”。按“开始”。等待几分钟以填充网络日志,然后单击“进程”以检查有多少个网络连接。

Microsoft 网络监视器然而旧版本已被取代微软消息分析器。但是它不像这个版本那么用户友好并且安装大小从~10mb 增加到~200mb。

相关内容