NetworkScanner

Runs every registered IHostProbe across the expanded target set, bounded by MaxConcurrency, and merges the per-technique outcomes into one device per address. Addresses that answered nothing are dropped.

public sealed class NetworkScanner : INetworkScanner

1. Constructors

1.1. NetworkScanner(IScanTargetExpander, IEnumerable<IHostProbe>, IOuiVendorResolver, IDeviceClassifier, IHostNameResolver, ILogger<NetworkScanner>)

Initializes a new instance of the NetworkScanner class.

public NetworkScanner(IScanTargetExpander targetExpander, IEnumerable<IHostProbe> probes, IOuiVendorResolver vendorResolver, IDeviceClassifier classifier, IHostNameResolver hostNameResolver, ILogger<NetworkScanner> logger)
Table 1. Parameters
Name Type Description

targetExpander

IScanTargetExpander

Turns target specifiers into addresses.

probes

IEnumerable<IHostProbe>

Every technique to run per address.

vendorResolver

IOuiVendorResolver

Resolves vendor from a discovered MAC.

classifier

IDeviceClassifier

Infers device class from ports plus vendor.

hostNameResolver

IHostNameResolver

Reverse-resolves names for responding addresses.

logger

ILogger<NetworkScanner>

Progress and per-address diagnostics.

2. Methods

2.1. ScanAsync(InventoryScanRequest, CancellationToken)

Expand the request’s targets, probe each address with every registered IHostProbe, and merge the outcomes into devices.

public Task<InventoryScanResult> ScanAsync(InventoryScanRequest request, CancellationToken cancellationToken)
Table 2. Parameters
Name Type Description

request

InventoryScanRequest

What to scan and how hard.

cancellationToken

CancellationToken

Cancels the scan.

Returns: Task<InventoryScanResult>