libpnet
zenoh
libpnet | zenoh | |
---|---|---|
4 | 16 | |
2,293 | 1,481 | |
1.0% | 3.4% | |
7.3 | 9.9 | |
3 months ago | 5 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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?
zenoh
- Zenoh – Zero Overhead Network Protocol
-
ZeroMQ: High-Performance Concurrency Framework
I think https://zenoh.io is more of a successor or replacement.
- Robot Programming: Stop Designing Software for Non-Roboticists
- Zenoh: Zero Overhead Network Protocol
- Eclipse Zenoh 0.10.0 is out
-
Can I use several async runtimes in the same project?
I'm very new to Rust and currently I'm trying to make sense of async programming in Rust. In my project I'm trying to create an http + websocket server (I picked Actix) that communicates to a CPP program over DDS and sends the result of this communication to some frontend over http/ws. I use Zenoh for leveraging communication between my Rust app and CPP, and it has it's own crate for creating a zenoh client in Rust. In the documentation they use async-std macros for the main function and Actix uses Tokio under the hood, as far as I understand. Is this gonna be a problem? Can I have several async runtimes in my project?
- Need recommendations for technologies, frameworks etc. for an IoT device project in Rust
-
Anouncing `stabby` 1.0!
Zenoh's plugin system was one of the main motivators for building stabby. However, Zenoh needs me on other fronts at the moment, so stabby will have to go to the back burner for a bit. This doesn't mean stabby will become unsupported: if you want to use it, and are having a hard time, feel free to DM me to get some support. In fact, what stabby needs most right now is feedback on what types you'd like to see supported, so go for it!
-
Zenoh Performances
Hello u/ComeGateMeBro, in zenoh we have zero-copy support, this is an example that shows how to use it: https://github.com/eclipse-zenoh/zenoh/blob/master/examples/examples/z_pub_shm.rs
What are some alternatives?
tokio
zmq.rs - A native implementation of ØMQ in Rust
MIO - Metal I/O library for Rust.
sniffnet - Comfortably monitor your Internet traffic 🕵️♂️
protocol - Easy protocol definitions in Rust
areg-sdk - AREG is an asynchronous Object RPC framework to simplify multitasking programming by blurring borders between processes and treating remote objects as if they coexist in the same thread.
actix - Actor framework for Rust.
canary - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility.
hydrogen - Multithreaded, non-blocking Linux server framework in Rust
quiche - 🥧 Savoury implementation of the QUIC transport protocol and HTTP/3