Documentation
¶
Index ¶
Constants ¶
View Source
const ( NetworkUDP = "udp" NetworkTCP = "tcp" )
Variables ¶
This section is empty.
Functions ¶
func AutoDiscover ¶
func AutoDiscover(ctx context.Context, proto ProtocolSpecificDiscovery, params Params) []sdkModel.DiscoveredDevice
AutoDiscover probes all addresses in the configured network to attempt to discover any possible devices for a specific protocol
Types ¶
type Params ¶
type Params struct { // Subnets is a slice of CIDR formatted subnets to scan Subnets []string // ScanPorts is a slice of ports to scan for on each host. The first port is done synchronously // to test if the host is reachable, and any ports after that are done async. ScanPorts []string // AsyncLimit is the maximum amount of hosts to probe simultaneously. This does not include // any async scanning for multiple ports on the same host. AsyncLimit int // NetworkProtocol is the type of probe to make: tcp, udp, etc. NetworkProtocol string // Timeout is the maximum amount of time to wait when connecting to a host before giving up. Timeout time.Duration // Logger is a generic logging client for this code to log messages to. Logger logger.LoggingClient }
Params is the input configuration for a Discovery Net Scan
type ProbeResult ¶
type ProbeResult struct { // Host is the IP address that was probed Host string // Port is the port that was probed Port string // Data is the generic response details captured by the ProtocolSpecificDiscovery code // to be used to further process the result. Data interface{} }
ProbeResult holds the pre-processed information about a discovered device
type ProtocolSpecificDiscovery ¶
type ProtocolSpecificDiscovery interface { // ProbeFilter takes in a host and a slice of ports to be scanned. It should return a slice // of ports to actually scan, or a nil/empty slice if the host is to not be scanned at all. // Can be used to filter out known devices from being probed again if required. ProbeFilter(host string, ports []string) []string // OnConnectionDialed handles the protocol specific verification if there is actually // a valid device or devices at the other end of the connection. OnConnectionDialed(host string, port string, conn net.Conn, params Params) ([]ProbeResult, error) // ConvertProbeResult takes a raw ProbeResult and transforms it into a // processed DiscoveredDevice struct. ConvertProbeResult(probeResult ProbeResult, params Params) (sdkModel.DiscoveredDevice, error) }
Click to show internal directories.
Click to hide internal directories.