#[non_exhaustive]pub struct L7Summary {
pub app_proto: Option<&'static str>,
pub server_name: Option<String>,
pub ja3: Option<String>,
pub ja4: Option<String>,
pub tls_version: Option<u16>,
pub tls_cipher: Option<u16>,
pub user_agent: Option<String>,
pub http_method: Option<String>,
pub http_uri: Option<String>,
pub dns_queries: Vec<String>,
}analysis only.Expand description
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.app_proto: Option<&'static str>Detected application protocol label ("tls" / "http" /
"dns"). Last writer wins when a flow upgrades (e.g.
HTTP CONNECT → TLS).
server_name: Option<String>The server name the client asked for — TLS SNI or HTTP
Host. The single most useful pivot field.
ja3: Option<String>JA3 TLS client fingerprint (MD5 hex), if observed.
ja4: Option<String>JA4 TLS client fingerprint (FoxIO format), if observed.
tls_version: Option<u16>Negotiated TLS version as the raw 16-bit code point
(e.g. 0x0303 = TLS 1.2).
tls_cipher: Option<u16>Negotiated TLS cipher suite code point.
user_agent: Option<String>HTTP User-Agent header value.
http_method: Option<String>HTTP request method (GET / POST / …).
http_uri: Option<String>HTTP request path / URI.
dns_queries: Vec<String>DNS query names observed on the flow (bounded to
MAX_DNS_QUERIES).
Implementations§
Source§impl L7Summary
impl L7Summary
Sourcepub fn observe_tls(&mut self, hs: &TlsHandshake)
Available on crate feature tls only.
pub fn observe_tls(&mut self, hs: &TlsHandshake)
tls only.Fold the facts from a completed TLS handshake into the
summary: SNI → Self::server_name, JA3/JA4, negotiated
version + cipher.
Sourcepub fn observe_http(&mut self, msg: &HttpMessage)
Available on crate feature http only.
pub fn observe_http(&mut self, msg: &HttpMessage)
http only.Fold the facts from an HTTP message into the summary. Only requests carry security-relevant identity (Host / UA / method / path); responses are ignored here.
Sourcepub fn observe_dns_query(&mut self, q: &DnsQuery)
Available on crate feature dns only.
pub fn observe_dns_query(&mut self, q: &DnsQuery)
dns only.Record the query names from a parsed DNS query, bounded to
MAX_DNS_QUERIES.
Sourcepub fn observe_dns_response(&mut self, r: &DnsResponse)
Available on crate feature dns only.
pub fn observe_dns_response(&mut self, r: &DnsResponse)
dns only.Record the query names from a parsed DNS response, bounded
to MAX_DNS_QUERIES.