前话
最近痴迷于Golang这个新兴语言,因为它是强类型编译型语言,可以直接编译成三大平台的二进制执行文件,可以直接运行无需其他依赖环境。而且Golang独特的goroutine使得多线程任务执行如new一个对象般简单。
带着为学习理解Golang的好奇心情,我试着写了个端口扫描器。
github项目链接如下, 更多的实用工具我会慢慢添加。
https://github.com/pwcong/go-tools
源码
package main
import (
"flag"
"fmt"
"net"
"os"
"regexp"
"strconv"
"strings"
"sync"
)
var port int
var portRange string
var parallelCounts int
func init() {
flag.IntVar(&port, "p", 80, "port")
flag.StringVar(&portRange, "r&