DiscoveredDevice

One device found on the wire, merged from every HostProbeOutcome for its address.

public sealed record DiscoveredDevice : IEquatable<DiscoveredDevice>

1. Constructors

1.1. DiscoveredDevice(IP, MacAddress?, VendorName, MachineName?, DeviceKind, IReadOnlyCollection<Port>, TimeSpan?, IReadOnlyCollection<ProbeMethod>)

One device found on the wire, merged from every HostProbeOutcome for its address.

public DiscoveredDevice(IP Address, MacAddress? Mac, VendorName Vendor, MachineName? HostName, DeviceKind Kind, IReadOnlyCollection<Port> OpenPorts, TimeSpan? RoundTrip, IReadOnlyCollection<ProbeMethod> RespondedTo)
Table 1. Parameters
Name Type Description

Address

IP

Address the device answered on.

Mac

MacAddress?

MAC address when ARP resolved one; null on a routed segment.

Vendor

VendorName

Vendor resolved from the MAC’s OUI; VendorName.Unknown when unmapped.

HostName

MachineName?

Reverse-resolved name when DNS answered.

Kind

DeviceKind

Class inferred from ports plus vendor.

OpenPorts

IReadOnlyCollection<Port>

Union of ports found accepting connections.

RoundTrip

TimeSpan?

ICMP round-trip when measured.

RespondedTo

IReadOnlyCollection<ProbeMethod>

Every technique the device answered.

2. Properties

2.1. Address

Address the device answered on.

public IP Address { get; init; }

2.2. HostName

Reverse-resolved name when DNS answered.

public MachineName? HostName { get; init; }

2.3. Kind

Class inferred from ports plus vendor.

public DeviceKind Kind { get; init; }

2.4. Mac

MAC address when ARP resolved one; null on a routed segment.

public MacAddress? Mac { get; init; }

2.5. OpenPorts

Union of ports found accepting connections.

public IReadOnlyCollection<Port> OpenPorts { get; init; }

2.6. RespondedTo

Every technique the device answered.

public IReadOnlyCollection<ProbeMethod> RespondedTo { get; init; }

2.7. RoundTrip

ICMP round-trip when measured.

public TimeSpan? RoundTrip { get; init; }

2.8. Vendor

Vendor resolved from the MAC’s OUI; VendorName.Unknown when unmapped.

public VendorName Vendor { get; init; }

3. Operators

3.1. operator !=(DiscoveredDevice, DiscoveredDevice)

public static bool operator !=(DiscoveredDevice left, DiscoveredDevice right)
Table 2. Parameters
Name Type Description

left

DiscoveredDevice

right

DiscoveredDevice

Returns: bool

3.2. operator ==(DiscoveredDevice, DiscoveredDevice)

public static bool operator ==(DiscoveredDevice left, DiscoveredDevice right)
Table 3. Parameters
Name Type Description

left

DiscoveredDevice

right

DiscoveredDevice

Returns: bool