Documentation ¶
Index ¶
Constants ¶
const ( MAX_FRAGMENTOR_NOTICES = 3 MAX_FRAGMENTOR_ITERATIONS_PER_NOTICE = 5 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config specifies a fragmentor configuration. NewUpstreamConfig and NewDownstreamConfig will generate configurations based on the given client parameters.
func NewDownstreamConfig ¶
func NewDownstreamConfig( p *parameters.ClientParametersSnapshot, tunnelProtocol string) *Config
NewDownstreamConfig creates a new Config; may return nil.
func NewUpstreamConfig ¶
func NewUpstreamConfig( p *parameters.ClientParametersSnapshot, tunnelProtocol string) *Config
NewUpstreamConfig creates a new Config; may return nil.
func (*Config) IsFragmenting ¶
IsFragmenting indicates whether the fragmentor configuration results in any fragmentation; config may be nil.
type Conn ¶
Conn implements simple fragmentation of application-level messages/packets into multiple TCP packets by splitting writes into smaller sizes and adding delays between writes.
The intent of Conn is both to frustrate firewalls that perform DPI on application-level messages that cross TCP packets as well as to perform a simple size and timing transformation to the traffic shape of the initial portion of a TCP flow.
func (*Conn) GetMetrics ¶
GetMetrics implements the common.MetricsSource interface.