Changelog History
-
v20.08 Changes
August 25, 2020๐ August 2020 release of PcapPlusPlus (v20.08)
๐ฆ This package contains
- Binaries compiled with Ubuntu 20.04 LTS, 18.04 LTS,16.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 29
- ๐ Binaries compiled with MacOS 10.15 (Catalina) , 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra), and 10.11 (El Capitan) using Xcode ranging from 8.0 to 12.0
- Binaries compiled with FreeBSD 11.3 and 12.1
- ๐ Binaries compiled with Windows using MinGW32 9.2.0 (32bit) and MinGW-w64 8.1.0 (32bit)
- ๐ Binaries compiled with 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/v2008/
๐ Release notes (changes from v19.12)
- ๐ Major security and quality improvements:
- PcapPlusPlus was added to Google OSS-Fuzz which uses the Fuzz testing technique to discover security vulnerabilities and stability bugs (thank you @zlowram !)
- Created a new regression test suite for OSS-Fuzz bugfixes under
Tests/Fuzzers/RegressionTests
(thank you @zlowram !) - Added LGTM integration to enable continuous code analysis and prevent critical vulnerabilities (thank you @alexey-tereshenkov-oxb !)
- More than 60 issues were found by OSS-Fuzz and LGTM and fixed in this release
- Revamped Packet++Test and Pcap++Test: tests are now more structured, divided into multiple files and use common and more intuitive test infrastructure
- Added a new test suite (written in Python) for PcapPlusPlus examples under
Tests/ExamplesTests
- โ Added Npcap support for Windows (in parallel to WinPcap support)
- โ Added DPDK 19.11 (LTS) support
- ๐ New supported protocols:
- BGP v4
- IEEE 802.3 Ethernet
- ๐ New platforms officially supported:
- MacOS Catalina (10.15)
- Ubuntu 20.04
- A complete rewrite of the IP address classes
IPv4Address
,IPv6Address
andIPAddress
to make them more efficient and east to use (thank you @gx740 !) - In addition, new features were added to IP address classes:
- Added "less than" comparison operator (thank you @maruu !)
- Added subnet match for
IPv6Address
(thank you @DinoStray !)
- ๐ Performance optimization, readability improvements and code cleanup in various parts of the code (thank you @maruu and @gx740 !)
- โ Integrated streaming ZStd compression for pcapng files (thank you @Dysl3xik !)
- Pcap/pcapng files:
- Read and write in nanoseconds precision for pcapng files (thank you @Akvinikym !)
- Enable
flush
for pcap and pcapng file writers (thank you @rickyzhang82 and @l-henken !)
- TCP reassembly returns status in every call to
TcpReassembly::reassemblePacket()
(thank you @starliiit !) - โ Added port filter to
HttpAnalyzer
(thank you @makefriend8 !) - ๐ Support for setting snapshot length in
PcapLiveDevice
(thank you @wongsingfo !) GeneralFilter::matchPacketWithFilter()
can now match packet of any link type (thank you @skorup101 !)- โ Added user link types 147-162 to support custom protocols (thank you @l-henken !)
- ๐ Tons of bug fixes (thank you everyone who reported issues and contributed bugfixes!)
Contributors
๐ Thank you for everyone who contributed to this release:
-
v19.12 Changes
December 04, 2019๐ December 2019 release of PcapPlusPlus (v19.12)
๐ฆ This package contains
- Binaries compiled with Ubuntu 18.04 LTS, 16.04 LTS,14.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 29
- ๐ Binaries compiled with MacOS 10.11 (El Capitan), 10.12 (Sierra), 10.13 (High Sierra) and 10.14 (Mojave) using Xcode ranging from 7.3 to 11.2
- Binaries compiled with FreeBSD 11.2 and 12.0
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015, 2017, 2019 (32bit + 64bit, Debug + Release configurations)
- Source code
- ๐ง 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/v1912/
๐ Release notes (changes from v19.04)
- โ Added support for Visual Studio 2017 and 2019
- โ Added support for DPDK 19.08 (thanks @gx740 !)
- Major improvements in TCP reassembly (thanks @gx740 !):
- Reducing memory consumption by cleaning up old connections
- A lot of performance and code optimizations
- โ Added out-of-the-box support for MacOS 10.14 Mojave and later
- โ Added support for FreeBSD (thanks @rickyzhang82 !)
- โ Added support for GTP v1 protocol
- โ Added DPDK KNI support (thanks @echo-Mike !)
- โ Added KniPong example to demo the new KNI API (thanks @echo-Mike !)
- ๐ Lots of performance optimizations and code cleanups (special thanks to @gx740 !)
- ๐ Major revamp of reading/writing pcapng files - use streaming instead of memory copies and added support for compression (thanks @Dysl3xik !)
- ๐ง Added support for pcap_setdirection in
PcapLiveDevice
(thanks @MrSiz !) - ๐ Performance optimization and fixes in IPReassembly (thanks @gx740, @silviucpp !)
- โ Added a new
BPFStringFilter
pcap filter to handle raw BPF filter strings and deprecated the oldIPcapDevice::matchPacketWithFilter()
API (thanks @Dysl3xik !) - Let the user add custom LDFLAGS to the main Makefile (thanks @rom1sqr !)
- โ Added data validations in
IPv4Layer
before parsing the next layers (thanks @gx740 !) - โ Created a new unit-test framework to make it easier to write unit-tests
- Replaced old 3rd-party debug-new with new homegrown MemPlumber
- ๐ Tons of bug fixes (special thanks to @gx740 , @echo-Mike , @Dysl3xik !)
Contributors
๐ Thank you for everyone who contributed to this release:
-
v19.04 Changes
April 02, 2019๐ April 2019 release of PcapPlusPlus (v19.04)
๐ฆ This package contains:
- Binaries compiled with Ubuntu 18.04 LTS, 16.04 LTS,14.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 29
- ๐ Binaries compiled with MacOS 10.10 (Yosemite), 10.11 (El Capitan), 10.12 (Sierra) and 10.13 (High Sierra) using Xcode ranging from 7.3 to 10.1
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015 (32bit and 64bit, Debug and Release configurations)
- Source code
- ๐ง 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/v1904/
๐ Release notes (changes from v18.08):
- ๐ DPDK support enhancements:
- Added support for the newest DPDK releases: 18.05, 18.08, 18.11, 19.02
- Added a new
DpdkBridge
example which is a PcapPlusPlus implementation for DPDK's L2 forwarding example - Thanks @vicenterb ! - Added a new tutorial for using PcapPlusPlus with DPDK which walks through building a simple version of DpdkBridge
- ๐ Packet parsing and crafting enhancements:
- Added RADIUS layer
- Revamped DNS record API and added support for DNS MX records
- Revamped remove layer from packet - removing a layer is more intuitive now + added an option to detach a layer from a packet
- Revamped TLV data handling - simplified the way IPv4 options, TCP options, DHCP options, RADIUS attributes and IPv6 extensions with options are handled. API is now more intuitive and shares a common infrastructure
- Fixed bugs in fetching VLAN properties in
VlanLayer
- thanks @Lapshin !
- โ Added support for raw sockets on Linux and Windows (
RawSocketDevice
) - โ Added support for link-types other than Ethernet in
PcapLiveDevice
- thanks @axasoft ! - ๐ฆ Exposed start and end times in TCP reassembly - thanks @Lnk2past !
- PcapSplitter:
- Added pcapng support
- When splitting by connection, multiple flows with the same 5-tuple are now separated to different files
- โ Added filtering capabilities to
PcapNgFileWriterDevice
- thanks @vrobles-gee ! - โ Added more accurate time measurement for packet capture in blocking mode
- โ Added
DeviceConfiguration
toPcapLiveDevice
to provide an interface to set WinPcap/libpcap packet buffer size and buffer timeout - ๐จ Refactored the devices class hierarchy (the new root class is now
IDevice
) - ๐ท Build system improvements to provide better support for package managers - thanks @solvingj !
- ๐ Lots of bugfixes
-
v18.08 Changes
August 07, 2018๐ August 2018 release of PcapPlusPlus (v18.08)
โ Master branch is always kept stable, so the latest code can always be considered as the newest stable version.
๐ฆ This package contains:
- Binaries compiled with Ubuntu 16.04 LTS and Ubuntu14.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 26
- ๐ Binaries compiled with MacOS 10.10 (Yosemite), 10.11 (El Capitan), 10.12 (Sierra) and 10.13 (High Sierra) using Xcode ranging from 6.4 to 9.4
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015 (32bit and 64bit, Debug and Release configurations)
- Source code
- ๐ง 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/v1808/
๐ Release notes (changes from v17.11):
- Massive DPDK enhancements:
- Major performance improvements
- Fixed some mbuf leakages
- DPDK 17.11 and 18.02 support (thanks @luigino !)
- Re-designed some of DpdkDevice APIs to make them cleaner, faster and easier to use
- Expose DPDK-specific stats
- RSS (Receive Side Scaling) support
- DPDK TX buffers support
- Enable DPDK master core configuration
- โ Added IP reassembly module (a.k.a IP de-fragmenetation). Supports both IPv4 and IPv6
- โ Added IPv6 support for TCP reassembly
- ๐ Install to custom directory on Linux and MacOS
- ๐ Performance improvement in packet parsing
- ๐ Fixed compatibility issues with C++17 (thanks @echo-Mike !)
- Read multiple packets from pcap/pcapng files
- ๐ท Build system improvements (thanks @echo-Mike !)
- ๐ New protocols:
- Packet trailer (a.k.a footer or padding)
- IPv6 extensions
- ๐ New and updated utilities:
- New IPFragUtil for splitting packets into IP fragments
- New IPDefragUtil for reassembling IP fragments into packets
- PcapSplitter now supports round-robin splitting
- ๐ Many bugfixes
-
v17.11 Changes
November 05, 2017๐ November 2017 release of PcapPlusPlus (v17.11)
โ Master branch is always kept stable, so the latest code can always be considered as the newest stable version.
๐ฆ This package contains:
- Binaries compiled with Ubuntu 16.04 LTS and Ubuntu14.04 LTS
- Binaries compiled with CentOS 7
- Binaries compiled with Fedora 26
- ๐ Binaries compiled with MacOS 10.10 (Yosemite), 10.11 (El Capitan) and 10.12 (Sierra) using Xcode ranging from 6.4 to 9
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015 (32bit and 64bit, Debug and Release configurations)
- Source code
- ๐ง 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://github.com/seladb/PcapPlusPlus-Doc/releases/tag/v17.11
๐ Release notes (changes from v17.02)
- โ Added TCP reassembly module
- Set Unilicense as PcapPlusPlus license
- โ Added support for DPDK 16.11 and 17.02 (replacing old 2.1 version)
- โ Added 5 tutorials for getting started with PcapPlusPlus: http://seladb.github.io/PcapPlusPlus-Doc/tutorials.html
- โ Added installation target ('make install') on Linux and MacOS
- ๐ New protocols:
- SIP
- SDP
- IPv4 options
- Raw IP link layer type
- VXLAN
- ๐ New and updated utilities:
- New TCP reassembly utility
- PcapSplitter now includes split criteria in split file names (for example: when splitting by client IP output files will look like: filename-client-ip-x.x.x.x.pcap). This applies also to splitting by server IP, server port and BPF filter (thanks to @bpagon13 !)
- PcapSplitter now supports splitting pcap files with link type other than Ethernet
- Added version information for all utilities
- ๐ Choose whether to parse a packet fully or up to a certain layer
- โ Added support for libpcap immediate mode where supported (libpcap ver>=1.5) - thanks to @f-squirrel !
- โฌ๏ธ pthreads on MinGW are now linked statically (upgraded pthreads to 2.10)
- โ Added PcapPlusPlus version and Git info API
- Clean-ups:
- Removed unnecessary files and reduced repo size
- Removed compilation warnings
- Cleaner makefiles and makefile output
- Moved debug-new to 3rd-party
- ๐ Many bugfixes
-
v17.02 Changes
February 19, 2017๐ February 2017 release of PcapPlusPlus
โ Master branch is always kept stable, so the latest code can always be considered as the newest stable version.
๐ฆ This package contains:
- Source code
- Binaries compiled with Ubuntu 16.04 LTS (64bit),14.04 LTS (64bit), 12.04 LTS (64bit) (without DPDK and PF_RING)
- Binaries compiled with Ubuntu 14.04 LTS (64bit) and DPDK 2.1.0
- Binaries compiled with Ubuntu 14.04 LTS (64bit) and PF_RING 6.4.1
- ๐ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
- ๐ Binaries compiled with Windows using Microsoft Visual Studio 2015 (32bit and 64bit, Debug and Release configurations)
- Binaries compiled with Mac OSX 10.10 (Yosemite), 10.11 (El Capitan) and 10.12 (Sierra) using Xcode ranging from 6.4 to 8.2
- ๐ Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://github.com/seladb/PcapPlusPlus-Doc/releases/tag/v17.02
๐ฆ In order to compile your application with the attached binary packages you need to:
- ๐ Follow the README.release file in each package, it contains instructions how to update the PcapPlusPlus.mk makefile or PcapPlusPlusPropertySheet.props (for VS 2015) in order for your application to be compiled and linked properly with PcapPlusPlus binaries
- Follow "Creating Applications With PcapPlusPlus" section in https://github.com/seladb/PcapPlusPlus
- For DPDK and PF_RING, please also follow: http://seladb.github.io/PcapPlusPlus-Doc/dpdk-pf_ring.html
๐ Release notes (changes from v16.09):
- ๐ Microsoft Visual Studio 2015 support - x86 (32bit) & x64 (64bit) + Debug & Release configurations
- ๐ง MinGW-w64 support (32bit configuration only)
- ๐ Native PcapNG format support (reading and writing files)
- ๐ New protocols:
- DHCP
- Null/Loopback
- IGMP
- ๐ New and updated utilities:
- Added ICMP file transfer utility
- PcapSplitter
- Added the option to split only packets matching to a certain BPF filter
- Support splitting of large files (more than 2GB)
- PcapPrinter:
- Added support for printing PcapNG files
- Added printing of packet comments (supported only in PcapNG files)
- Added printing of file info
- PcapSearch:
- Added searching inside PcapNG files
- HttpAnalyzer:
- Added analyzing of HTTP packets inside PcapNG files
- SSLAnalyzer:
- Added analyzing of SSL/TLS packets inside PcapNG files
- โ Added blocking mode capturing in PcapLiveDevice
- Match packets with BPF filter without device instance
- ๐ Simplified build process (removed dependency in platform.mk)
- โ Added clear filter capability to all devices
- ๐ Many bugfixes
-
v16.09 Changes
September 12, 2016๐ September 2016 release of PcapPlusPlus
โ Master branch is always kept stable, so the latest code can always be considered as the newest stable version.
๐ฆ This package contains:
- Source code
- Binaries compiled with Ubuntu 14.04 LTS (64bit), 12.04 LTS (64bit+32bit) (without DPDK and PF_RING)
- Binaries compiled with Ubuntu 14.04 LTS (64bit) and DPDK 2.1.0
- Binaries compiled with Ubuntu 14.04 LTS (64bit) and PF_RING 6.4.1
- ๐ Binaries compiled with Windows using Mingw32
- Binaries compiled with Mac OSX 10.9 (Mavericks), 10.10 (Yosemite) and 10.11 (El Capitan) using Xcode ranging from 6.1 to 8.0
- ๐ Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://github.com/seladb/PcapPlusPlus-Doc/releases/tag/v16.09
๐ฆ In order to compile your application with the attached binary packages you need to:
- ๐ Update mk/PcapPlusPlus.mk file: follow the README.release file in each package
- Follow "Creating Applications With PcapPlusPlus" section in https://github.com/seladb/PcapPlusPlus
- For DPDK and PF_RING, please also follow: http://seladb.github.io/PcapPlusPlus-Doc/dpdk-pf_ring.html
๐ Release notes (changes from v16.02):
- ๐ New protocols:
- SSL/TLS (parsing only)
- SLL (Linux cooked capture)
- ๐ New utilities:
- PcapSplitter - splits a pcap file into smaller ones by various criteria
- PcapSearch - search inside pcap files and match packets by user-defined pattern
- PcapPrinter - outputs packets from a pcap file as a readable string
- SSL Analyzer - analyzes SSL/TLS traffic and presents detailed information about it
- PcapPlusPlus performance benchmark application
- โ Added namespace to avoid pollution of the global namespace
- โ Added capability to open pcap files in append mode
- ๐ Fixed compilation issues with DPDK on Ubuntu 14.04 and gcc 4.8.x
- Faster compilation process
- โ Added command-line switches to configure-linux.sh and configure-windows.bat
- โ Added continuous integration for all platforms (Win32, Linux and Mac OS X)
- ๐ IPv4 fragmentation detection and parsing
- ๐ New and improved TCP/UDP flow key generation methods
- VlanLayer - added CFI and priority getters + setters
- ๐จ Refactor TCP options
- ๐ Many bugfixes
-
v16.02 Changes
February 03, 2016๐ February 2016 release of PcapPlusPlus
โ Master branch is always kept stable, so the latest code can always be considered as the newest stable version.
๐ But I'll be using releases to publish compiled binaries once in a while๐ฆ This package contains:
- Binaries compiled with Ubuntu 14.10 32-bit (compiled without DPDK and PF_RING)
- ๐ Binaries compiled with Windows 7 32-bit
- Binaries compiled with Mac OS X Snow Leopard 10.6.2 32-bit
In order to compile your application with these binaries you need to:
- โก๏ธ Update mk/PcapPlusPlus.mk file:
- Set "PCAPPLUSPLUS_HOME" to the folder where binaries are located
- For Windows only: set "MINGW_HOME" to the folder where MinGW is installed
- For Windows only: set "WINPCAP_HOME" to the folder where WinPcap Developer's Pack is installed
- Follow "Creating Applications With PcapPlusPlus" section in https://github.com/seladb/PcapPlusPlus