R3Polska.Networking
2.0.0
dotnet add package R3Polska.Networking --version 2.0.0
NuGet\Install-Package R3Polska.Networking -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="R3Polska.Networking" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="R3Polska.Networking" Version="2.0.0" />
<PackageReference Include="R3Polska.Networking" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add R3Polska.Networking --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: R3Polska.Networking, 2.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package R3Polska.Networking@2.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=R3Polska.Networking&version=2.0.0
#tool nuget:?package=R3Polska.Networking&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
R3Polska.Networking
Network helper utilities for retrieving MAC addresses and local IP addresses with support for Docker containerized environments.
Features
- MAC Address Retrieval: Get hardware MAC addresses from system or file-based sources
- Docker Volume Support: Prioritizes
/hwfolder paths for consistent hardware identification in containers - Local IP Detection: Determine which local IP address would be used to reach a target network
- Cross-Platform: Works on Linux and Windows systems
Installation
dotnet add package R3Polska.Networking
Usage
Get MAC Address
using R3Polska.Networking;
// Get MAC address (checks Docker volumes first, then system)
string macAddress = NetworkHelper.GetRealMacAddress();
// Use custom paths
string macAddress = NetworkHelper.GetRealMacAddress("/custom/path/to/mac");
The method searches for MAC addresses in the following order:
- Docker-mapped volumes under
/hw/class/net/*/address - System network interfaces under
/sys/class/net/*/address - System API fallback (Windows or when files don't exist)
Get Local IP for Network
using R3Polska.Networking;
// Get local IP that would be used to reach Google DNS
string localIp = NetworkHelper.GetLocalIpForNetwork("8.8.8.8");
// Use default target (10.8.0.1)
string localIp = NetworkHelper.GetLocalIpForNetwork();
This emulates ip route get to determine routing without sending network traffic.
Docker Support
To ensure consistent MAC address retrieval in Docker containers, mount the host's network interface info:
volumes:
- /sys/class/net:/hw/class/net:ro
The library will prioritize reading from /hw/class/net paths when available.
Building
# Run tests
make test
# Generate coverage report
make coverage-html
# Create NuGet package
make pack
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.