如何找到 TCP/UDP 侦听器?(网络统计)



我尝试过做:

  1. Add-Type -AssemblyName System.Net
  2. Add-Type -Path "C:Program FilesReference AssembliesMicrosoftFrameworkv3.5System.Net.dll"
  3. [System.Reflection.Assembly]::LoadWithPartialName("system.net")
  4. add-type -path "C:WindowsassemblyGAC_MSILSystem.Net3.5.0.0__b03f5f7f11d50a3aSystem.Net.dll"

所有这些似乎都成功并且不会产生错误。然而,[net](或[System.Net](仍然给予

找不到类型 [net]:确保已加载包含此类型的程序集。

是否无法从 Powershell 使用这些类,或者如何调用成员?我不知道 system.net 是否真的会得到我想要的东西,但我正在尝试弄清楚如何在Powershell中使用.Net类。


我正在尝试获取机器正在侦听的TCP或UDP端口列表,以避免必须创建一些程序来解析netstat输出。

根据您的评论:

我实际上正在尝试获取机器正在侦听的TCP或UDP端口列表,以避免必须创建一些程序来解析netstat输出

我根据 C# 找到了这个答案:

$Properties = [Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties()
$Connections = $Properties.GetActiveTcpConnections()
ForEach ($Conn in $Connections)
{
"$($Conn.LocalEndPoint) <==> $($Conn.RemoteEndPoint)"
}

进一步基于这个答案,您可以使用GetActiveTcpListeners()方法找到所有听众:

$Listeners = $Properties.GetActiveTcpListeners()

有关此对象的更多信息,请参阅此处。

最新更新