pub struct HttpRequestObservation {
pub version: Version,
pub horder: Vec<Header>,
pub habsent: Vec<Header>,
pub expsw: String,
}
Expand description
Represents observed HTTP request characteristics from network traffic.
Fields§
§version: Version
HTTP version
horder: Vec<Header>
ordered list of headers that should appear in matching traffic (p0f style).
habsent: Vec<Header>
list of headers that must not appear in matching traffic (p0f style).
expsw: String
expected substring in ‘User-Agent’ or ‘Server’.
Trait Implementations§
Source§impl Clone for HttpRequestObservation
impl Clone for HttpRequestObservation
Source§fn clone(&self) -> HttpRequestObservation
fn clone(&self) -> HttpRequestObservation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl DatabaseSignature<HttpRequestObservation> for Signature
impl DatabaseSignature<HttpRequestObservation> for Signature
Source§fn calculate_distance(&self, observed: &HttpRequestObservation) -> Option<u32>
fn calculate_distance(&self, observed: &HttpRequestObservation) -> Option<u32>
Calculates a distance or dissimilarity score. Lower is better.
Source§fn get_quality_score(&self, distance: u32) -> f32
fn get_quality_score(&self, distance: u32) -> f32
Returns the quality score based on the distance.
Source§fn generate_index_keys_for_db_entry(&self) -> Vec<HttpIndexKey>
fn generate_index_keys_for_db_entry(&self) -> Vec<HttpIndexKey>
Generates index keys from this database signature.
It’s a Vec because some DB signatures (like IpVersion::Any) might map to multiple keys.
The OptionOF::Key in the Vec allows for cases where a specific DB sig might not produce a key
for a certain specific version (e.g. an IpVersion::Any sig, when asked to produce a V4 key, will).
Source§impl Debug for HttpRequestObservation
impl Debug for HttpRequestObservation
Source§impl Display for HttpRequestObservation
impl Display for HttpRequestObservation
Source§impl HttpDistance for HttpRequestObservation
impl HttpDistance for HttpRequestObservation
fn get_version(&self) -> Version
fn get_horder(&self) -> &[Header]
fn get_habsent(&self) -> &[Header]
fn get_expsw(&self) -> &str
fn distance_ip_version(&self, other: &Signature) -> Option<u32>
fn distance_header(observed: &[Header], signature: &[Header]) -> Option<u32>
fn distance_horder(&self, other: &Signature) -> Option<u32>
fn distance_habsent(&self, other: &Signature) -> Option<u32>
fn distance_expsw(&self, other: &Signature) -> Option<u32>
Source§impl ObservedFingerprint for HttpRequestObservation
impl ObservedFingerprint for HttpRequestObservation
Source§type Key = HttpIndexKey
type Key = HttpIndexKey
The type of key used to index database signatures compatible with this observed fingerprint.
Source§fn generate_index_key(&self) -> Self::Key
fn generate_index_key(&self) -> Self::Key
Generates an index key from this observed fingerprint.
Source§impl PartialEq for HttpRequestObservation
impl PartialEq for HttpRequestObservation
impl StructuralPartialEq for HttpRequestObservation
Auto Trait Implementations§
impl Freeze for HttpRequestObservation
impl RefUnwindSafe for HttpRequestObservation
impl Send for HttpRequestObservation
impl Sync for HttpRequestObservation
impl Unpin for HttpRequestObservation
impl UnwindSafe for HttpRequestObservation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more