-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnmap.go
95 lines (91 loc) · 2.6 KB
/
nmap.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package main
import "encoding/xml"
type Port struct {
Protocol string `xml:"protocol,attr"`
Portid string `xml:"portid,attr"`
State struct {
State string `xml:"state,attr"`
Reason string `xml:"reason,attr"`
ReasonTtl string `xml:"reason_ttl,attr"`
} `xml:"state"`
Service struct {
Name string `xml:"name,attr"`
Method string `xml:"method,attr"`
Conf string `xml:"conf,attr"`
} `xml:"service"`
}
type Host struct {
Starttime string `xml:"starttime,attr"`
Endtime string `xml:"endtime,attr"`
Status struct {
State string `xml:"state,attr"`
Reason string `xml:"reason,attr"`
ReasonTtl string `xml:"reason_ttl,attr"`
} `xml:"status"`
Address struct {
Addr string `xml:"addr,attr"`
Addrtype string `xml:"addrtype,attr"`
} `xml:"address"`
Hostnames struct {
Hostname struct {
Name string `xml:"name,attr"`
Type string `xml:"type,attr"`
} `xml:"hostname"`
} `xml:"hostnames"`
Ports struct {
Port []Port `xml:"port"`
} `xml:"ports"`
Times struct {
Srtt string `xml:"srtt,attr"`
Rttvar string `xml:"rttvar,attr"`
To string `xml:"to,attr"`
} `xml:"times"`
}
type NmapOutput struct {
XMLName xml.Name `xml:"nmaprun"`
Scanner string `xml:"scanner,attr"`
Args string `xml:"args,attr"`
Start string `xml:"start,attr"`
Startstr string `xml:"startstr,attr"`
Version string `xml:"version,attr"`
Xmloutputversion string `xml:"xmloutputversion,attr"`
Scaninfo struct {
Type string `xml:"type,attr"`
Protocol string `xml:"protocol,attr"`
Numservices string `xml:"numservices,attr"`
Services string `xml:"services,attr"`
} `xml:"scaninfo"`
Verbose struct {
Level string `xml:"level,attr"`
} `xml:"verbose"`
Debugging struct {
Level string `xml:"level,attr"`
} `xml:"debugging"`
HostHints []struct {
Status struct {
State string `xml:"state,attr"`
Reason string `xml:"reason,attr"`
ReasonTtl string `xml:"reason_ttl,attr"`
} `xml:"status"`
Address struct {
Addr string `xml:"addr,attr"`
Addrtype string `xml:"addrtype,attr"`
} `xml:"address"`
Hostnames string `xml:"hostnames"`
} `xml:"hosthint"`
Hosts []Host `xml:"host"`
Runstats struct {
Finished struct {
Time string `xml:"time,attr"`
Timestr string `xml:"timestr,attr"`
Summary string `xml:"summary,attr"`
Elapsed string `xml:"elapsed,attr"`
Exit string `xml:"exit,attr"`
} `xml:"finished"`
Hosts struct {
Up string `xml:"up,attr"`
Down string `xml:"down,attr"`
Total string `xml:"total,attr"`
} `xml:"hosts"`
} `xml:"runstats"`
}