@@ -12,12 +12,14 @@ import (
12
12
)
13
13
14
14
// 弱口令检测
15
- func CheckWeakPassword (ip , service string , port int ) {
15
+ func CheckWeakPassword (ip , service string , port int , wg * sync.WaitGroup ) {
16
+ defer wg .Done ()
16
17
// 在弱口令检测范围就开始检测,结果....
17
18
service = strings .ToLower (service )
18
19
if pkg .Contains (ProtocolList , service ) {
19
20
//log.Println("start CheckWeakPassword ", ip, ":", port, "(", service, ")")
20
- Start (ip , port , service )
21
+ wg .Add (1 )
22
+ Start (ip , port , service , wg )
21
23
}
22
24
}
23
25
@@ -30,7 +32,8 @@ func GetAttr(att []xmlquery.Attr, name string) string {
30
32
return ""
31
33
}
32
34
33
- func DoParseXml (s string ) {
35
+ func DoParseXml (s string , wg * sync.WaitGroup ) {
36
+ defer wg .Done ()
34
37
doc , err := xmlquery .Parse (strings .NewReader (s ))
35
38
if err != nil {
36
39
log .Println (err )
@@ -47,7 +50,8 @@ func DoParseXml(s string) {
47
50
szPort := GetAttr (x .Attr , "portid" )
48
51
port , _ := strconv .Atoi (szPort )
49
52
service := GetAttr (x .SelectElement ("service" ).Attr , "name" )
50
- go CheckWeakPassword (ip , service , port )
53
+ wg .Add (1 )
54
+ go CheckWeakPassword (ip , service , port , wg )
51
55
// 存储结果到其他地方
52
56
//x9 := AuthInfo{IPAddr: ip, Port: port, Protocol: service}
53
57
if "true" == enableEsSv {
@@ -81,7 +85,8 @@ func DoNmapRst(wg *sync.WaitGroup) {
81
85
b , err := ioutil .ReadFile (x .Name ())
82
86
if nil == err && 0 < len (b ) {
83
87
//log.Println("read config file ok: ", s)
84
- DoParseXml (string (b ))
88
+ wg .Add (1 )
89
+ DoParseXml (string (b ), wg )
85
90
}
86
91
}
87
92
} else {
0 commit comments