May 2021 release of PcapPlusPlus (v21.05)
This package contains
- Binaries compiled for Ubuntu 20.04 LTS, 18.04 LTS,16.04 LTS
- Binaries compiled for CentOS 7
- Binaries compiled for Fedora 29
- Binaries compiled for macOS 11.1 (Big Sur), 10.15 (Catalina), 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra) using Xcode ranging from 9.2 to 12.3 with Intel processor
- Binaries compiled for macOS 11.1 (Big Sur) with Apple Silicon (M1) processor,
- Binaries compiled for Android with all 4 ABIs:
arm64-v8a
,armeabi-v7a
,x86
,x86_64
- Binaries compiled for FreeBSD 11.4 and 12.2
- Binaries compiled for Windows using MinGW32 9.2.0 (32bit) and MinGW-w64 8.1.0 (32bit)
- Binaries compiled for Windows using Microsoft Visual Studio 2019, 2017, 2015 (32bit + 64bit, Debug + Release configurations)
- Source code + Linux installation scripts for DPDK, PF_RING and vanilla
- Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://pcapplusplus.github.io/v2105/
Release notes (changes from v20.08)
- Added official Android support!
- TLS fingerprinting based on JA3
- Extract TLS fingerprints from TLS ClientHello and ServerHello packets
- TLS fingerprinting example app
- TLS 1.3 support
- A brand new DPDK setup script written in Python that makes it easier to setup DPDK
- Apple silicon M1 support (thanks @szigetics !)
- Significant size reduction of PcapPlusPlus compiled libraries
- Calculate a packet's network data size before sending a packet and make sure it doesn't exceed the MTU (thanks @SamuelBailey !)
- UDP multicast support (thanks @mmizi !)
- Add
isMulticast()
property toIPAddress
,IPv4Address
,IPv6Address
- PcapSplitter: take into consideration multicast packets when splitting by client/server IP/port
- Add
- New protocol support:
- SSH (parsing only)
- IP Sec (AH + ESP, parsing only)
- Existing protocol enhancement:
- DNS over TCP
- Parse 2 new TLS extensions: Supported Groups and EC Point Format
- Added a new
IPLayer
interface to abstractIPv4Layer
andIPv6Layer
- Added convenient methods to fetch source and dest ports in TCP and UDP layers
- GRE layer - add Transparent Ethernet Bridging support (thanks @justin-parus !)
- Major header files cleanup: remove platform-specific includes, remove
pcap.h
from PcapPlusPlus includes, remove redundant header files, replace c-str arguments with C++std::string
- New API method to search
PcapLiveDevice
by IP address or name - Parse packets with link type of
LINKTYPE_IPV4
andLINKTYPE_IPV6
(thanks @miketruman !) - TCP reassembly
- Add configurable out-of-order packets per flow limit (thanks @LeonBuikstraFox !)
- Expose missing bytes size on data loss (thanks @cryptocode !)
hash5Tuple
improvements (thanks @miketruman !)- Fix Makefile dependencies - detect when header files are changed (thanks @amirgon !)
- Recognize
*.zstd
file extension inIFileReaderDevice::getReader()
(thanks @naugler !) - Moved a large portion of PcapPlusPlus CI to GitHub Actions
- Tons of bug fixes (thank you to everyone who reported issues and contributed bugfixes!)
Contributors
Thank you to everyone who contributed to this release:
- @mmizi
- @github-euronext
- @szigetics
- @SamuelBailey
- @nickamon
- @naugler
- @skorup101
- @amirgon
- @cartman-156
- amritanshu.johri
- @weyrick
- @justin-parus
- @LeonBuikstraFox
- @miketruman
- Julian Härig
- @clementperon
- @cryptocode
- @ramazantokay