Есть ли шанс на сервере Windows, чтобы увидеть, как долго используется TCP-порт? - PullRequest
0 голосов
/ 04 ноября 2018

У нас есть некоторые проблемы с тоннами портов TPC, висящими в состоянии TIME_WAIT на нескольких машинах Windows. Перезагрузка решает эту проблему, но меня просто интересует еще одна вещь. Есть ли способ узнать в ОС Windows, когда был открыт порт TCP или сколько дней он находится в текущем состоянии? По умолчанию -netstat не показывает никакой интересной информации.

1 Ответ

0 голосов
/ 05 ноября 2018

В Windows PowerShell (но не в PowerShell Core ), в Windows 8.1 / Windows Server 2012 R2 или более поздней версии вы можете узнать, когда было установлено соединение TCP .

Примечание : командлет Get-NetTCPConnection впервые стал доступен в Windows 8 / Windows Server 2012, но функциональность во время создания появляется только в документах 8.1 / 2012R2. ОП сообщает, что даже на 2012R2 он не работает , однако. Скажите нам, если вы знаете больше.

Следующая команда показывает все TCP-соединения в состоянии TimeWait (TIME_WAIT) в порядке возрастания (самый старый вначале):

Get-NetTCPConnection -State TimeWait | Sort-Object CreationTime | 
  Format-Table Local*, Remote*, State, CreationTime

Если вы хотите просмотреть результаты по промежутку времени (как давно они были созданы):

Get-NetTCPConnection -State TimeWait | Sort-Object CreationTime | 
  Format-Table Local*, Remote*, State, 
               @{ n='Created Ago'; e = { [datetime]::Now - $_.CreationTime } }

Примечание: используйте Select-Object вместо Format-Table, если вы хотите обработать результаты программно . Format-* командлеты предназначены только для отображения .

Однако это не скажет вам, как долго соединения были в данном состоянии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...