tcpflow VS libpnet

Compare tcpflow vs libpnet and see what are their differences.

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,643 2,170
- 1.6%
3.7 4.9
9 months ago 8 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.
  • tcpdump is amazing (2016)
    2 projects | news.ycombinator.com | 2 Feb 2023
    > where: timestamp is an optional timestamp of the time that the first packet was seen

    https://github.com/simsong/tcpflow/blob/master/doc/tcpflow.1...

    .B t

  • Don't skip outgoing traffic
    4 projects | dev.to | 2 Jan 2023
    tcpflow
  • Tcpflow: TCP/IP Packet Demultiplexer
    1 project | news.ycombinator.com | 23 Dec 2022
  • Getting Started with NMAP
    1 project | news.ycombinator.com | 18 Dec 2022
    Mentioning tcpflow here b/c it's one of the most useful networking related tools I know of that very few people even know about.

    What does it do?

    It can reassemble TCP packets back into the FULL body of the original message sent. e.g. if you make a HTTP GET request, it will show you the full text in a file stamped with the time, source and dest ips and port.

    Things I've found it REALLY useful for:

    - migrating a data center

    - for some reason, connection works fine on the old DC but seems to time out in weird ways in the new DC

    - No one can figure it out

    - I suggest using tcpflow

    - Turn out there was a setting in the new DC network hardware that was truncating larger packets and the authorization message was just over the threshold

    People always say "yeah, but Wireshark" which is true, that's a good tool too. That being said, there is just something about seeing the "raw" text of a message sent by a machine over the wire and being able to see it in text from the command line.

    https://github.com/simsong/tcpflow

  • Tracing HTTP Requests with Tcpflow
    3 projects | news.ycombinator.com | 13 Nov 2022
    There seems to be an issue open for this https://github.com/simsong/tcpflow/issues/58

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.

  • Low Level Networking/Packet Manipulation
    1 project | /r/rust | 10 Apr 2022
    libpnet provides a cross-platform API for low level networking using Rust.
  • TCP Assembly library?
    1 project | /r/rust | 4 Feb 2022

What are some alternatives?

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

htop - htop - an interactive process viewer

tokio

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

MIO - Metal I/O library for Rust.

Forensia - Anti Forensics Tool For Red Teamers, Used For Erasing Footprints In The Post Exploitation Phase.

protocol - Easy protocol definitions in Rust

tcpreplay - Pcap editing and replay tools for *NIX and Windows - Users please download source from

actix - Actor framework for Rust.

netpeek - Layer 7 sniffer

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 🕵️‍♂️