tcpflow VS libpnet

Compare tcpflow vs libpnet and see what are their differences.

tcpflow

TCP/IP packet demultiplexer. Download from: (by simsong)

libpnet

Cross-platform, low level networking using the Rust programming language. (by libpnet)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
tcpflow libpnet
5 4
1,638 2,151
- 1.4%
3.7 4.9
8 months ago 27 days ago
C++ Rust
GNU General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

tcpflow

Posts with mentions or reviews of tcpflow. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-02.

libpnet

Posts with mentions or reviews of libpnet. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-11.
  • Packet capture (use PcapPlusPlus in Rust?)
    2 projects | /r/rust | 11 May 2023
    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)
    2 projects | news.ycombinator.com | 2 Feb 2023
    > 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.

What are some alternatives?

When comparing tcpflow and libpnet you can also consider the following projects:

tokio

MIO - Metal I/O library for Rust.

protocol - Easy protocol definitions in Rust

actix - Actor framework for Rust.

hydrogen - Multithreaded, non-blocking Linux server framework in 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.

sniffnet - Comfortably monitor your Internet traffic 🕵️‍♂️

rust-utp - A µTP (Micro/uTorrent Transport Library) library implemented in Rust

RuMqtt

parallel-getter - ** Deprecated **

Wire - A rustic tcp + serialization abstraction.

ssldump - ssldump - (de-facto repository gathering patches around the cyberspace)