
मल्टीप्लेटफ़ॉर्म C++ लाइब्रेरी जो उच्च-प्रदर्शन नेटवर्क पैकेट कैप्चर, पार्सिंग, क्राफ्टिंग और विश्लेषण के लिए है। यह libpcap, DPDK, AF_XDP, PF_RING को सपोर्ट करती है, और इसमें TCP पुनर्संयोजन, TLS फिंगरप्रिंटिंग और प्रोटोकॉल डिकोडिंग शामिल है।
PcapPlusPlus एक मल्टी-प्लेटफॉर्म C++ लाइब्रेरी है जो नेटवर्क पैकेट को कैप्चर करने, पार्स करने और तैयार करने के लिए है। इसे कुशल, शक्तिशाली और उपयोग में आसान बनाने के लिए डिज़ाइन किया गया है।
PcapPlusPlus बड़ी संख्या में नेटवर्क प्रोटोकॉल के लिए डिकोडिंग और फोर्जिंग क्षमताओं को सक्षम बनाता है। यह सबसे लोकप्रिय पैकेट प्रोसेसिंग इंजनों जैसे libpcap, WinPcap, Npcap, DPDK, eBPF AF_XDP, WinDivert और PF_RING के लिए उपयोग में आसान C++ रैपर भी प्रदान करता है।
अनुवाद: English · 正體中文 · 한국어 · 日本語 · Русский
आप GitHub रिलीज़ पृष्ठ से डाउनलोड करना, पैकेज मैनेजर का उपयोग करना या स्वयं PcapPlusPlus बनाना चुन सकते हैं। अधिक विवरण के लिए कृपया PcapPlusPlus वेब-साइट पर डाउनलोड पृष्ठ पर जाएँ।
https://github.com/seladb/PcapPlusPlus/releases/latest
brew install pcapplusplus
Homebrew सूत्र: https://formulae.brew.sh/formula/pcapplusplus
Windows:
.\vcpkg install pcapplusplus
MacOS/Linux:
vcpkg install pcapplusplus
Vcpkg पोर्ट: https://github.com/microsoft/vcpkg/tree/master/ports/pcapplusplus
conan install "pcapplusplus/[>0]@" -u
ConanCenter में पैकेज: https://conan.io/center/pcapplusplus
Git रिपॉजिटरी क्लोन करें:
git clone https://github.com/seladb/PcapPlusPlus.git
PcapPlusPlus वेब-साइट पर स्रोत से बनाएँ पृष्ठ में अपने प्लेटफॉर्म के अनुसार बिल्ड निर्देशों का पालन करें।
v23.09 से नए PcapPlusPlus रिलीज़ GitHub प्रमाणन के साथ हस्ताक्षरित हैं। सभी प्रमाणन यहाँ पाए जा सकते हैं। आप GitHub CLI के साथ इन पैकेजों के प्रमाणन को सत्यापित कर सकते हैं। पैकेज सत्यापित करने के लिए आप gh attestation verify से नवीनतम निर्देशों का पालन कर सकते हैं। सरल निर्देशों के लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं:
gh attestation verify <path-to-package-file> --repository seladb/PcapPlusPlus
और आपको अपने टर्मिनल में निम्नलिखित आउटपुट देखना चाहिए:
✓ Verification succeeded!
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;
}
// read the first (and only) packet from the file
pcpp::RawPacket rawPacket;
if (!reader.getNextPacket(rawPacket))
{
std::cerr << "Couldn't read the first packet in the file" << std::endl;
return 1;
}
// parse the raw packet into a parsed packet
pcpp::Packet parsedPacket(&rawPacket);
// verify the packet is IPv4
if (parsedPacket.isPacketOfType(pcpp::IPv4))
{
// extract source and dest IPs
pcpp::IPv4Address srcIP = parsedPacket.getLayerOfType<pcpp::IPv4Layer>()->getSrcIPv4Address();
pcpp::IPv4Address destIP = parsedPacket.getLayerOfType<pcpp::IPv4Layer>()->getDstIPv4Address();
// print source and dest IPs
std::cout << "Source IP is '" << srcIP << "'; Dest IP is '" << destIP << "'" << std::endl;
}
// close the file
reader.close();
return 0;
}
आप PcapPlusPlus वेब-साइट पर शुरुआत करना पृष्ठ पर और अधिक जानकारी पा सकते हैं। यह पृष्ठ आपको एक ऐप चालू करने के लिए कुछ आसान चरणों से परिचित कराएगा।
PcapPlusPlus में 3 लाइब्रेरी शामिल हैं:
आप PcapPlusPlus वेब-साइट पर API दस्तावेज़ीकरण अनुभाग में एक विस्तृत API दस्तावेज़ीकरण पा सकते हैं। यदि आपको कोई लुप्त डेटा दिखाई देता है तो कृपया हमसे संपर्क करें।
PcapPlusPlus वर्तमान में समर्थित है
Windows
PcapPlusPlus वर्तमान में निम्नलिखित प्रोटोकॉल के पैकेट के पार्सिंग, संपादन और निर्माण का समर्थन करता है:
डेटा प्लेन डेवलपमेंट किट (DPDK) तीव्र पैकेट प्रोसेसिंग के लिए डेटा प्लेन लाइब्रेरीज़ और नेटवर्क इंटरफ़ेस कंट्रोलर ड्राइवरों का एक सेट है।
PF_RING™ एक नए प्रकार का नेटवर्क सॉकेट है जो पैकेट कैप्चर गति में नाटकीय रूप से सुधार करता है।
दोनों ढाँचे बहुत तेज़ पैकेट प्रोसेसिंग (लाइन गति तक) प्रदान करते हैं और कई नेटवर्क अनुप्रयोगों जैसे राउटर, फ़ायरवॉल, लोड बैलेंसर आदि में उपयोग किए जाते हैं। PcapPlusPLus DPDK और PF_RING के लिए C++ एब्स्ट्रैक्शन लेयर प्रदान करता है। यह एब्स्ट्रैक्शन लेयर एक उपयोग में आसान इंटरफ़ेस प्रदान करती है जो इन ढाँचों के उपयोग में शामिल बहुत सारे बॉयलरप्लेट को हटा देती है। आप PcapPlusPlus वेब-साइट पर DPDK और PF_RING समर्थन पृष्ठों पर जाकर अधिक जान सकते हैं।
हमने PcapPlusPlus की तुलना अन्य समान C++ लाइब्रेरीज़ (जैसे libtins और libcrafter) के साथ प्रदर्शन की तुलना करने के लिए Matias Fontanini के packet-capture-benchmarks प्रोजेक्ट का उपयोग किया।
आप PcapPlusPlus वेब-साइट पर बेंचमार्क पृष्ठ में परिणाम देख सकते हैं।
हमें फीडबैक पाकर बहुत खुशी होगी, कृपया निम्नलिखित किसी भी तरीके से हमसे संपर्क करने में संकोच न करें:
यदि आपको यह प्रोजेक्ट पसंद है तो कृपया हमें GitHub पर स्टार करें — यह मदद करता है! ⭐ ⭐
अधिक जानने के लिए कृपया PcapPlusPlus वेब-साइट पर जाएँ।
हम इस प्रोजेक्ट में किसी भी योगदान की बहुत सराहना करेंगे। यदि आप योगदान देने में रुचि रखते हैं तो कृपया PcapPlusPlus वेब-साइट पर योगदान पृष्ठ पर जाएँ।
PcapPlusPlus Unlicense लाइसेंस के तहत जारी किया गया है।