config

package
v0.0.0-...-20b731c Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2018 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	BaseOutputDirectory         string // Base directory where transient files are kept
	GeneratedModelDirectory     string // Subdirectory where statistical models are kept
	CandidateAddressDirectory   string // Subdirectory where generated candidate addressing are kept
	PingResultDirectory         string // Subdirectory where results of ping scans are kept
	NetworkGroupDirectory       string // Subdirectory where results of grouping live hosts are kept
	NetworkScanTargetsDirectory string // Subdirectory where the addresses to scan for blacklist checks are kept
	NetworkScanResultsDirectory string // Subdirectory where the results of scanning blacklist candidate networks are kept
	NetworkBlacklistDirectory   string // Subdirectory where network range blacklists are kept
	CleanPingResultDirectory    string // Subdirectory where cleaned ping results are kept
	AliasedNetworkDirectory     string // Subdirectory where aliased network results are kept
	BloomFilterDirectory        string // Subdirectory where the Bloom filter is kept
	StateFileName               string // The file name for the file that contains the current state
	TargetNetworkFileName       string // The file name for the file that contains the last network that was targeted

	GenerateAddressCount int   // How many addressing to generate in a given iteration
	GenerateFirstNybble  uint8 // The first nybble of IPv6 addressing to generate

	ModelDefaultWeight uint64 // The default weight to give to model probability maps

	AddressFilterSize      uint    // The size of the Bloom filter to use for identifying already guessed addresses
	AddressFilterHashCount uint    // The number of hashing functions to use for the address Bloom filter
	BloomEmptyMultiple     float64 // The multiple of the address generation size upon which the Bloom filter should be emptied and remade

	NetworkGroupingSize     uint8   // The bit-length of network size to use when checking for many-to-one
	NetworkPingCount        int     // The number of addressing to try pinging when testing for many-to-one
	NetworkBlacklistPercent float64 // The percentage of ping results that, if returned positive, indicate a blacklisted network

	BlacklistFlushInterval int // The frequency with which to write newly-generate blacklist candidate addresses to disk

	LogToFile         bool   // Whether or not to write log results to a file instead of stdout
	LogFilePath       string // The local file path to where log files should be written
	LogFileMBSize     int    // The max size of each log file in MB
	LogFileMaxBackups int    // The maximum number of backups to have in rotating log files
	LogFileMaxAge     int    // The maximum number of days to store log files
	CompressLogFiles  bool   // Whether or not to compress log files
	LogLoopEmitFreq   int    // The general frequency with which logs should be emitted in long loops

	ZmapExecPath      string // Local file path to the Zmap executable
	ZmapBandwidth     string // Bandwidth cap for Zmap
	ZmapSourceAddress string // Source IPv6 address for Zmap

	ExportEnabled    bool // Whether or not to export data to S3
	ExitOnFailedSync bool // Whether or not to exit the program if an S3 sync fails

	AWSBucketRegion string // The region where the AWS S3 bucket resides
	AWSBucketName   string // The name of the bucket to push to
	AWSAccessKey    string // The AWS access key to use
	AWSSecretKey    string // The AWS secret key to use

	CleanUpEnabled bool // Whether or not to delete non-recent files after a run

	MetricsStateLoopPrefix string // The prefix for the state loop metric
	ExitOnFailedMetrics    bool   // Whether or not to exit the program when a metrics operation fails
	MetricsToStdout        bool   // Whether or not to print metrics to Stdout
	MetricsStdoutFreq      int64  // The frequency in seconds of how often to print metrics to Stdout
	GraphiteExportEnabled  bool   // Whether or not to export data to Graphite
	GraphiteHost           string // The host address for Graphite
	GraphitePort           int    // The Graphite port
	GraphiteEmitFreq       int64  // How often to emit metrics to Graphite in seconds

	OutputFileName string // The file name for the file to write addresses to
	OutputFileType string // The output file type

	InputEntropyThreshold float64 // The threshold upon which addresses having more entropy will be removed
	InputEntropyBitLength int     // The number of bits within IP addresses to calculate entropy based on
	InputMinAddresses     int     // The recommended minimum number of addresses to require for a given statistical model
	InputMinTargetCount   int     // The minimum bit count for network sizes to scan

	ForceAcceptPrompts bool // Whether or not to bypass prompts by force accepting them

	AliasLeftIndexStart     uint8 // The left-most index for CIDR mask lengths where aliased network detection should start
	AliasDuplicateScanCount uint8 // The number of times a single address should be scanned when checking for aliased networks
	// contains filtered or unexported fields
}

func LoadFromFile

func LoadFromFile(filePath string) (Configuration, error)

func (*Configuration) GetAliasedNetworkDirPath

func (config *Configuration) GetAliasedNetworkDirPath() string

func (*Configuration) GetAllDirectories

func (config *Configuration) GetAllDirectories() []string

func (*Configuration) GetAllExportDirectories

func (config *Configuration) GetAllExportDirectories() []string

func (*Configuration) GetBloomDirPath

func (config *Configuration) GetBloomDirPath() string

func (*Configuration) GetCandidateAddressDirPath

func (config *Configuration) GetCandidateAddressDirPath() string

func (*Configuration) GetCleanPingDirPath

func (config *Configuration) GetCleanPingDirPath() string

func (*Configuration) GetGeneratedModelDirPath

func (config *Configuration) GetGeneratedModelDirPath() string

func (*Configuration) GetGoldenBlacklistFilePath

func (config *Configuration) GetGoldenBlacklistFilePath() string

func (*Configuration) GetGoldenModelFilePath

func (config *Configuration) GetGoldenModelFilePath() string

func (*Configuration) GetGraphiteEmitDuration

func (config *Configuration) GetGraphiteEmitDuration() time.Duration

func (*Configuration) GetNetworkBlacklistDirPath

func (config *Configuration) GetNetworkBlacklistDirPath() string

func (*Configuration) GetNetworkGroupDirPath

func (config *Configuration) GetNetworkGroupDirPath() string

func (*Configuration) GetNetworkScanResultsDirPath

func (config *Configuration) GetNetworkScanResultsDirPath() string

func (*Configuration) GetNetworkScanTargetsDirPath

func (config *Configuration) GetNetworkScanTargetsDirPath() string

func (*Configuration) GetOutputFilePath

func (config *Configuration) GetOutputFilePath() string

func (*Configuration) GetPingResultDirPath

func (config *Configuration) GetPingResultDirPath() string

func (*Configuration) GetSafeFilePaths

func (config *Configuration) GetSafeFilePaths() []string

func (*Configuration) GetStateFilePath

func (config *Configuration) GetStateFilePath() string

func (*Configuration) GetTargetNetwork

func (config *Configuration) GetTargetNetwork() (*net.IPNet, error)

func (*Configuration) GetTargetNetworkFilePath

func (config *Configuration) GetTargetNetworkFilePath() string

func (*Configuration) Print

func (config *Configuration) Print()

func (*Configuration) SetTargetNetwork

func (config *Configuration) SetTargetNetwork(toScan *net.IPNet)

Jump to

Keyboard shortcuts

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