58 lines
1.3 KiB
Go
Raw Normal View History

2017-11-15 19:38:42 +09:00
package model
type DiscoveryZone struct {
ExcludePatterns []string `json:"excludePatterns"`
DiscoveryHost *DiscoveryHost `json:"discoveryHost"`
}
type DiscoveryHost struct {
FirstScanRange string `json:"firstScanRange"`
LastScanRange string `json:"lastScanRange"`
ExcludeHosts []string `json:"excludeHosts"`
2017-11-22 14:55:40 +09:00
IncludeHosts []string `json:"includeHosts"`
2017-11-15 19:38:42 +09:00
DiscoveryPort *DiscoveryPort `json:"discoveryPort"`
}
type DiscoveryPort struct {
FirstScanRange int `json:"firstScanRange"`
LastScanRange int `json:"lastScanRange"`
ExcludePorts []int `json:"excludePorts"`
2017-11-21 14:31:17 +09:00
IncludeTCP bool `json:"includeTCP"`
IncludeUDP bool `json:"includeUDP"`
2017-11-15 19:38:42 +09:00
DiscoveryService *DiscoveryService `json:"discoveryService"`
}
2017-11-22 15:33:41 +09:00
func (dp *DiscoveryPort) Contains(port int) bool {
2017-11-22 19:04:04 +09:00
if dp.FirstScanRange > port {
2017-11-22 15:33:41 +09:00
return false
}
2017-11-22 19:04:04 +09:00
if dp.LastScanRange < port {
2017-11-22 15:33:41 +09:00
return false
}
for _, p := range dp.ExcludePorts {
if p == port {
return false
}
}
return true
}
2017-11-15 19:38:42 +09:00
type DiscoveryService struct {
IncludeServices []string `json:"includeServices"`
}
/*
Dzone --> zone --> Dhost --> host --> Dport --> port --> Dservice --> service
zone --> Dhost --> host --> Dport --> port --> Dservice --> service
host --> Dport --> port --> Dservice --> service
port --> Dservice --> service
*/