Unit-tests:
@@ -98,12 +98,12 @@ Prerequisutes
Configuration and compilation
- - run the configure-windows-visual-studio.bat batch file from PcapPlusPlus main directory. The script will ask you for the locations of WinPcap developer's packet and pthreads-win32. The script will modify mk\vs2015\PcapPlusPlusPropertySheet.props file with these locations
+ - run the configure-windows-visual-studio.bat batch file from PcapPlusPlus main directory. The script will ask you for the locations of WinPcap developer's pack and pthreads-win32. The script will modify mk\vs2015\PcapPlusPlusPropertySheet.props file with these locations
- PcapPlusPlus contains 3 Visual Studio solutions:
- mk\vs2015\PcapPlusPlus.sln - contains PcapPlusPlus libraries (Common++, Packet++ and Pcap++) and unit-tests projects
- mk\vs2015\PcapPlusPlus-Examples.sln - contains all PcapPlusPlus examples. Reuquires PcapPlusPlus.sln to be built
- - mk\vs2015\ExampleProject\ExampleProject.sln - a fully configured project for working with PcapPlusPlus. You can use this project to write your own code using PcapPlusPlus. It already has all the include paths, libaray paths etc. configured and also an empty main() function. Just write your code and build. This solution is also relocatable so you can move it to wherever you want and it will still build successfully. Reuquires PcapPlusPlus.sln to be built
+ - Examples\ArpSpoofing-VS2015-Project\ArpSpoofing.sln - a fully configured project for working with PcapPlusPlus. You can use this project to write your own code using PcapPlusPlus. It already has all the include paths, libaray paths configured and also the ArpSpoofing utility code. You can build and run this code or delete it and write your own code. This solution is also relocatable so you can move it to wherever you want and it will still build successfully. Reuquires PcapPlusPlus.sln to be built
- All solutions support both 32-bit (x86) and 64-bit (x64) configurations as well as Debug and Release modes. So actually 4 modes are supported: x86|Debug, x86|Release, x64|Debug, x64|Release
@@ -119,7 +119,7 @@ Prerequisutes
- The fastest way I found for installing mingw32 was through this link: http://www.mingw.org/wiki/Getting_Started
- Download "mingw-get-setup.exe", run it and follow the instructions
- By default the pthreads library is not installed so you need to ask to install it. It can be done during the installation process or afterwards with "mingw-get.exe" (MinGW installation manager)
- - In the MinGW installation manager search for all packages named "mingw32-pthreads-w32" and select them
+ - In the MinGW installation manager search for all packages containing "pthreads" and mark them for installation
- Choose Installation->Update Catalogue
- If you prefer to install pthreads manually please follow these steps:
@@ -135,7 +135,7 @@ Prerequisutes
@@ -145,7 +145,7 @@ Prerequisutes
Configuration and compilation
- Run the configure-windows-mingw.bat batch file from PcapPlusPlus main directory. The script will ask you for WinPcap developer's pack location and MinGW location
- - Run mingw32-make.exe all from PcapPlusPlus main directory
+ - Run mingw32-make.exe all from PcapPlusPlus main directory
- This should compile all libraries, unit-tests and examples
- After compilation you can find the libraries, examples, header files and helpful makefiles under the Dist\ directory
@@ -154,7 +154,7 @@ Compiling PcapPlusPlus - Linux
Prerequisutes
In order to compile PcapPlusPlus on Linux you need the following components:
- - libpcap developers pack - containing the libpcap library PcapPlusPlus is linking with plus relevant header files. You can download it from http://www.tcpdump.org/#latest-release or through package management engines such as apt-get/yum:
sudo apt-get install libpcap-dev
or: sudo yum install libpcap-devel
+ - libpcap developers pack - containing the libpcap library PcapPlusPlus is linking with plus relevant header files. You can download it from http://www.tcpdump.org/#latest-release or through package management engines such as apt-get/yum:
sudo apt-get install libpcap-dev
or: sudo yum install libpcap-devel
- Make sure you have the libstdc++-static package. If not, you can install it via yum or apt-get
Configuration and compilation
@@ -185,19 +185,21 @@ Configuration and compilation
Simple testing
To ensure configuration and compilation went smoothly, you can run the unit-test applications for both Packet++ and Pcap++:
- seladb@seladb:~/home/PcapPlusPlus/Packet++Test$ Bin/Packet++Test
+ seladb@seladb:~/home/PcapPlusPlus/Tests/Packet++Test$ Bin/Packet++Test
EthPacketCreation : PASSED
EthAndArpPacketParsing : PASSED
ArpPacketCreation : PASSED
VlanParseAndCreation : PASSED
Ipv4PacketCreation : PASSED
Ipv4PacketParsing : PASSED
+Ipv4FragmentationTest : PASSED
Ipv4UdpChecksum : PASSED
Ipv6UdpPacketParseAndCreate : PASSED
TcpPacketNoOptionsParsing : PASSED
TcpPacketWithOptionsParsing : PASSED
TcpPacketWithOptionsParsing2 : PASSED
TcpPacketCreation : PASSED
+TcpPacketCreation2 : PASSED
InsertDataToPacket : PASSED
InsertVlanToPacket : PASSED
RemoveLayerTest : PASSED
@@ -212,32 +214,28 @@ Simple testing
PPPoEDiscoveryLayerParsingTest: PASSED
PPPoEDiscoveryLayerCreateTest : PASSED
DnsLayerParsingTest : PASSED
-DnsLayerQueryCreationTest : PASSED
-DnsLayerResourceCreationTest : PASSED
-DnsLayerEditTest : PASSED
-DnsLayerRemoveResourceTest : PASSED
-MplsLayerTest : PASSED
-CopyLayerAndPacketTest : PASSED
-IcmpParsingTest : PASSED
-IcmpCreationTest : PASSED
-IcmpEditTest : PASSED
-GreParsingTest : PASSED
-GreCreationTest : PASSED
-GreEditTest : PASSED
+...
+...
ALL TESTS PASSED!!
- seladb@seladb:~/PcapPlusPlus/Pcap++Test$ sudo Bin/Pcap++Test -i 10.0.0.1
+ seladb@seladb:~/PcapPlusPlus/Tests/Pcap++Test$ sudo Bin/Pcap++Test -i 10.0.0.1
Using ip: 10.0.0.1
Debug mode: off
Starting tests...
TestIPAddress : PASSED
TestMacAddress : PASSED
TestPcapFileReadWrite : PASSED
+TestPcapSllFileReadWrite : PASSED
+TestPcapFileAppend : PASSED
+TestPcapNgFileReadWrite : PASSED
+TestPcapNgFileReadWriteAdv : PASSED
TestPcapLiveDeviceList : PASSED
TestPcapLiveDeviceListSearch : PASSED
TestPcapLiveDevice : PASSED
+TestPcapLiveDeviceNoNetworking: PASSED
TestPcapLiveDeviceStatsMode : PASSED
+TestPcapLiveDeviceBlockingMode: PASSED
TestWinPcapLiveDevice : PASSED
TestPcapFilters : PASSED
TestSendPacket : PASSED
@@ -245,21 +243,8 @@ Simple testing
TestRemoteCapture : PASSED
TestHttpRequestParsing : PASSED
TestHttpResponseParsing : PASSED
-TestPrintPacketAndLayers : PASSED
-TestPfRingDevice : PASSED
-TestPfRingDeviceSingleChannel : PASSED
-TestPfRingMultiThreadAllCores : PASSED
-TestPfRingMultiThreadSomeCores: PASSED
-TestPfRingSendPacket : PASSED
-TestPfRingSendPackets : PASSED
-TestPfRingFilters : PASSED
-TestDnsParsing : PASSED
-TestDpdkDevice : PASSED
-TestDpdkMultiThread : PASSED
-TestDpdkDeviceSendPackets : PASSED
-TestDpdkMbufRawPacket : PASSED
-TestDpdkDeviceWorkerThreads : PASSED
-TestGetMacAddress : PASSED
+...
+...
ALL TESTS PASSED!!
diff --git a/examples.html b/examples.html
index 738b984a..36665d7f 100644
--- a/examples.html
+++ b/examples.html
@@ -62,7 +62,7 @@ Email:
Using PcapPlusPlus
Example applications
- PcapPlusPlus package already contains several example applications that make use of most PcapPlusPlus APIs and capabilities. Although some of them may useful on their own (like arping or arp-spoofing), their main objective is to show how to use PcapPlusPlus. All examples are well documented and contain code which is easy to understand. After compiling PcapPlusPlus all compiled applications are under Dist/examples. Here is the list of example applications:
+ PcapPlusPlus package already contains various example applications that make use of most PcapPlusPlus APIs and features. Although some of them may be useful on their own (like arping or arp-spoofing), their main objective is to show how to use PcapPlusPlus. All examples are well documented and contain code which is easy to understand. After compiling PcapPlusPlus all compiled applications are under Dist/examples. Here is the list of example applications:
-
Pcap++Examples.PacketParsing
@@ -79,6 +79,10 @@ ArpSpoofing
-
ArpSpoofing-SimpleMakefile-Windows
same code as ARP spoofing but with simple Windows makefile that demonstrates how to write a working Windows makefile that uses PcapPlusPlus(see Writing a simple application)
+
+ -
+
ArpSpoofing-VS2015-Project
+ same code as ARP spoofing but with fully configured Visual Studio 2015 solution that demonstrates how to write code that uses PcapPlusPlus with Visual Studio 2015
-
ArpSpoofing-SimpleMakefile-Linux
@@ -231,6 +235,7 @@ Linux makefile
- That's it! rather easy ha? Code, makefiles (Windows and Linux) and the pcap file I used are here. Go ahead and try it yourself
- Note: You can also experience some code with the following simple examples: ArpSpoofing-SimpleMakefile-Windows (on Windows) or ArpSpoofing-SimpleMakefile-Linux (on Linux or Mac OS X)
+ - Note 2: This guide isn't relevant for writing code over Visual Studio 2015. If you want to write code over Visual Studio, just use the ArpSpoofing-VS2015-Project solution, delete the code and write you own
diff --git a/index.html b/index.html
index e35b2ded..5a9ef30e 100644
--- a/index.html
+++ b/index.html
@@ -79,7 +79,7 @@ What makes PcapPlusPlus different from similar C++ wrappers for libpcap/WinP
- Designed to be lightweight and efficient (see benchmark results)
- Support for DPDK fast packet processing engine which enables packet capturing and transmition in line rate using kernel bypass
- Support for ntop's PF_RING packet capturing engine that dramatically improves the packet capture speed
- - Support for many protocols, including HTTP protocol parsing and editing
+ - Support for parsing and editing of many protocols, including L7 protocols like HTTP and SSL/TLS
- Support for Remote Capture capabilities on Windows (using RPCAP protocol supported in WinPcap)
- Support for reading and writing PCAPNG files (a lot more more than currently supported in WinPcap/libpcap)
- Vast object-oriented filtering mechanism that makes libpcap filters a lot more user-friendly (no need to know the exact filter string to use)
@@ -94,9 +94,7 @@ Windows
Linux
- - Ubuntu 12.04 LTS
- - Ubuntu 14.04 LTS
- - Ubuntu 14.10
+ - Ubuntu (12.04 LTS, 14.04 LTS, 16.04 LTS, 14.10)
- Fedora
- CentOS
- It should work on other Linux distributions as well