Vestigium.Helpers.Network
1.7.0
dotnet add package Vestigium.Helpers.Network --version 1.7.0
NuGet\Install-Package Vestigium.Helpers.Network -Version 1.7.0
<PackageReference Include="Vestigium.Helpers.Network" Version="1.7.0" />
<PackageVersion Include="Vestigium.Helpers.Network" Version="1.7.0" />
<PackageReference Include="Vestigium.Helpers.Network" />
paket add Vestigium.Helpers.Network --version 1.7.0
#r "nuget: Vestigium.Helpers.Network, 1.7.0"
#:package Vestigium.Helpers.Network@1.7.0
#addin nuget:?package=Vestigium.Helpers.Network&version=1.7.0
#tool nuget:?package=Vestigium.Helpers.Network&version=1.7.0
Vestigium.Helpers.Network
Workstation inventory and protocol jobs for diagnostic hosts. Not a CLI. Not ping.exe. Not a plot package. This library will not grow a plot API.
Identity
| Field | Value |
|---|---|
| Package | Vestigium.Helpers.Network 1.5.0 |
| Version rule | 1.2.0 is PR10. 1.3.0 is inventory extras. 1.4.x is the catalog and inventory extras through 1.4.5. 1.5.0 is RouteIQ PR07: family filter, protocol port lookup, async print doors. Do not republish 1.4.6. Do not republish 1.5.0 to fix this README. |
| TFM | net10.0 |
| APPID | Network (NetworkCatalog.AppId) |
| EVENTID | Reserved 14500–14999 (used through 14560) |
| Depends on | Vestigium.Helpers.Json 1.0.1, Vestigium.Helpers.Analytics 1.0.1, Vestigium.Helpers.FileIo 1.1.2, Vestigium.Logging |
| License | MIT |
| Contract | 002 -- Requirements Document |
Does not plot. OUI completeness is a URL fetched on request. The embedded snapshot is a stub and is not the IEEE registry.
Consume
<PackageReference Include="Vestigium.Helpers.Network" Version="1.5.0" />
using Vestigium.Helpers.Network;
var box = NetworkHelper.GetWorkstation();
var echo = await NetworkHelper.IcmpEcho("192.0.2.1").RunAsync();
var dns = await NetworkHelper.LookupAsync("example.com");
var path = await NetworkHelper.Pathping("192.0.2.1").RunAsync();
var tcp = await NetworkHelper.TcpConnect("192.0.2.1", 443).RunAsync();
var udp = await NetworkHelper.UdpProbe("192.0.2.1", 53).RunAsync();
var ask = await NetworkHelper.ProbeDns("example.com").RunAsync();
Ping / Trace are aliases for IcmpEcho / IcmpTrace.
Surface
| Call | Returns | Notes |
|---|---|---|
GetWorkstation / GetAdapters / GetSnapshot |
inventory | Local stack. 1.3 adds metric, DNS suffix, search list, WINS, driver, DHCP leases. |
IcmpEcho / IcmpTrace / Pathping |
NetworkJob<T> |
Bind set uses a bound ICMP path. |
TcpConnect / UdpProbe |
NetworkJob<T> |
One host, one port. |
ProbeDns |
NetworkJob<DnsProbeResult> |
Answered / refused / timed out. |
WatchAdapter |
NetworkJob<AdapterWatchResult> |
Oper-status samples. No bill. |
SampleCounters |
NetworkJob<CounterSampleResult> |
One adapter. No bill. |
PathMtu |
NetworkJob<PathMtuResult> |
Shrinks only on too-big. |
LookupAsync |
DNS result | |
GetConnections / GetRoutes / GetNeighbors |
lists | GetNeighbors(RouteFamily) reads one family. Parameterless is All. |
GetRoutesAsync / GetNeighborsAsync / GetConnectionsAsync |
task of the same list | Token cancels the wait. It does not abort iphlpapi. Not a NetworkJob. |
GetLmHostsAsync / GetNetBiosNamesAsync / GetNetBiosStatsAsync |
task of the sync result | Same hop. No second log line. |
TryService |
bool, name | Blank protocol is TCP. Miss is false. No log. |
ProbeNeighbor |
NeighborProbeResult |
One-address resolve. |
AddRoute / ChangeRoute / RemoveRoute |
void | Defaults throw NetworkRouteDenied. |
CreateEchoCampaign / CreateShareCampaign |
campaign | Recipe persists bind when set. |
ClassifyAddress / DescribePrefix / PlanByHosts |
prefix math | |
ParseMac / LookupOuiAsync / LookupOuiPacked |
MAC / OUI | Live lookup is the URL. Packed is a stub. |
Bandwidth / BillP95 / BillPercentile |
amounts | No plot. |
NetworkCatalog.Register(cfg) |
void | Host-only. |
Rules that do not move
- Not
ping.exe/tracert.exe/pathping.exe. - Route writes need admin /
CAP_NET_ADMIN. Defaults are denied. - NetBIOS is Windows-only.
- OUI completeness is
LookupOuiAsyncagainst the caller URL. - Never log credentials.
- The library never calls
VestigiumLogger.Initialize. InterfaceIndex0 is not rewritten to 1.- No port sweep.
GetNeighborsindex 0 is not rewritten to 1. A name miss stays null.- Async print doors do not abort a P/Invoke already inside
iphlpapi.
Logging
VestigiumLogger.Initialize(cfg =>
{
cfg.AppId = "PingIQ";
cfg.LogDirectory = logDir;
NetworkCatalog.Register(cfg);
});
Writes are no-ops until the host initializes.
Related
Sizes: Vestigium.Helpers.Analytics. Share probes: Vestigium.Helpers.FileIo. Campaign recipes: Vestigium.Helpers.Json.
Long-form documents live in Vestigium.Documentation / Helpers / Network.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Vestigium.Helpers.Analytics (>= 1.0.1)
- Vestigium.Helpers.FileIo (>= 1.1.2)
- Vestigium.Helpers.Json (>= 1.0.1)
- Vestigium.Logging (>= 1.7.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.0 | 96 | 10/11/2026 |
| 1.6.5 | 87 | 10/11/2026 |
| 1.6.4 | 92 | 10/11/2026 |
| 1.6.3 | 84 | 10/11/2026 |
| 1.6.2 | 87 | 10/11/2026 |
| 1.6.1 | 82 | 10/11/2026 |
| 1.6.0 | 94 | 10/11/2026 |
| 1.5.6 | 89 | 10/10/2026 |
| 1.5.5 | 83 | 10/10/2026 |
| 1.5.4 | 90 | 10/10/2026 |
| 1.5.3 | 87 | 10/10/2026 |
| 1.5.2 | 83 | 10/10/2026 |
| 1.5.1 | 91 | 10/10/2026 |
| 1.5.0 | 98 | 10/6/2026 |
| 1.4.5 | 102 | 10/3/2026 |
| 1.4.4 | 94 | 10/3/2026 |