libpnet
hydrogen
libpnet | hydrogen | |
---|---|---|
4 | - | |
2,293 | 359 | |
1.0% | - | |
7.3 | 0.0 | |
3 months ago | over 5 years ago | |
Rust | Rust | |
Apache License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libpnet
-
Packet capture (use PcapPlusPlus in Rust?)
Hey, I'm looking for the best way to do packet capture in Rust. I've looked at both libpnet and pcap crates, and they both seem way less mature and with less functionality than the PcapPlusPlus library, which seems to be the golden suite of packet capture and manipulation.
-
tcpdump is amazing (2016)
> I mentioned really briefly that tcpdump lets you save pcap files. This is awesome because literally every network analysis tool in the universe understands pcap files. pcap files are like freshly baked chocolate chip cookies. Everybody loves them.
OMG, yes, very well put. When I get a bug report with a pcap file I know I'll be able to know exactly what happened.
Speaking of which: for one of my libraries, I want to make a diagnostic tool that replays an interaction. My library mostly operates at the TCP level (also some UDP), so I need to reconstruct the TCP flows in my tool to feed to my library. Either I need an easy-to-use Rust library to do that directly from pcap files [1] or some format that represents bytes moving over the flow (like sets of lines with a timestamp, flow id, and pretty hexdump of the bytes) with a tool that produces it from pcap. This seems like something that should exist? Wireshark's “Analyze > Follow > TCP Stream”’s “Save As…” with "hex dump" is kind of what I want, but it doesn't have timestamps, and it doesn't have a way to put everything (multiple flows, UDP packets also) in one file.
[1] https://crates.io/crates/pnet looks promising but it wasn't as obvious as I hoped how to plug it in for what I want.
-
Low Level Networking/Packet Manipulation
libpnet provides a cross-platform API for low level networking using Rust.
- TCP Assembly library?
hydrogen
We haven't tracked posts mentioning hydrogen yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
tokio
rust-zmq - Rust zeromq bindings.
MIO - Metal I/O library for Rust.
protocol - Easy protocol definitions in Rust
rust-ftp - FTP client for Rust
actix - Actor framework for Rust.
Thrussh
sniffnet - Comfortably monitor your Internet traffic 🕵️♂️
nanomsg.rs - Nanomsg library for Rust
zenoh - zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
ssh2-rs - Rust bindings for libssh2