#networking #low-level #packet #data-link #cross-platform #interaction #sockets

nex-sys

Provides network-related system function and call support for nex. Used for low-level system interactions.

7 releases (breaking)

new 0.12.0 May 30, 2024
0.11.0 May 29, 2024
0.10.0 May 19, 2024
0.9.0 Apr 27, 2024
0.6.0 Feb 25, 2024

#8 in #data-link

Download history 279/week @ 2024-02-24 19/week @ 2024-03-02 15/week @ 2024-03-09 8/week @ 2024-03-16 17/week @ 2024-03-23 32/week @ 2024-03-30 142/week @ 2024-04-06 22/week @ 2024-04-13 15/week @ 2024-04-20 146/week @ 2024-04-27 7/week @ 2024-05-04 1/week @ 2024-05-11 257/week @ 2024-05-18 232/week @ 2024-05-25

499 downloads per month
Used in 6 crates (via nex-datalink)

MIT license

13KB
247 lines

nex

Cross-platform networking library in Rust

Crates.io Documentation License

Overview

nex is a Rust library that provides cross-platform low-level networking capabilities.
It includes a set of modules, each with a specific focus:

  • datalink: Datalink layer networking.
  • packet: Low-level packet parsing and building.
  • packet-builder: High-level packet building.
  • socket: Socket-related functionality.

Upcoming Features

The project has plans to enhance nex with the following features:

  • More Protocol Support: Expanding protocol support to include additional network protocols and standards.
  • Performance Improvements: Continuously working on performance enhancements for faster network operations.

Usage

To use nex, add it as a dependency in your Cargo.toml:

[dependencies]
nex = "0.12"

Using Specific Sub-crates

You can also directly use specific sub-crates by importing them individually.

  • nex-datalink
  • nex-packet
  • nex-packet-builder
  • nex-socket

If you want to focus on network interfaces, you can use the netdev.

for Windows Users

Please note that in order to send and receive raw packets using nex-datalink on Windows, npcap is required.

  1. Install Npcap, making sure to check Install Npcap in WinPcap API-compatible Mode during the installation.

  2. Download the Npcap SDK. Add the SDK's /Lib/x64 (or /Lib) folder to your LIB environment variable.

To simplify the process of downloading and installing npcap, you can use nex-npcap-helper. This crate facilitates the download and installation process, which can be helpful when distributing applications that utilize nex-datalink on Windows.

Build time requirements for optional feature

The cryptography provider for nex-socket's optional tls feature use aws-lc-rs. Note that this has some implications on build-time tool requirements, such as requiring cmake on all platforms and nasm on Windows.
Starting from v0.12.0, you can also continue to use ring as the cryptography provider (without additional dependencies) by specifying the tls-ring feature.

Dependencies

~0–9MB
~64K SLoC