Как вывести список открытых TCP-портов с помощью PowerShell?
Содержание
Команда
Просмотреть список всех открытых TCP-портов и соединений можно с помощью командлета Get-NetTCPConnection.
Get-NetTCPConnection
Если в выводе отсутствует информация о процессах (PID), к которым относятся открытые порты, достаточно просто увеличить ширину окна консоли, и выполнить команду заново.
Или можно задать автоподстройку размера вывода. Работает она в пределах разумного, за счет свободного пространства между столбцами выводимой таблицы.
При малых окнах размерах окна PowerShell, всю информацию можно получить выполнив вывод в виде списка.
Получить список прослушиваемых (ожидающих соединения) TCP-портов можно с помощью следующей команды:
Получить список TCP-портов с установленным соединением можно с помощью команды:
В стандартном выводе командлета Get-NetTCPConnection присутствуют только PID процесса, представленный полем OwningProcess. Получить более подробную информацию о процессе указанного PID можно так:
В данном примере, команда получения списка TCP-портов, встроена в команду получения списка процессов по указанному PID. Это базовый вывод, командлета Get-Process. Преобразуем вывод к формату ID-процесса, Имя процесса, Путь до исполняемого файла.
В полученном списке, можно заметить процессы с отсутствующими путями. Выполним эту же команду,в командной оболочке PowerShell, запущенной от имени администратора.
За ID-процесса (поле OwningProcess) может скрываться не просто процесс, а служба. Вывести список взаимосвязанных служб можно с помощью следующей команды:
Команда получилась длинной. Немного сократим ее за счет алиасов.
В статье рассмотрено: Как вывести список открытых TCP-портов в PowerShell? Как вывести список прослушиваемых TCP-портов в PowerShell? Как вывести список TCP-портов с установленным соединением в PowerShell? Как вывести список взаимосвязанных процессов открытых TCP-портов в PowerShell? Как вывести список взаимосвязанных служб/сервисов открытых TCP-портов в PowerShell?
Или можно задать автоподстройку размера вывода. Работает она в пределах разумного, за счет свободного пространства между столбцами выводимой таблицы.
# Вывод информации о TCP-портах с автоподстройкой размера вывода
Get-NetTCPConnection | Format-Table -AutoSize
При малых окнах размерах окна PowerShell, всю информацию можно получить выполнив вывод в виде списка.
# Вывод информации о TCP-портах в виде списка
Get-NetTCPConnection | Format-List
Список Прослушиваемых Портов
Получить список прослушиваемых (ожидающих соединения) TCP-портов можно с помощью следующей команды:
# Вывод списка прослушиваемых TCP-портов
Get-NetTCPConnection -State Listen
Список Портов с Установленным Соединением
Получить список TCP-портов с установленным соединением можно с помощью команды:
# Вывод списка TCP-портов с установленным соединением
Get-NetTCPConnection -State Established
Взаимосвязанные Процессы
В стандартном выводе командлета Get-NetTCPConnection присутствуют только PID процесса, представленный полем OwningProcess. Получить более подробную информацию о процессе указанного PID можно так:
# Вывод взаимосвязанных процессов
Get-Process -Id (Get-NetTCPConnection -State Established).OwningProcess
В данном примере, команда получения списка TCP-портов, встроена в команду получения списка процессов по указанному PID. Это базовый вывод, командлета Get-Process. Преобразуем вывод к формату ID-процесса, Имя процесса, Путь до исполняемого файла.
# Вывод пути до исполняемых файлов взаимосвязанных процессов
Get-Process -Id (Get-NetTCPConnection -State Established).OwningProcess | Format-Table Id, ProcessName, Path
В полученном списке, можно заметить процессы с отсутствующими путями. Выполним эту же команду,в командной оболочке PowerShell, запущенной от имени администратора.
Взаимосвязанные Службы
За ID-процесса (поле OwningProcess) может скрываться не просто процесс, а служба. Вывести список взаимосвязанных служб можно с помощью следующей команды:
# Вывод взаимосвязанных служб
Get-WmiObject Win32_Service | Where-Object -Property ProcessId -In (Get-NetTCPConnection).OwningProcess | Where-Object -Property State -eq Running | Format-Table ProcessId, Name, Caption, StartMode, State, Status, PathName
Команда получилась длинной. Немного сократим ее за счет алиасов.
# Вывод взаимосвязанных служб
gwmi Win32_Service | ? Proc* -In (Get-NetTCPConnection).OwningProcess | ? State -eq Running | ft Proc*,N*,Cap*,Sta*,PathN*
Итог
В статье рассмотрено: Как вывести список открытых TCP-портов в PowerShell? Как вывести список прослушиваемых TCP-портов в PowerShell? Как вывести список TCP-портов с установленным соединением в PowerShell? Как вывести список взаимосвязанных процессов открытых TCP-портов в PowerShell? Как вывести список взаимосвязанных служб/сервисов открытых TCP-портов в PowerShell?
Комментариев нет :
Отправить комментарий