Documentation
¶
Overview ¶
Package `metadata` has a struct that stores information captured by `proxyserver`. Package `fingerprint` uses these information to create fingerprints.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
FingerproxyContextKey = &contextKey{"fingerproxy-metadata"}
)
Functions ¶
This section is empty.
Types ¶
type HTTP2FingerprintingFrames ¶
type HTTP2FingerprintingFrames struct {
// Data from SETTINGS frame
Settings []Setting
// Increment of WINDOW_UPDATE frame
WindowUpdateIncrement uint32
// PRIORITY frame(s)
Priorities []Priority
// HEADERS frame
Headers []HeaderField
}
func (*HTTP2FingerprintingFrames) Marshal ¶
func (f *HTTP2FingerprintingFrames) Marshal(maxPriorityFrames uint) string
TODO: add tests
func (*HTTP2FingerprintingFrames) String ¶
func (f *HTTP2FingerprintingFrames) String() string
type HeaderField ¶
type Metadata ¶
type Metadata struct {
// ClientHelloRecord is the raw TLS ClientHello bytes that
// include TLS record header and handshake header
ClientHelloRecord []byte
// ConnectionState represents the TLS connection state
ConnectionState tls.ConnectionState
// HTTP2Frames includes certain HTTP2 frames data
HTTP2Frames HTTP2FingerprintingFrames
}
Metadata is the data we captured from the connection for fingerprinting. Currently only TLS ClientHello and certain HTTP2 frames included, more can be added in the future.
Click to show internal directories.
Click to hide internal directories.