В этой статье блога мы рассмотрим различные методы проверки того, какие порты используются на вашем компьютере с Windows, с помощью мощного языка сценариев PowerShell. Независимо от того, являетесь ли вы системным администратором, разработчиком или просто любопытным пользователем, знание того, как проверять открытые порты, может помочь вам устранить проблемы, связанные с сетью, выявить потенциальные угрозы безопасности или просто лучше понять вашу систему. Итак, давайте углубимся и найдем несколько полезных команд PowerShell, чтобы увидеть используемые порты!
Метод 1: использование командлета Get-NetTCPConnection:
Один из самых простых способов проверить открытые порты в PowerShell — использовать командлет Get-NetTCPConnection. Этот командлет предоставляет комплексное представление обо всех TCP-соединениях, включая прослушиваемые и установленные соединения. Вот пример фрагмента кода:
Get-NetTCPConnection | Where-Object {$_.State -eq 'Listen'} | Select-Object LocalAddress, LocalPort
Метод 2: использование командлета Test-NetConnection:
Еще один удобный командлет в PowerShell — Test-NetConnection. Хотя его основной целью является диагностика сетевых подключений, его также можно использовать для проверки того, открыт ли определенный порт в целевой системе. Вот пример:
Test-NetConnection -ComputerName localhost -Port 80
Метод 3: использование командлета Get-Process:
Хотя командлет Get-Process не предназначен специально для проверки портов, он может быть полезен для идентификации процессов, прослушивающих определенные порты. Фильтруя выходные данные по номерам портов, вы можете получить список процессов, связанных с этими портами. Вот пример:
Get-Process -Id (Get-NetTCPConnection | Where-Object {$_.LocalPort -eq 8080}).OwningProcess
Метод 4. Использование утилиты командной строки netstat:
Хотя мы фокусируемся на PowerShell, стоит отметить, что вы также можете использовать утилиту командной строки netstat в сценарии PowerShell. Вот пример:
netstat -ano | Select-String 'LISTENING' | ForEach-Object {$_ -replace '\s+', ' '} | ConvertFrom-Csv | Select-Object Protocol, LocalAddress, LocalPort
В этой статье мы рассмотрели несколько методов проверки используемых портов с помощью PowerShell. Мы рассмотрели использование таких командлетов, как Get-NetTCPConnection и Test-NetConnection, а также командлета Get-Process и утилиты командной строки netstat. Эти методы предоставляют различные способы проверки открытых портов на вашем компьютере с Windows, что позволяет вам собирать ценную информацию о сетевых подключениях и устранять любые потенциальные проблемы.