windows提供五种内置方法监控网络流量:一、设置中查30天总流量及应用明细;二、任务管理器看实时速率与进程排序;三、命令行用netstat和powershell查连接与字节统计;四、powershell调用datausage api获取小时级历史数据;五、资源监视器分析tcp/udp连接及监听端口。

一、通过Windows设置查看数据使用量
Windows 10/11 系统内置的数据使用量统计功能可显示过去30天内各网络连接(Wi-Fi、以太网)的总流量,以及每个应用的具体消耗。该功能适用于按流量计费的网络环境,帮助用户识别高耗流程序。
1、按 Win + I 打开系统设置。
2、点击“网络和Internet”选项。
3、在左侧菜单中选择“数据使用量”。
4、右侧将显示当前网络适配器的总使用量,包括 Wi-Fi 和以太网的独立统计。
5、点击“查看使用量详细信息”可列出所有已联网应用的上行与下行流量。
二、使用任务管理器监控实时流量
任务管理器提供毫秒级刷新的实时网络吞吐量视图,适合快速判断当前是否存在异常高流量进程,无需安装第三方工具。
1、按 Ctrl + Shift + Esc 打开任务管理器。
2、切换到“性能”选项卡。
3、在左侧列表中点击“以太网”或“Wi-Fi”。
4、右侧图表区域将显示实时发送/接收速率(单位:Mbps),下方“活动时间”和“链接速度”同步更新。
5、切换至“进程”选项卡,右键列标题 → 勾选“网络”,即可按当前网络占用排序进程。
三、通过命令行工具获取网络连接与流量信息
netstat 和 PowerShell 命令可在无图形界面或远程终端中提取进程级网络活动快照,支持导出分析,适合技术用户排查后台通信行为。
1、以管理员身份运行命令提示符或 PowerShell。
2、输入命令:netstat -bn,回车执行,查看所有活跃连接及其对应进程名(需注意部分系统服务可能不显示名称)。
3、若需按字节数统计各进程流量,运行:Get-NetTCPConnection | ForEach-Object { $_.OwningProcess } | Get-Process | Select-Object Name,Id,WS | Sort-Object WS -Descending(仅反映内存中网络相关工作集,非精确流量值)。
4、查看网卡累计收发总量,运行:netsh interface ipv4 show subinterfaces,其中“Bytes In/Out”字段即为自驱动加载以来的总流量。
四、使用PowerShell查询历史数据使用量
Windows 内置的 DataUsage API 可被 PowerShell 调用,获取比设置界面更精细的时间段粒度(如按小时)及多适配器并行统计,适用于脚本化监控场景。
1、以管理员身份启动 PowerShell。
2、执行命令:Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | ForEach-Object { Get-NetAdapterStatistics -Name $_.Name },获取各启用网卡的底层收发包计数。
3、执行命令:Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | ForEach-Object { Get-NetAdapterAdvancedProperty -Name $_.Name -DisplayName "*bytes*" },检查是否支持字节级硬件计数器。
4、调用 DataUsage API 获取最近24小时每小时流量:$now = Get-Date; $start = $now.AddHours(-24); Get-NetDataUsage -StartTime $start -EndTime $now(需系统启用数据使用跟踪且未重置统计)。
五、借助资源监视器分析后台网络活动
资源监视器是 Windows 自带的深度诊断工具,可展示每个进程的实时 TCP/UDP 连接、监听端口、远程地址及持续时间,有助于定位隐蔽通信源。
1、按 Ctrl + Shift + Esc 打开任务管理器。
2、点击“性能”选项卡 → 底部点击“打开资源监视器”。
3、切换到“网络”选项卡。
4、在“网络活动”表格中,勾选“显示由以下进程使用的网络”复选框,确认目标进程已列出。
5、观察“发送(B)/接收(B)”列的实时数值变化,点击列标题可排序,识别瞬时高流量进程。
6、在“监听端口”区域查看哪些进程正在监听本地端口,结合“远程地址”判断是否连接至可疑IP。










