Как мне найти слушателей TCP / UDP? (NetStat) - PullRequest
0 голосов
/ 02 мая 2018

Я пытался сделать:

  1. Add-Type -AssemblyName System.Net
  2. Add-Type -Path "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Net.dll"
  3. [System.Reflection.Assembly]::LoadWithPartialName("system.net")
  4. add-type -path "C:\Windows\assembly\GAC_MSIL\System.Net\3.5.0.0__b03f5f7f11d50a3a\System.Net.dll"

Все из них, кажется, успешно и не выдают ошибку. Тем не менее, [net] (или [System.Net]) все еще дает

Невозможно найти тип [net]: убедитесь, что загружена сборка, содержащая этот тип.

Нет ли способа использовать эти классы из Powershell или как я тогда называю участников? Я не знаю, действительно ли system.net будет иметь то, что я хочу, но я пытаюсь выяснить, как использовать классы .Net в Powershell.


Я пытаюсь получить список портов TCP или UDP, которые прослушивает машина, чтобы избежать необходимости создавать какую-либо программу для анализа вывода netstat.

1 Ответ

0 голосов
/ 03 мая 2018

Основано на вашем комментарии:

На самом деле я пытаюсь получить список портов TCP или UDP, которые прослушивает машина, чтобы избежать необходимости создавать какую-либо программу для анализа вывода netstat

Я нашел этот ответ на основе C # :

$Properties = [Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties()

$Connections = $Properties.GetActiveTcpConnections()
ForEach ($Conn in $Connections)
{
    "$($Conn.LocalEndPoint) <==> $($Conn.RemoteEndPoint)"
}

И далее, основываясь на этом ответе , вы можете найти всех слушателей с помощью метода GetActiveTcpListeners():

$Listeners = $Properties.GetActiveTcpListeners()

Более подробную информацию об этом объекте можно найти здесь.

...