GO语言 实现端口扫描

这段代码展示了如何使用Go语言实现端口扫描功能。它包括生成IP段、端口扫描、参数传入以及将结果写入本地文件。通过接收命令行参数,它能对指定IP范围内的主机进行端口扫描并将结果分别写入ok和no的日志文件。
摘要由CSDN通过智能技术生成
//GO语言  实现端口扫描
//缺陷
//port  无法设置成全局变量不知道怎么设置的
//var l = list.New()   这个是数组操作并不是消息队列    跟消息队列功能类似

//实现功能
//实现生成 IP段
//实现端口扫描
//实现参数传入
//写入文件到本地
//main.go 58.215.20.30 58.215.201.30 80
//文件名 开始IP 结束IP 扫描端口
//QQ29295842   希望认识更多的朋友技术交流
//QQ群367196336   go   golang WEB安全开发
//  blog  http://hi.baidu.com/alalmn
package main

import (
    "container/list"
    "fmt"
    "net"
    "os"
    "strconv"
    "strings"
    "time"
)

func ip2num(ip string) int {
    canSplit := func(c rune) bool { return c == '.' }
    lisit := strings.FieldsFunc(ip, canSplit) //[58 215 20 30]
    //fmt.Println(lisit)
    ip1_str_int, _ := strconv.Atoi(lisit[0])
    ip2_str_int, _ := strconv.Atoi(lisit[1])
    ip3_str_int, _ := strconv.Atoi(lisit[2])
    ip4_str_int, _ := strconv.Atoi(lisit[3])
    return ip1_str_int<<24 | ip2_str_int<<16 | ip3_str_int<<8 | ip4_str_int
}

func num2ip(num int) str
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值