获取本地IP,然后在Powershell中测试端口443侦听

获取本地IP,然后在Powershell中测试端口443侦听,powershell,Powershell,这就是我要做的。。。我想运行一个脚本,枚举系统上侦听端口443的所有本地IP,并导出这些IP的列表 以下是我目前掌握的情况: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress 然而,输出是这样的: IPAddress

这就是我要做的。。。我想运行一个脚本,枚举系统上侦听端口443的所有本地IP,并导出这些IP的列表

以下是我目前掌握的情况:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress
然而,输出是这样的:

IPAddress                                                                                                                                                                             
---------                                                                                                                                                                             
{10.206.147.139, 10.206.147.138, 10.206.147.137, 10.206.147.136...}                                                                                                                   
{172.18.4.24}  

如何获得完整格式的列表(不使用“…”截断)。还有,有没有办法去掉括号,这样我就有了一个逗号分隔的列表?我想我可以从那里应付。一如既往,谢谢你

您可以尝试使用.Net套接字连接到端口443:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter 'IPEnabled=TRUE' | Select -ExpandProperty IPAddress | % {
   $Socket = New-Object Net.Sockets.TcpClient
   $Socket.Connect($_, 443)
   If ($Socket.Connected) {
      $Socket.Close()
      Write-host "$port open on $_"
   }
}

您可以尝试使用.Net套接字连接到端口443:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter 'IPEnabled=TRUE' | Select -ExpandProperty IPAddress | % {
   $Socket = New-Object Net.Sockets.TcpClient
   $Socket.Connect($_, 443)
   If ($Socket.Connected) {
      $Socket.Close()
      Write-host "$port open on $_"
   }
}

所以我想出来了

gwmi Win32_NetworkAdapterConfiguration |
    Where { $_.IPAddress } | # filter the objects where an address actually exists
    Select -Expand IPAddress | # retrieve only the property *value*
    Where { $_ -like '10.*.*' }

所以我想出来了

gwmi Win32_NetworkAdapterConfiguration |
    Where { $_.IPAddress } | # filter the objects where an address actually exists
    Select -Expand IPAddress | # retrieve only the property *value*
    Where { $_ -like '10.*.*' }

不幸的是,对于每个IP,即使是没有绑定端口443的IP,也会返回“打开”…尝试远程连接,而不是本地连接(在这种情况下,您可能还需要
Try Catch
)。不幸的是,对于每个IP,即使是没有绑定端口443的IP,也会返回“打开”…尝试远程连接,而不是本地(在这种情况下,您可能还需要一个
Try Catch
)。