利用简单的TcP套接字来简单判断一个端口是否可用:

复制代码 代码如下:

Function Test-PortAvailable

{

    param(

    [validaterange(1,65535)]

    [int]$Port

    )

    $sockt=New-Object System.Net.Sockets.Socket -ArgumentList ‘InterNetwork’,’Stream’,’TCP’

    $ip = (Get-NetIPConfiguration).IPv4Address |

        Select -First 1 -ExpandProperty IPAddress

    $ipAddress = [Net.IPAddress]::Parse($ip)

    Try

    {

        $ipEndpoint = New-Object System.Net.IPEndPoint $ipAddress,$port

        $sockt.Bind($ipEndpoint)

        return $true

    }

    Catch [exception]

    {

        return $false

    }

    Finally

    {

        $sockt.Close()

    }

}

使用示例:

复制代码 代码如下:

PS> Test-PortAvailable -Port 102

True

PS> Test-PortAvailable -Port 1025

False

您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。