hybridscan

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2024 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	DisableFingerprintMatch        bool
	FingerprintMatcherConfig       *fp.Config
	FingerprintMatchQueueBuffer    int
	OpenPortTTLCache               *utils.Cache[int]
	FingerprintMatchResultTTLCache *utils.Cache[*fp.MatchResult]
	SynScanConfig                  *synscan.Config
}

func NewConfig

func NewConfig(options ...ConfigOption) *Config

func NewDefaultConfig

func NewDefaultConfig(options ...ConfigOption) (*Config, error)

func NewDefaultConfigWithSynScanConfig

func NewDefaultConfigWithSynScanConfig(synScanConfig *synscan.Config, options ...ConfigOption) (*Config, error)

type ConfigOption

type ConfigOption func(config *Config)

func WithDisableFingerprintMatch

func WithDisableFingerprintMatch(t bool) ConfigOption

func WithFingerprintMatchQueueBufferSize

func WithFingerprintMatchQueueBufferSize(size int) ConfigOption

func WithFingerprintMatchResultTTLCache

func WithFingerprintMatchResultTTLCache(ttl time.Duration) ConfigOption

func WithFingerprintMatcherConfig

func WithFingerprintMatcherConfig(c *fp.Config) ConfigOption

func WithFingerprintMatcherConfigOptions

func WithFingerprintMatcherConfigOptions(options ...fp.ConfigOption) ConfigOption

func WithOpenPortTTLCache

func WithOpenPortTTLCache(ttl time.Duration) ConfigOption

func WithSynScanConfig

func WithSynScanConfig(c *synscan.Config) ConfigOption

type HyperScanCenter

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

func NewHyperScanCenter

func NewHyperScanCenter(ctx context.Context, config *Config) (*HyperScanCenter, error)

func (*HyperScanCenter) Close

func (c *HyperScanCenter) Close()

func (*HyperScanCenter) GetFingerprintScanPool

func (c *HyperScanCenter) GetFingerprintScanPool() *fp.Pool

func (*HyperScanCenter) GetSYNScanner

func (c *HyperScanCenter) GetSYNScanner() *synscan.Scanner

func (*HyperScanCenter) RegisterMatcherResultHandler

func (c *HyperScanCenter) RegisterMatcherResultHandler(tag string, h fp.PoolCallback) error

func (*HyperScanCenter) RegisterSynScanOpenPortHandler

func (c *HyperScanCenter) RegisterSynScanOpenPortHandler(tag string, h func(ip net.IP, port int)) error

func (*HyperScanCenter) Scan

func (h *HyperScanCenter) Scan(
	ctx context.Context, target string, port string,
	shuffle bool,
	noWait bool,
	openPortCallback func(ip net.IP, port int),
) error

func (*HyperScanCenter) SetSynScanRateLimit

func (c *HyperScanCenter) SetSynScanRateLimit(ms float64, count int)

func (*HyperScanCenter) SubmitFingerprintMatchTask

func (h *HyperScanCenter) SubmitFingerprintMatchTask(ip net.IP, port int, async bool)

func (*HyperScanCenter) SubmitOpenPortScanTask

func (h *HyperScanCenter) SubmitOpenPortScanTask(target string, port string, shuffle bool, noWait bool) error

func (*HyperScanCenter) UnregisterMatcherResultHandler

func (c *HyperScanCenter) UnregisterMatcherResultHandler(tag string)

func (*HyperScanCenter) UnregisterSynScanOpenPortHandler

func (c *HyperScanCenter) UnregisterSynScanOpenPortHandler(tag string)

func (*HyperScanCenter) WaitWriteChannelEmpty

func (h *HyperScanCenter) WaitWriteChannelEmpty()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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