Golang 批量查询开放端口号

浏览:9次阅读
没有评论
内容目录

Golang 批量查询开放端口号


const timeout = time.Millisecond * 200

host := "127.0.0.1" // 要扫描的 IP
    wg := golimit.NewGoLimit(4)
    for port := 1; port <= 65535; port++ { // 遍历所有可能的端口号
        address := fmt.Sprintf("%s:%d", host, port)
        wg.Add() // 添加一个任务到 WaitGroup 中
        go func(addr string) { // 启动一个新的协程,并尝试连接该端口
            defer wg.Done() // 协程执行完毕后从 WaitGroup 中移除该任务
            conn, err := net.DialTimeout("tcp", addr, timeout)
            if err == nil { // 如果连接成功,则说明该端口处于打开状态
                fmt.Printf("Port %s is open\n", addr)
                conn.Close()}
        }(address)
    }
    wg.Wait() // 等待所有任务完成 
正文完
 0
包子
版权声明:本站原创文章,由 包子 于2025-07-25发表,共计436字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)