【问题标题】:How to check open ports using powershell?如何使用 powershell 检查打开的端口?
【发布时间】:2013-10-06 20:54:23
【问题描述】:

我想编写一个脚本来检查随机 IP 或主机名以查看端口是否打开。这是我到目前为止所拥有的。脚本名称是 checkports。

foreach ($xhost in $computername){
    Write-Host $xhost
    foreach ($port in $ports) {
        $Socket = New-Object System.Net.Sockets.TCPClient            
        $Connection = $Socket.BeginConnect($xhost,$port,$null,$null) 

        $Connection.AsyncWaitHandle.WaitOne(5000,$false) | out-null

        if ($Connection -eq $true)
            { write-host = "$xhost port $port is open" }
        else
            { write-host = "port $port is closed" }      

        $Socket.EndConnect($Connection)
        $Socket.Close()
   }
}

我想通过以下方式输入值: .\checkport '192.186.1.5' 或者 '192.168.1.5', '192.168.1.105', 192.168.1.110' |检查端口

它似乎没有读取 IP 地址或显示结果。

我想知道是否有人可以指出那里可以告诉我我在这个脚本中做错了什么?

【问题讨论】:

  • Thisthis 可能会有所帮助。
  • 你能显示你的脚本参数块吗?
  • 1. WaitOne 的返回值将告诉您等待是否已完成或超时:但您正在将其丢弃。 2.既然要屏蔽,为什么不使用屏蔽Socket.Connect
  • 这是一个带有 powershell 脚本的要点,用于检查开放端口 gist.github.com/dhcgn/44acdddbaea24d2f367d85a00389368c

标签: powershell port network-scan


【解决方案1】:

我已经能够将 Boe Prox 的“测试端口”功能用于类似的扫描/报告功能,代码可在 PoshCode 上获得:

http://poshcode.org/2514

当我需要测试端口的目录运行状况时,我构建了一个包含“端口”和“协议”列的 csv,然后为每个端口添加端口号/协议以进行检查。这在以下脚本中使用:

. .\test-port.ps1

$computersToCheck = get-content .\computers.txt
$portList = Import-CSV .\portList.csv

foreach($entry in $portList)
{
    $testPortParams = @{
        port = $($entry.port)
    }   
    if( $($entry.protocol) -eq "tcp")
    { $testPortParams += @{ TCP = $true } }
    else
    { $testPortParams += @{ UDP = $true } }

    $outLog = "portTest-$($entry.port)-$($entry.protocol).txt"

    $computersToCheck | 
        Test-Port @testPortParams |
        Sort-Object -Property open,name -descending | 
        format-table -auto -outVariable status
    Add-Content -path $outLog -value $status 
}

您当然可以构建一个 feeder 脚本来构建要扫描的 IP 地址和端口范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-02
    • 2011-08-18
    • 2020-05-16
    • 2013-01-23
    • 2012-08-03
    • 2012-10-19
    • 2013-10-12
    相关资源
    最近更新 更多