本机 Windows CLI 工具显示每个 IP 地址的网络利用率

本机 Windows CLI 工具显示每个 IP 地址的网络利用率

在 Windows 上:寻找命令行方式来提取正在消耗的瞬时网络吞吐量(出口和入口)。信息必须按 IP 地址分组。

它类似于 Windows 的资源监视器 -> 网络 -> 网络活动

网络活动

背景:我们有 20 台 Windows 服务器,我们希望通过获取一个月的即时样本来了解 (1) 它们给网站增加了多少网络负载,以及 (2) 它们与哪些系统进行通信/接收通信。我无法访问路由器数据(例如,没有人知道谁支持路由器)。我知道 netsh trace 可能是一种选择,但分析这种跟踪有点超出我的能力。

答案1

我在硬盘上找到了一个批处理文件,也许可以帮助你,抱歉我不记得从哪里得到它了?但无论如何,试试看:只需复制并粘贴下面的代码并将其保存为列出连接并双击执行

@echo off
Title List connections
Mode 90,42 & Color 0A
setlocal enabledelayedexpansion
Set "Log=%~dpn0.txt"
If exist "%Log%" Del "%Log%"
::Used to convert PID to process names.
for /f "tokens=1 delims=" %%A in ('tasklist') do call :PID %%A

echo [Program:PID]       LocalIP:Port      RemoteIP:Port
(echo [Program:PID]      LocalIP:Port      RemoteIP:Port & echo;)>"%Log%"

echo.
for /f "tokens=1-27 delims=: " %%A in ('netstat -ano') do call :netstat %%A %%B %%C %%D %%E %%F %%G %%H %%I %%J %%K %%L %%M %%N %%O %%P %%Q %%R %%S %%T %%U
start "log" "%Log%"
pause>nul
exit /b

:PID
   set pid_%2=%1
   exit /b

:netstat
set type=%1
set srcIP=%2
set srcPort=%3
set dstIP=%4
set dstPort=%5
set state=%6
set pid=%7
set name=!pid_%pid%!

::Filter local connections away.
if "%state%"=="" exit /b
if not "%type%"=="TCP" exit /b
if "%srcIP%"=="Local" exit /b
if "%dstIP%"=="*" exit /b
if "%srcIP%"=="%dstIP%" exit /b
if "%pid%"=="" exit /b

if "%dstPort%"=="[" (
   set state=LISTENING
   set srcPort=%dstIP%
   set pid=%9
   )
if "%dstPort%"=="[" set name=!pid_%pid%!

if "%name%"=="" set name=Unknown

::Formatting \tabs
set srcPortTab=     %srcPort%
set namePidTab=[%name%:%pid%]                               
set srcIpPortTab=%srcIP%:%srcPort%                               
set dstIpPortTab=%dstIP%:%dstPort%                               
set stateTab=%state%                               
set namePidTab=%namePidTab:~0,20%
set srcIpPortTab=%srcIpPortTab:~0,21%
set dstIpPortTab=%dstIpPortTab:~0,21%
set stateTab=%stateTab:~0,12%
set srcPortTab=%srcPortTab:~-5%

if not "%state%"=="LISTENING" echo.%namePidTab% %srcIPPortTab% %dstIPPortTab% %stateTab%
if "%state%"=="LISTENING" echo.%namePidTab% Listening on: %srcPortTab%

(
    if not "%state%"=="LISTENING" echo.%namePidTab% %srcIPPortTab% %dstIPPortTab% %stateTab%
    if "%state%"=="LISTENING" echo.%namePidTab% Listening on: %srcPortTab%
)>>"%Log%"
exit /b

相关内容