scanner

package
v0.0.0-...-a1daeb6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2021 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const PROC_PATH = "/proc"

Variables

This section is empty.

Functions

This section is empty.

Types

type ARPDiscovery

type ARPDiscovery struct {
	ScannerEvents
	// contains filtered or unexported fields
}

func NewARPDiscovery

func NewARPDiscovery() (ARPDiscovery, error)

func (*ARPDiscovery) Discover

func (discovery *ARPDiscovery) Discover() error

type Host

type Host struct {
	HardwareAddr net.HardwareAddr
	IP           net.IP
	Hostname     string
	LastResponse time.Time
}

func NewHost

func NewHost(ip net.IP) *Host

func NewOnlineHost

func NewOnlineHost(ip net.IP) *Host

func (*Host) Identifier

func (h *Host) Identifier() string

func (*Host) IsOnline

func (h *Host) IsOnline() bool

func (*Host) String

func (h *Host) String() string

func (*Host) Update

func (h *Host) Update(host *Host) *Host

type HostFoundHandler

type HostFoundHandler func(host *Host)

type HostUpdatePublisher

type HostUpdatePublisher struct {
	// contains filtered or unexported fields
}

func (*HostUpdatePublisher) NotifySubscribers

func (hp *HostUpdatePublisher) NotifySubscribers(h *Host)

func (*HostUpdatePublisher) Subscribe

func (hp *HostUpdatePublisher) Subscribe(s HostUpdateSubscriber)

func (*HostUpdatePublisher) Unsubscribe

func (hp *HostUpdatePublisher) Unsubscribe(s HostUpdateSubscriber)

type HostUpdateSubscriber

type HostUpdateSubscriber interface {
	Update(*Host) *Host
}

type HostsStorage

type HostsStorage struct {
	HostUpdatePublisher HostUpdatePublisher
	// contains filtered or unexported fields
}

func NewHostsStorage

func NewHostsStorage() HostsStorage

func (*HostsStorage) GetHosts

func (hs *HostsStorage) GetHosts() []*Host

func (*HostsStorage) Update

func (hs *HostsStorage) Update(h *Host) (retHost *Host)

type MultipleRanges

type MultipleRanges struct {
	// contains filtered or unexported fields
}

func (*MultipleRanges) Append

func (r *MultipleRanges) Append(_r Range)

func (*MultipleRanges) CreateIterator

func (r *MultipleRanges) CreateIterator() RangeIterator

type MultipleRangesIterator

type MultipleRangesIterator struct {
	// contains filtered or unexported fields
}

func (*MultipleRangesIterator) GetNext

func (iterator *MultipleRangesIterator) GetNext() net.IP

func (*MultipleRangesIterator) HasNext

func (r *MultipleRangesIterator) HasNext() bool

type PingScanner

type PingScanner struct {
	ScannerEvents
	// contains filtered or unexported fields
}

func NewPingScanner

func NewPingScanner() *PingScanner

func (*PingScanner) AddHost

func (scanner *PingScanner) AddHost(ip *net.IPAddr)

func (*PingScanner) Scan

func (scanner *PingScanner) Scan(network Range) error

func (*PingScanner) SetICMP

func (scanner *PingScanner) SetICMP(useICMP bool)

type Range

type Range interface {
	CreateIterator() RangeIterator
}

type RangeIterator

type RangeIterator interface {
	HasNext() bool
	GetNext() net.IP
}

type ScanEndedHandler

type ScanEndedHandler func()

type Scanner

type Scanner interface {
	Scan(Range) error
	SetHostFoundHandler(handler HostFoundHandler)
	SetScanEndedHandler(handler ScanEndedHandler)
}

type ScannerEvents

type ScannerEvents struct {
	// contains filtered or unexported fields
}

func (*ScannerEvents) InitEmpty

func (se *ScannerEvents) InitEmpty()

func (*ScannerEvents) SetHostFoundHandler

func (se *ScannerEvents) SetHostFoundHandler(handler HostFoundHandler)

func (*ScannerEvents) SetScanEndedHandler

func (se *ScannerEvents) SetScanEndedHandler(handler ScanEndedHandler)

type TwoPointsRange

type TwoPointsRange struct {
	// contains filtered or unexported fields
}

func ParseCIDR

func ParseCIDR(cidr string) (*TwoPointsRange, error)

func (*TwoPointsRange) CreateIterator

func (r *TwoPointsRange) CreateIterator() RangeIterator

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL