Skip to main content
Version: v22.05

Getting Started

PcapPlusPlus is a multi-platform C++ library for capturing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use.

PcapPlusPlus enables decoding and forging capabilities for a large variety of network protocols. It also provides easy to use C++ wrappers for the most popular packet processing engines such as libpcap, WinPcap, Npcap (WinPcap's successor), DPDK and PF_RING.

v22.05 Release

Quick Start

This guide will help you install and build your first PcapPlusPlus application. You can find more information in the Tutorials and in the installation guide.

Please choose your platform:

Step 1 - install PcapPlusPlus

Before installing PcapPlusPlus make sure you have the prerequisites installed for Linux.

Pre-compiled packages are available for recent versions of Ubuntu, Fedora and CentOS. You can find them under the v22.05 release. After downloading and extracting the archive file go to: /path/to/your/package/ and run the installation script:

./install.sh

Another option is using Homebrew on Linux if you have it installed on your system:

brew install pcapplusplus

If you have another Linux distribution or GCC version you'll need to build PcapPlusPlus from source. Make sure not to skip the installation part.

Step 2 - create your first app

If you downloaded a pre-compiled package go to: /path/to/your/package/example-app.

If you built it from source go to: /path/to/pcapplusplus/source/Tutorials/Tutorial-HelloWorld.

Make sure you see the following files:

 |-- main.cpp
|-- 1_packet.pcap

main.cpp is the example application we'll use.

1_packet.pcap is a pcap file the app reads from.

Step 3 - create a Makefile

If you downloaded a pre-compiled package you can find a Makefile in /path/to/your/package/example-app. This Makefile is already configured.

If you built it from source:

  • go to /path/to/pcapplusplus/source/Tutorials/Tutorial-HelloWorld
  • rename Makefile.non_windows to Makefile

Step 4 - build and run your app

Run make to build the app:

$ make

An executable file will be created which contains the compiled app. You can now run it and should be able to see the following output:

Source IP is '10.0.0.138'; Dest IP is '10.0.0.1'