要查询系统正在使用的端口,可以使用 net 包中的 Dial 函数来尝试连接指定的 IP 地址和端口。如果连接成功,则说明该端口正在被使用。

以下是一个示例代码,用于查询系统中正在使用的端口:

package main

import (
	"fmt"
	"net"
)

func main() {
	for port := 1; port <= 65535; port++ {
		address := fmt.Sprintf("localhost:%d", port)
		conn, err := net.Dial("tcp", address)
		if err == nil {
			fmt.Printf("Port %d is open\n", port)
			conn.Close()
		}
	}
}

该代码会从端口 1 开始,依次尝试连接到本地主机的每个端口。如果连接成功,则打印出该端口正在使用。

请注意,该代码只能查询本地主机上的端口使用情况。如果要查询远程主机的端口使用情况,需要将 address 变量中的 localhost 替换为远程主机的 IP 地址。

Golang 查询系统正在使用的端口 | 端口占用检测

原文地址: https://www.cveoy.top/t/topic/fKGp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录