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)
| 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)
| Name | Type | Description |
|---|---|---|
request |
InventoryScanRequest |
What to scan and how hard. |
cancellationToken |
CancellationToken |
Cancels the scan. |
Returns: Task<InventoryScanResult>