pub struct PortResult {Show 13 fields
pub port: u16,
pub protocol: Protocol,
pub open: bool,
pub status: PortStatus,
pub service: Option<String>,
pub product: Option<String>,
pub version: Option<String>,
pub latency_ms: Option<u64>,
pub banner: Option<String>,
pub http: Option<HttpProbe>,
pub tls: Option<TlsProbe>,
pub raw: Option<String>,
pub error: Option<String>,
}Fields§
§port: u16§protocol: Protocoltcp or udp. Added with UDP scanning; every result before that was
TCP, which is what a consumer that ignores the field still assumes.
open: bool§status: PortStatus§service: Option<String>§product: Option<String>The software on the port, when it named itself: the SSH
identification line, an HTTP Server header, or a mail/FTP greeting.
See scan/version.rs.
version: Option<String>That software’s version, when it gave one.
latency_ms: Option<u64>§http: Option<HttpProbe>§tls: Option<TlsProbe>§raw: Option<String>§error: Option<String>Populated when the probe failed for reasons other than a closed port (e.g. the scanner’s concurrency semaphore was closed). Omitted on normal open/closed results.
Implementations§
Source§impl PortResult
impl PortResult
Sourcepub fn product_and_version(&self) -> Option<String>
pub fn product_and_version(&self) -> Option<String>
OpenSSH 9.6p1 for display, or just cloudflare when the service
named itself without a version. None when it did neither.
Sourcepub fn port_label(&self) -> String
pub fn port_label(&self) -> String
53/udp for a UDP result, the bare number for TCP, which is what
every port meant before UDP scanning existed.
Trait Implementations§
Source§impl Clone for PortResult
impl Clone for PortResult
Source§impl Debug for PortResult
impl Debug for PortResult
Auto Trait Implementations§
impl Freeze for PortResult
impl RefUnwindSafe for PortResult
impl Send for PortResult
impl Sync for PortResult
impl Unpin for PortResult
impl UnsafeUnpin for PortResult
impl UnwindSafe for PortResult
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more