从命令行获取网络利用率

从命令行获取网络利用率

在 Windows 任务管理器中有一个方便的网络选项卡,它显示连接的网络适配器的链接速度和网络利用率(可用带宽的百分比):

任务管理器截图

有没有办法通过命令行获取这些信息?

答案1

有大量的命令行选项可以提供有关网络使用情况的信息。 处理了这个问题,那里的答案与当前 OP 有很大的重叠。其中许多答案没有提供 OP 所要求的带宽使用百分比。

  1. 选项Wireshark已在上面给出。

  2. typeperf(Windows 本机)也相关,带有一些选项。 typeperf -q "Network Interface"列出所有对象。然后,使用typeperf "\Network Interface(*)\...以下选项:

    \Network Interface(*)\Current Bandwidth
    \Network Interface(*)\Bytes Total/sec
    \Network Interface(*)\Bytes Received/sec
    \Network Interface(*)\Bytes Sent/sec
    \Network Interface(*)\Packets/sec
    \Network Interface(*)\Packets Received/sec
    \Network Interface(*)\Packets Sent/sec
    

    请注意,公式是((Total Bytes/Sec * 8)/current bandwidth) * 100。其他有用的选项:

    \Network Interface(*)\Packets Received Unicast/sec
    \Network Interface(*)\Packets Received Non-Unicast/sec
    \Network Interface(*)\Packets Received Discarded
    \Network Interface(*)\Packets Received Errors
    \Network Interface(*)\Packets Received Unknown
    \Network Interface(*)\Packets Sent Unicast/sec
    \Network Interface(*)\Packets Sent Non-Unicast/sec
    \Network Interface(*)\Packets Outbound Discarded
    \Network Interface(*)\Packets Outbound Errors
    \Network Interface(*)\Output Queue Length
    \Network Interface(*)\Offloaded Connections
    

    您可以使用标志-sc <samples>(指定要收集的样本数。默认是收集数据,直到按下 CTRL+C),请参阅官方文档.
    标志-o <filename>(指定输出文件的路径,或者 SQL 数据库。默认为 STDOUT(写入命令窗口)。)也可能有用。

  3. 给出了一个有趣的脚本,可以定制它以提供各种信息并对其进行格式化这里

答案2

无需通过 PowerShell 安装任何东西即可完成此操作。

您可以使用以下方法查看每个适配器的总速度和名称:

Get-NetAdapter

然后,您可以获取名称并将其输入到唯一 ID 中,然后使用以下命令查看传入流量的数量:

Get-Counter "\Network Interface(<unique id>)\Bytes Received/sec"

如果您想要传出流量或总流量,请使用:

Get-Counter "\Network Interface(<unique id>)\Bytes Sent/sec"
Get-Counter "\Network Interface(<unique id>)\Bytes Total/sec"

您还可以通过添加以下内容来衡量一段时间内的使用情况:

-SampleInterval 3 -MaxSamples 5

查看帮助页面了解更多信息。

答案3

安装Wireshark并使用tshark收集统计数据:

tshark -z <statistics>

您可以使用netstat

netstat -a -n

或者typeperf

typeperf "Network Interface(*)\Current Bandwidth"
typeperf "Network Interface(*)\Bytes Total/sec"

相关内容