The "Abstraction" project provides a comprehensive set of abstractions for network packet handling, protocol support, and address management. It simplifies the development of network tools by offering reusable components for transport and network layer operations.
$ dotnet add package Oakrey.Network.AbstractionsThe "Abstraction" project is a .NET library that provides foundational abstractions for network-related operations. It includes interfaces, enums, and base classes for handling network packets, protocols, and addresses. The project is designed to facilitate the development of network tools and applications by abstracting low-level details.
Classes like MacPacketHead, IPv4PacketHead, and IPv6PacketHead provide abstractions for parsing and handling network packets. PacketDescriptionBase serves as a base class for describing packets.
Enums like EtherType and IpProtocol define supported protocols (e.g., IPv4, IPv6, TCP, UDP).
Interfaces like IAddress and classes like IpAddressRange and IpAddressRangeViewModel handle IP address ranges and address-related operations.
Classes like TransportLayerBase and NetworkLayerBase abstract transport and network layer functionalities.
Formatter provides utilities for formatting data. FlagsEnum and TimeValue offer additional support for flag-based enums and time-related operations.
The project integrates with external libraries like PacketDotNet for packet manipulation.
You can install the package via NuGet Package Manager, Package Manager Console or the .NET CLI.
Oakrey.Network.Abstractions and click Install.Run the following command in your terminal:
dotnet add package Oakrey.Network.Abstractions
Run the following command in your Package Manager Console:
Install-Package Oakrey.Network.Abstractions
Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.
This project is licensed under the MIT License. See the LICENSE file for details.