MCPcopy Create free account
hub / github.com/code-scan/Goal / GetResult

Method GetResult

Gsensor/masscan.go:39–85  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

37}
38
39func (s *MassScan) GetResult() Result {
40 s.result = Result{}
41 if s.Type != "ports" {
42 return s.result
43 }
44
45 m := masscan.New()
46
47 // masscan可执行文件路径,默认不需要设置
48 //m.SetSystemPath("/usr/local/masscan/bin/masscan")
49
50 // 扫描端口范围
51 m.SetPorts("0-65535")
52
53 // 扫描IP范围
54 m.SetRanges(s.Domain)
55
56 // 扫描速率
57 m.SetRate("2000")
58
59 // 隔离扫描名单
60 m.SetExclude("127.0.0.1")
61
62 // 开始扫描
63 err := m.Run()
64 if err != nil {
65 fmt.Println("scanner failed:", err)
66 return s.result
67 }
68
69 // 解析扫描结果
70 results, err := m.Parse()
71 if err != nil {
72 fmt.Println("Parse scanner result:", err)
73 return s.result
74 }
75
76 for _, result := range results {
77 log.Printf("%#v", result)
78 for _, port := range result.Ports {
79 key := fmt.Sprintf("%s:%s", result.Address.Addr, port.Portid)
80 s.result[key] = port.State.State
81 }
82 }
83 log.Println(s.result)
84 return s.result
85}
86
87func (s *MassScan) Login(_ bool) bool {
88 return true

Callers 1

TestMasFunction · 0.95

Calls 1

NewMethod · 0.80

Tested by 1

TestMasFunction · 0.76