Documentation
¶
Overview ¶
Package pop3 implements POP3 (RFC 1939) service enumeration.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LibraryEnumeratePOP3 ¶
type LibraryEnumeratePOP3 struct{}
LibraryEnumeratePOP3 implements NetworkApplicationLibrary for POP3 enumeration.
func (*LibraryEnumeratePOP3) EnumerateTarget ¶
func (p *LibraryEnumeratePOP3) EnumerateTarget(ctx context.Context, target string) (*enumeratefern.EnumerateServiceDetails, []string)
EnumerateTarget connects to a POP3 server and collects banner, CAPA, and TLS information. Mode A (unauthenticated): probes the server without credentials. It tries plain TCP first; if that fails it tries implicit TLS (port 995 style). If plain TCP succeeds, it also attempts STLS upgrade.
A single bufio.Reader is created once per connection and threaded through every read helper. This prevents bytes buffered in a discarded reader from being silently lost between calls — a particular risk during the STLS upgrade where read-ahead bytes could otherwise corrupt the TLS handshake.