![Собственный инструмент Windows CLI для отображения использования сети по IP-адресу](https://rvso.com/image/1606670/%D0%A1%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20Windows%20CLI%20%D0%B4%D0%BB%D1%8F%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%81%D0%B5%D1%82%D0%B8%20%D0%BF%D0%BE%20IP-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D1%83.png)
В Windows: Поиск способа командной строки для извлечения мгновенной пропускной способности сети (исходящей и входящей) потребляется. Информация должна быть сгруппирована по IP-адресам.
Это похоже на Монитор ресурсов Windows -> Сеть -> Сетевая активность.
Предыстория: У нас есть 20 серверов Windows, и мы хотели бы понять (1) какую нагрузку на сеть они добавляют сайту, и (2) с какими системами они взаимодействуют, делая мгновенные выборки в течение одного месяца. У меня нет доступа к данным маршрутизатора (например, никто не знает, кто поддерживает маршрутизатор). Я понимаю, что netsh trace может быть вариантом, но анализ такого следа немного выше моего понимания.
решение1
Я нашел на своем жестком диске пакетный файл, может быть он вам поможет, извините, я не помню, откуда я его взял? Но в любом случае, просто попробуйте: Просто скопируйте и вставьте этот код ниже и сохраните его какСписок_подключений.batи выполнить двойным щелчком
@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