DEV Community

seladb
seladb

Posted on

PcapPlusPlus v22.11 Released - C++ library for capturing and analyzing network packets

Hi everyone!

I'm so excited to share that PcapPlusPlus v22.11 is out! πŸ”₯πŸ”₯

Let me start off by a quick introduction to the project.

PcapPlusPlus is a C++ library for capturing, analyzing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use and provides a C++ wrapper for the most popular packet processing engines such as libpcap, WinPcap, Npcap, DPDK and PF_RING.

You can learn more about the project on our web-site.

Some numbers and stats: at the time of writing (November 2022) the project has over 80 contributors, around 44K downloads and more than 2000 GitHub stars. v22.11 is the 12th release, and typically a new release comes out 1-2 times a year.

Now let me share some of the exciting stuff included in this release:

  • PcapPlusPlus finally moved to C++11. It took some time, but it's finally there :)
  • As a result, we removed the pthreads dependency and replaced it with C++11 std::thread
    • Unfortunately this required dropping MinGW32 support because it doesn't support std::thread, but the good news is that MinGW-w64 and Visual Studio support remained unchanged
  • We added tons of new protocols which brings the total number of supported protocols to 40 (!!). (here is the full list of protocols):
    • Telnet
    • FTP
    • ICMPv6
    • NDP
    • LLC
    • STP
    • SOME/IP
    • Wake on LAN (WoL)
  • Added support for DPDK 21.11 and various fixes to the DPDK setup process and NIC support
  • Handle unilateral RST in TCP reassembly
  • Retrieve a live device IPv6 address if available
  • Add .zst file extension support for pcapng files compressed with Zstd
  • Improved and modernized our internal tooling
  • Tons of bug fixes and minor improvements that could not fit into this list

You can see the full list of changes in the release notes: https://github.com/seladb/PcapPlusPlus/releases/tag/v22.11

We welcome contributors and are interested in having more people joining this project. You are welcome to check out the project on GitHub and see the open issues or suggest features. If you like the project, please consider giving it a GitHub star ⭐⭐.

I'll be happy to answer any questions.

Top comments (0)