GO语言 实现端口扫描

//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

你可能感兴趣的:(GO语言 实现端口扫描)