overflow_discovery/api/module/discovery/model/discovery.go
crusader 40f2ebad23 ing
2017-11-22 19:04:04 +09:00

58 lines
1.3 KiB
Go

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"`
IncludeHosts []string `json:"includeHosts"`
DiscoveryPort *DiscoveryPort `json:"discoveryPort"`
}
type DiscoveryPort struct {
FirstScanRange int `json:"firstScanRange"`
LastScanRange int `json:"lastScanRange"`
ExcludePorts []int `json:"excludePorts"`
IncludeTCP bool `json:"includeTCP"`
IncludeUDP bool `json:"includeUDP"`
DiscoveryService *DiscoveryService `json:"discoveryService"`
}
func (dp *DiscoveryPort) Contains(port int) bool {
if dp.FirstScanRange > port {
return false
}
if dp.LastScanRange < port {
return false
}
for _, p := range dp.ExcludePorts {
if p == port {
return false
}
}
return true
}
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
*/