Golang 查询系统正在使用的端口 | 端口占用检测
要查询系统正在使用的端口,可以使用 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 地址。
原文地址: https://www.cveoy.top/t/topic/fKGp 著作权归作者所有。请勿转载和采集!