
PcapPlusPlus v26.07
مكتبة C++ متعددة المنصات لالتقاط حزم الشبكة عالية الأداء، وتحليلها، وتشكيلها، وفحصها. تدعم libpcap، DPDK، AF_XDP، PF_RING، وتتضمن إعادة تجميع TCP، وبصمة TLS، وفك تشفير البروتوكولات.
PcapPlusPlus هي مكتبة C++ متعددة المنصات لالتقاط حزم الشبكة وتحليلها وإنشائها. صُممت لتكون فعّالة وقوية وسهلة الاستخدام.
توفّر PcapPlusPlus قدرات فك الترميز والتزوير لمجموعة كبيرة ومتنوعة من بروتوكولات الشبكة. كما توفّر أغلفة C++ سهلة الاستخدام لأشهر محركات معالجة الحزم مثل libpcap، وWinPcap، وNpcap، وDPDK، وeBPF AF_XDP، وWinDivert، وPF_RING.
الترجمات: English · 正體中文 · 한국어 · 日本語 · Русский
جدول المحتويات
- جدول المحتويات
- التنزيل
- نظرة عامة على الميزات
- البدء
- توثيق واجهة برمجة التطبيقات
- دعم المنصات المتعددة
- بروتوكولات الشبكة المدعومة
- دعم DPDK و PF_RING
- المقاييس المرجعية
- تقديم الملاحظات
- المساهمة
- الترخيص
التنزيل
يمكنك الاختيار بين التنزيل من صفحة إصدارات GitHub، أو استخدام مدير حزم، أو بناء PcapPlusPlus بنفسك. لمزيد من التفاصيل يُرجى زيارة صفحة التنزيل على موقع PcapPlusPlus الإلكتروني.
صفحة إصدارات GitHub
https://github.com/seladb/PcapPlusPlus/releases/latest
Homebrew
brew install pcapplusplus
صيغ Homebrew: https://formulae.brew.sh/formula/pcapplusplus
Vcpkg
Windows:
.\vcpkg install pcapplusplus
MacOS/Linux:
vcpkg install pcapplusplus
منفذ Vcpkg: https://github.com/microsoft/vcpkg/tree/master/ports/pcapplusplus
Conan
conan install "pcapplusplus/[>0]@" -u
الحزمة في ConanCenter: https://conan.io/center/pcapplusplus
بنائها بنفسك
استنسخ مستودع git:
git clone https://github.com/seladb/PcapPlusPlus.git
اتبع تعليمات البناء وفقًا لمنصتك في صفحة البناء من المصدر على موقع PcapPlusPlus الإلكتروني.
التحقق من حزمك
إصدارات PcapPlusPlus الأحدث من v23.09 موقّعة باستخدام GitHub attestation. يمكن العثور على جميع الـ attestations هنا. يمكنك التحقق من attestation لهذه الحزم باستخدام GitHub CLI. للتحقق من الحزم يمكنك اتباع أحدث التعليمات من gh attestation verify. للحصول على تعليمات بسيطة يمكنك استخدام الأمر التالي:
gh attestation verify <path-to-package-file> --repository seladb/PcapPlusPlus
ويجب أن ترى المخرجات التالية في الطرفية:
✓ Verification succeeded!
نظرة عامة على الميزات
- التقاط الحزم من خلال غلاف C++ سهل الاستخدام لمحركات التقاط الحزم الشائعة مثل libpcap، وWinPcap، وNpcap، وIntel DPDK، وeBPF AF_XDP، وWinDivert، وntop’s PF_RING وraw sockets [اعرف المزيد]
- تحليل الحزم وإنشاؤها بما في ذلك التحليل التفصيلي للبروتوكولات والطبقات، وتوليد الحزم وتحرير الحزم لمجموعة كبيرة ومتنوعة من بروتوكولات الشبكة [اعرف المزيد]
- قراءة وكتابة الحزم من/إلى الملفات بصيغتي PCAP و__PCAPNG__ [اعرف المزيد]
- معالجة الحزم بمعدل الخط من خلال غلاف C++ فعّال وسهل الاستخدام لـ DPDK، وeBPF AF_XDP وPF_RING [اعرف المزيد]
- دعم المنصات المتعددة - PcapPlusPlus مدعومة بالكامل على Linux وMacOS وWindows وAndroid وFreeBSD
- إعادة تجميع الحزم - تنفيذ فريد لـ TCP Reassembly الذي يتضمن إعادة إرسال TCP، وحزم TCP غير المرتبة، وبيانات TCP المفقودة، و__تجزئة وإلغاء تجزئة IP__ لإنشاء وإعادة تجميع أجزاء IPv4 وIPv6 [اعرف المزيد]
- تصفية الحزم التي تجعل مرشحات BPF الخاصة بـ libpcap أكثر سهولة في الاستخدام [اعرف المزيد]
- بصمة TLS - تنفيذ C++ لـ JA3 و JA3S لبصمة TLS [اعرف المزيد]
البدء
كتابة التطبيقات باستخدام PcapPlusPlus سهلة وبديهية للغاية. إليك تطبيق بسيط يوضح كيفية قراءة حزمة من ملف PCAP وتحليلها:
#include <iostream>
#include "IPv4Layer.h"
#include "Packet.h"
#include "PcapFileDevice.h"
int main(int argc, char* argv[])
{
// open a pcap file for reading
pcpp::PcapFileReaderDevice reader("1_packet.pcap");
if (!reader.open())
{
std::cerr << "Error opening the pcap file" << std::endl;
return 1;
}
