pub struct HostPair {
pub src: IpAddr,
pub dst: IpAddr,
pub dst_port: Option<u16>,
}Available on crate feature
tracker only.Expand description
(src, dst, dst_port) aggregation key — the beaconing axis:
each beacon ping is its own 5-tuple (ephemeral source port),
so beacon detectors must aggregate across flows on the
host-pair, not the flow key.
Fields§
§src: IpAddr§dst: IpAddr§dst_port: Option<u16>Destination port, when the flow key exposes one. Kept in the key so beacons to distinct services score separately.
Implementations§
Trait Implementations§
impl Copy for HostPair
impl Eq for HostPair
Source§impl KeyFields for HostPair
impl KeyFields for HostPair
Source§fn proto_str(&self) -> Option<&'static str>
fn proto_str(&self) -> Option<&'static str>
L4 protocol as a static EVE-compatible label
(
"TCP" / "UDP" / "ICMP" / "ICMPv6" / "SCTP").Source§fn protocol_identifier(&self) -> Option<u8>
fn protocol_identifier(&self) -> Option<u8>
L4 protocol number per IANA assigned numbers
(TCP=6, UDP=17, ICMP=1, ICMPv6=58, SCTP=132). Used by
IPFIX-IE-keyed exporters that need the numeric ID
alongside the
Self::proto_str label. Default None
— override on keys that carry an L4 protocol. Read moreSource§fn app_proto_str(&self) -> Option<&'static str>
fn app_proto_str(&self) -> Option<&'static str>
Application-layer protocol label, e.g.
"http" /
"dns" / "tls". Default None — emit writers
typically thread the parser_kind from
crate::driver::SlotMessage instead. Override only on
custom keys that carry app-layer hints natively.Source§fn stable_hash(&self) -> Option<u64>
fn stable_hash(&self) -> Option<u64>
Stable, seed-fixed 64-bit hash over the canonical
(direction-normalized) 5-tuple. Read more
Source§fn shard_index(&self, n: usize) -> Option<usize>
fn shard_index(&self, n: usize) -> Option<usize>
Deterministic shard index in
0..n for sharded flow
tables. None if n == 0 or the key lacks a full 5-tuple. Read moreSource§fn community_id(&self) -> Option<String>
fn community_id(&self) -> Option<String>
Corelight Community ID
v1 with the universal default seed (0) — the cross-tool
flow id for pivoting flowscope output against Zeek /
Suricata / Security Onion. Read more
Source§fn community_id_seeded(&self, seed: u16) -> Option<String>
fn community_id_seeded(&self, seed: u16) -> Option<String>
Self::community_id with an explicit sensor seed.impl StructuralPartialEq for HostPair
Auto Trait Implementations§
impl Freeze for HostPair
impl RefUnwindSafe for HostPair
impl Send for HostPair
impl Sync for HostPair
impl Unpin for HostPair
impl UnsafeUnpin for HostPair
impl UnwindSafe for HostPair
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.