#packet #networking #building #cross-platform #high-level #nex #nex-packet

nex-packet-builder

Provides high-level packet building on top of nex-packet. Part of nex project.

5 releases (breaking)

new 0.10.0 May 19, 2024
0.9.0 Apr 27, 2024
0.8.0 Apr 8, 2024
0.7.0 Feb 25, 2024
0.6.0 Feb 25, 2024

#2088 in Network programming

Download history 219/week @ 2024-02-22 63/week @ 2024-02-29 6/week @ 2024-03-07 5/week @ 2024-03-14 11/week @ 2024-03-21 25/week @ 2024-03-28 130/week @ 2024-04-04 34/week @ 2024-04-11 16/week @ 2024-04-18 148/week @ 2024-04-25 8/week @ 2024-05-02 3/week @ 2024-05-09 218/week @ 2024-05-16

378 downloads per month
Used in 5 crates (via nex)

MIT license

300KB
6.5K SLoC

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.10"

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.

Dependencies

~3–30MB
~424K SLoC