前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用腾讯混元ai编写了一个go语言端口扫描器

用腾讯混元ai编写了一个go语言端口扫描器

原创
作者头像
qingjiegong
发布2023-12-14 00:10:41
1830
发布2023-12-14 00:10:41
举报
文章被收录于专栏:qingjiegong life

端口扫描器

代码语言:javascript
复制
package main
​
import (
    "fmt"
    "net"
    "os"
    "strconv"
    "sync"
    "time"
)
​
func main() {
    if len(os.Args) != 2 {
        fmt.Println("Usage: go run main.go <ip_address>")
        return
    }
​
    ip := os.Args[1]
    if net.ParseIP(ip) == nil {
        fmt.Println("Invalid IP address")
        return
    }
​
    var wg sync.WaitGroup
    for port := 1; port <= 65535; port++ {
        wg.Add(1)
        go func(port int) {
            defer wg.Done()
            address := ip + ":" + strconv.Itoa(port)
            conn, err := net.DialTimeout("tcp", address, 1*time.Second)
            if err != nil {
                return
            }
            defer conn.Close()
            fmt.Printf("Port %d is open\n", port)
        }(port)
    }
​
    wg.Wait()
    fmt.Println("Port scanning finished")
}
  1. 编程语言:这段代码使用了 Golang。
  2. 功能描述:这段代码实现了一个端口扫描器,用于扫描指定 IP 地址的开放端口。
  3. 输入参数及数据类型:这段代码接受一个命令行参数,即 IP 地址(字符串类型)。
  4. 预期输出结果及数据类型:这段代码将输出开放端口的编号(整数类型)。
  5. 其他相关信息:这段代码使用了 Golang 的 net 包进行网络操作,使用了并发编程来加速端口扫描过程。

生成代码
生成代码

测试

将代码编写文件:portscan.go

代码语言:javascript
复制
go run portscan.go 192.168.0.5

测试
测试

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 端口扫描器
    • 测试
    相关产品与服务
    腾讯混元大模型
    腾讯混元大模型(Tencent Hunyuan)是由腾讯研发的大语言模型,具备强大的中文创作能力,复杂语境下的逻辑推理能力,以及可靠的任务执行能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档