Skip to main content

Scanner

Struct Scanner 

Source
pub struct Scanner { /* private fields */ }
Expand description

Main network scanner struct.

The scanner coordinates network discovery and monitoring operations including ARP scanning, packet capture, and host detection.

Implementations§

Source§

impl Scanner

Source

pub fn new( scanner_outputs: Sender<Event>, interface_name: String, backend_type: BackendType, ) -> AppResult<Self>

Creates a new Scanner with the specified configuration.

§Arguments
  • scanner_outputs - Channel for sending scanner events
  • interface_name - Name of the network interface to use
  • backend_type - Type of backend to use (pnet or eBPF)
§Returns

A new Scanner instance, or an error if initialization fails

Source

pub fn send_arp_packets(&self)

Send ARP packets to discover hosts on the network.

This triggers an ARP scan of the network range(s) configured on the selected interface.

Source

pub fn gateway_ip(&self) -> Option<Ipv4Addr>

Get the detected default gateway IP address.

Returns None if no gateway was detected or if detection failed.

Source

pub fn local_ips(&self) -> &HashSet<Ipv4Addr>

Get the set of detected local IP addresses.

Returns the set of IPs on the local interfaces that were detected during startup.

Source

pub fn remove_discovered_hosts(&self, ips: &[Ipv4Addr])

Remove hosts from the discovered set, allowing them to be re-discovered.

This should be called when hosts are cleared/deleted from the UI.

§Arguments
  • ips - Slice of IP addresses to remove from the discovered set

Trait Implementations§

Source§

impl Drop for Scanner

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more