Skip to content

Rust-based async ARP client library for probing hosts and sending advanced ARP requests.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

skullim/async-arp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-arp

GitHub license crates.io

async-arp is an asynchronous Rust crate that provides a high-level client for interacting with the Address Resolution Protocol (ARP). It can be used to probe the presence of hosts in a network or send advanced, custom ARP requests. This crate is ideal for network diagnostics, monitoring, or any application requiring interaction with ARP.

Features

  • Async & Extensible: Uses the Tokio runtime for efficient asynchronous networking, with plans to support other async runtimes or a runtime-agnostic implementation.
  • Host Probing: Quickly probe for active devices in the network using ARP requests.
  • Advanced Requests: Send custom ARP requests and interact with devices in more complex ways.
  • ARP Caching: ARP responses are cached for a customizable duration, reducing redundant network requests.
  • Retry capabilities: Improves reliability when probing hosts with intermittent responses.
  • Unix-only: This crate is designed for Unix-based systems (Linux, macOS, BSD).

Documentation

You can find the documentation for this project, including examples, usage, and API reference, here:

Requirements

This library requires elevated privileges to access raw network interfaces. You can either:

  1. Grant the program the CAP_NET_RAW capability (recommended):

    This allows the program to run without sudo while still being able to access raw network interfaces. It's a more secure option than running the entire program as root.

    To grant the necessary capability, use the following command:

    sudo setcap cap_net_raw=eip /path/to/your/program
  2. Run the program with sudo privileges

License

Licensed under either of

About

Rust-based async ARP client library for probing hosts and sending advanced ARP requests.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published