Documentation
¶
Overview ¶
Package main provides a zgrab2 module that scans for ManageSieve servers. ManageSieve is a protocol for remotely managing Sieve scripts used for email filtering. Default port: 4190 (TCP)
Index ¶
- func RegisterModule()
- type Flags
- type Module
- type ScanResults
- type Scanner
- func (scanner *Scanner) GetDialerGroupConfig() *zgrab2.DialerGroupConfig
- func (scanner *Scanner) GetName() string
- func (scanner *Scanner) GetScanMetadata() interface{}
- func (scanner *Scanner) GetTrigger() string
- func (scanner *Scanner) Init(flags zgrab2.ScanFlags) error
- func (scanner *Scanner) InitPerSender(senderID int) error
- func (scanner *Scanner) Protocol() string
- func (scanner *Scanner) Scan(ctx context.Context, dialerGroup *zgrab2.DialerGroup, ...) (zgrab2.ScanStatus, any, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterModule ¶
func RegisterModule()
RegisterModule registers the ManageSieve module with zgrab2
Types ¶
type Flags ¶
type Flags struct {
zgrab2.BaseFlags `group:"Basic Options"`
zgrab2.TLSFlags `group:"TLS Options"`
BannerTimeout time.Duration `` /* 158-byte string literal not displayed */
}
Flags holds the command-line configuration for the ManageSieve scan module.
type Module ¶
type Module struct{}
Module implements the zgrab2.Module interface.
func (*Module) Description ¶
Description returns an overview of this module.
func (*Module) NewFlags ¶
func (module *Module) NewFlags() interface{}
NewFlags returns a default Flags object.
func (*Module) NewScanner ¶
NewScanner returns a new Scanner instance.
type ScanResults ¶
type ScanResults struct {
// Banner is the initial server greeting
Banner string `json:"banner,omitempty"`
// Capabilities contains the server capabilities
Capabilities []string `json:"capabilities,omitempty"`
// SieveVersion is the supported Sieve version
SieveVersion string `json:"sieve_version,omitempty"`
// Implementation identifies the server implementation
Implementation string `json:"implementation,omitempty"`
// StartTLSSupported indicates if the server supports STARTTLS
StartTLSSupported bool `json:"starttls_supported"`
// AuthMechanisms lists supported authentication mechanisms
AuthMechanisms []string `json:"auth_mechanisms,omitempty"`
// TLSLog contains the TLS handshake log if TLS was used
TLSLog *zgrab2.TLSLog `json:"tls,omitempty"`
// StartTLSResponse is the server response to the STARTTLS command
StartTLSResponse string `json:"starttls_response,omitempty"`
// Per RFC 5804, the server must advertise capabilities after TLS connection establishment
PostTLSCapabilities []string `json:"post_tls_capabilities,omitempty"`
}
ScanResults holds the results of a ManageSieve scan.
type Scanner ¶
type Scanner struct {
// contains filtered or unexported fields
}
Scanner implements the zgrab2.Scanner interface.
func (*Scanner) GetDialerGroupConfig ¶
func (scanner *Scanner) GetDialerGroupConfig() *zgrab2.DialerGroupConfig
func (*Scanner) GetScanMetadata ¶
func (scanner *Scanner) GetScanMetadata() interface{}
GetScanMetadata returns any metadata about the scan (implementing zgrab2.Scanner)
func (*Scanner) GetTrigger ¶
GetTrigger returns the scanner trigger.
func (*Scanner) InitPerSender ¶
InitPerSender initializes the scanner for each sender goroutine.
func (*Scanner) Scan ¶
func (scanner *Scanner) Scan(ctx context.Context, dialerGroup *zgrab2.DialerGroup, target *zgrab2.ScanTarget) (zgrab2.ScanStatus, any, error)
Scan performs the ManageSieve scan.