Herramienta CLI nativa de Windows para mostrar la utilización de la red por dirección IP

Herramienta CLI nativa de Windows para mostrar la utilización de la red por dirección IP

En Windows: se está consumiendo la búsqueda de una forma de línea de comando para extraer el rendimiento instantáneo de la red (salida y entrada). La información debe agruparse por direcciones IP.

Sería similar al Monitor de recursos de Windows -> Red -> Actividad de red

Actividad de red

Antecedentes: Tenemos 20 servidores Windows que nos gustaría comprender (1) cuánta carga de red agrega al sitio y (2) con qué sistemas se comunica hacia/desde, tomando muestras instantáneas durante un período de uno. mes. No tengo acceso a los datos del enrutador (p. ej., nadie sabe quién admite el enrutador). Entiendo que netsh trace podría ser una opción, pero analizar dicho rastro está un poco fuera de mi alcance.

Respuesta1

Encontré en mi disco duro un archivo por lotes, tal vez pueda ayudarte, lo siento, no recuerdo de dónde lo saqué. pero de todos modos, inténtalo: simplemente copia y pega este código a continuación y guárdalo comoLista_Conexiones.baty ejecutar haciendo doble clic

@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

información relacionada