#[non_exhaustive]pub struct KerberosMessage {
pub kind: KerberosMessageKind,
pub pvno: u32,
pub realm: String,
pub cname: Option<String>,
pub sname: Option<String>,
pub etypes: Vec<KerberosEtype>,
pub padata_types: Vec<i32>,
pub kerberoast_suspect: bool,
pub error_code: Option<KerberosErrorCode>,
}Available on crate feature
kerberos only.Expand description
One decoded Kerberos message. Intentionally narrow — metadata only, no decrypted ticket payload.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: KerberosMessageKind§pvno: u32§realm: String§cname: Option<String>§sname: Option<String>§etypes: Vec<KerberosEtype>List of KerberosEtypes the client requested.
Empty for replies / errors. The
Self::kerberoast_suspect boolean is set when
this list contains an KerberosEtype::is_rc4
entry on a TGS-REQ.
padata_types: Vec<i32>PA-DATA type numbers observed in the message.
kerberoast_suspect: booltrue when the message is a TGS-REQ that lists
RC4-HMAC (etype 23) — the classic Kerberoasting
downgrade signal.
error_code: Option<KerberosErrorCode>KRB-ERROR error code (e.g. KdcErrPreauthRequired).
None for non-error messages.
Trait Implementations§
Source§impl Clone for KerberosMessage
impl Clone for KerberosMessage
Source§fn clone(&self) -> KerberosMessage
fn clone(&self) -> KerberosMessage
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KerberosMessage
impl Debug for KerberosMessage
Source§impl<'de> Deserialize<'de> for KerberosMessage
impl<'de> Deserialize<'de> for KerberosMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for KerberosMessage
Source§impl PartialEq for KerberosMessage
impl PartialEq for KerberosMessage
Source§fn eq(&self, other: &KerberosMessage) -> bool
fn eq(&self, other: &KerberosMessage) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for KerberosMessage
impl Serialize for KerberosMessage
impl StructuralPartialEq for KerberosMessage
Auto Trait Implementations§
impl Freeze for KerberosMessage
impl RefUnwindSafe for KerberosMessage
impl Send for KerberosMessage
impl Sync for KerberosMessage
impl Unpin for KerberosMessage
impl UnsafeUnpin for KerberosMessage
impl UnwindSafe for KerberosMessage
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.