Documentation ¶
Index ¶
- Variables
- func MergeBufferDataChan(ctx context.Context, channels ...<-chan *packet.BufferData) <-chan *packet.BufferData
- type Engine
- type EngineResulter
- type GenericEngine
- type GenericEngineOption
- type IPContainer
- type IPGenerator
- type IPGetter
- type IPPort
- type OpenFileFunc
- type PacketEngine
- type PacketFiller
- type PacketGenerator
- type PacketMethod
- type PacketSource
- type PortGenerator
- type PortGetter
- type PortRange
- type Range
- type RateLimiter
- type Request
- type RequestGenerator
- func NewFileIPPortGenerator(openFile OpenFileFunc) RequestGenerator
- func NewFilterIPRequestGenerator(delegate RequestGenerator, excludeIPs IPContainer) RequestGenerator
- func NewIPPortGenerator(ipgen IPGenerator, portgen PortGenerator) RequestGenerator
- func NewIPRequestGenerator(ipgen IPGenerator) RequestGenerator
- func NewLiveRequestGenerator(rg RequestGenerator, rescanTimeout time.Duration) RequestGenerator
- type Result
- type ResultChan
- type Resulter
- type Scanner
- type WrapIP
- type WrapPort
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func MergeBufferDataChan ¶
func MergeBufferDataChan(ctx context.Context, channels ...<-chan *packet.BufferData) <-chan *packet.BufferData
generics would be helpful :)
Types ¶
type EngineResulter ¶
func NewEngineResulter ¶
func NewEngineResulter(e Engine, r Resulter) EngineResulter
func SetupPacketEngine ¶
func SetupPacketEngine(rw packet.ReadWriter, m PacketMethod) EngineResulter
type GenericEngine ¶
type GenericEngine struct {
// contains filtered or unexported fields
}
func NewScanEngine ¶
func NewScanEngine(reqgen RequestGenerator, scanner Scanner, results ResultChan, opts ...GenericEngineOption) *GenericEngine
func (*GenericEngine) Results ¶
func (e *GenericEngine) Results() <-chan Result
type GenericEngineOption ¶
type GenericEngineOption func(s *GenericEngine)
func WithScanWorkerCount ¶
func WithScanWorkerCount(workerCount int) GenericEngineOption
type IPGenerator ¶
func NewFileIPGenerator ¶
func NewFileIPGenerator(openFile OpenFileFunc) IPGenerator
func NewIPGenerator ¶
func NewIPGenerator() IPGenerator
type IPPort ¶
func (IPPort) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (IPPort) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*IPPort) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*IPPort) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type OpenFileFunc ¶
type OpenFileFunc func() (io.ReadCloser, error)
type PacketEngine ¶
type PacketEngine struct {
// contains filtered or unexported fields
}
func NewPacketEngine ¶
func NewPacketEngine(ps PacketSource, s packet.Sender, r packet.Receiver) *PacketEngine
type PacketFiller ¶
type PacketFiller interface {
Fill(packet gopacket.SerializeBuffer, r *Request) error
}
type PacketGenerator ¶
type PacketGenerator interface {
Packets(ctx context.Context, in <-chan *Request) <-chan *packet.BufferData
}
func NewPacketGenerator ¶
func NewPacketGenerator(filler PacketFiller) PacketGenerator
func NewPacketMultiGenerator ¶
func NewPacketMultiGenerator(filler PacketFiller, numWorkers int) PacketGenerator
type PacketMethod ¶
type PacketMethod interface { PacketSource packet.Processor Resulter }
type PacketSource ¶
type PacketSource interface {
Packets(ctx context.Context, r *Range) <-chan *packet.BufferData
}
func NewPacketSource ¶
func NewPacketSource(reqgen RequestGenerator, pktgen PacketGenerator) PacketSource
type PortGenerator ¶
type PortGenerator interface {
Ports(ctx context.Context, r *Range) (<-chan PortGetter, error)
}
func NewPortGenerator ¶
func NewPortGenerator() PortGenerator
type PortGetter ¶ added in v0.3.0
type RateLimiter ¶ added in v0.2.0
type RequestGenerator ¶
type RequestGenerator interface {
GenerateRequests(ctx context.Context, r *Range) (<-chan *Request, error)
}
func NewFileIPPortGenerator ¶
func NewFileIPPortGenerator(openFile OpenFileFunc) RequestGenerator
func NewFilterIPRequestGenerator ¶ added in v0.2.0
func NewFilterIPRequestGenerator(delegate RequestGenerator, excludeIPs IPContainer) RequestGenerator
func NewIPPortGenerator ¶
func NewIPPortGenerator(ipgen IPGenerator, portgen PortGenerator) RequestGenerator
func NewIPRequestGenerator ¶
func NewIPRequestGenerator(ipgen IPGenerator) RequestGenerator
func NewLiveRequestGenerator ¶
func NewLiveRequestGenerator(rg RequestGenerator, rescanTimeout time.Duration) RequestGenerator
type ResultChan ¶
func NewResultChan ¶
func NewResultChan(ctx context.Context, capacity int) ResultChan
type Scanner ¶
func NewRateLimitScanner ¶ added in v0.2.0
func NewRateLimitScanner(delegate Scanner, limiter RateLimiter) Scanner
Source Files ¶
Click to show internal directories.
Click to hide internal directories.