
PcapPlusPlus v26.07
मल्टीप्लेटफ़ॉर्म C++ लाइब्रेरी जो उच्च-प्रदर्शन नेटवर्क पैकेट कैप्चर, पार्सिंग, क्राफ्टिंग और विश्लेषण के लिए है। यह libpcap, DPDK, AF_XDP, PF_RING को सपोर्ट करती है, और इसमें TCP पुनर्संयोजन, TLS फिंगरप्रिंटिंग और प्रोटोकॉल डिकोडिंग शामिल है।
PcapPlusPlus एक मल्टी-प्लेटफॉर्म C++ लाइब्रेरी है जो नेटवर्क पैकेट को कैप्चर करने, पार्स करने और तैयार करने के लिए है। इसे कुशल, शक्तिशाली और उपयोग में आसान बनाने के लिए डिज़ाइन किया गया है।
PcapPlusPlus बड़ी संख्या में नेटवर्क प्रोटोकॉल के लिए डिकोडिंग और फोर्जिंग क्षमताओं को सक्षम बनाता है। यह सबसे लोकप्रिय पैकेट प्रोसेसिंग इंजनों जैसे libpcap, WinPcap, Npcap, DPDK, eBPF AF_XDP, WinDivert और PF_RING के लिए उपयोग में आसान C++ रैपर भी प्रदान करता है।
अनुवाद: English · 正體中文 · 한국어 · 日本語 · Русский
विषय सूची
- विषय सूची
- डाउनलोड
- सुविधा अवलोकन
- शुरुआत करना
- API दस्तावेज़ीकरण
- मल्टी प्लेटफॉर्म समर्थन
- समर्थित नेटवर्क प्रोटोकॉल
- 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 वेब-साइट पर स्रोत से बनाएँ पृष्ठ में अपने प्लेटफॉर्म के अनुसार बिल्ड निर्देशों का पालन करें।
अपने पैकेज सत्यापित करें
v23.09 से नए PcapPlusPlus रिलीज़ GitHub प्रमाणन के साथ हस्ताक्षरित हैं। सभी प्रमाणन यहाँ पाए जा सकते हैं। आप GitHub CLI के साथ इन पैकेजों के प्रमाणन को सत्यापित कर सकते हैं। पैकेज सत्यापित करने के लिए आप gh attestation verify से नवीनतम निर्देशों का पालन कर सकते हैं। सरल निर्देशों के लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं:
gh attestation verify <path-to-package-file> --repository seladb/PcapPlusPlus
और आपको अपने टर्मिनल में निम्नलिखित आउटपुट देखना चाहिए:
✓ Verification succeeded!
सुविधा अवलोकन
- पैकेट कैप्चर - लोकप्रिय पैकेट कैप्चर इंजन जैसे libpcap, WinPcap, Npcap, Intel DPDK, eBPF AF_XDP, WinDivert, ntop’s PF_RING और रॉ सॉकेट के लिए उपयोग में आसान C++ रैपर के माध्यम से [और जानें]
- पैकेट पार्सिंग और क्राफ्टिंग - बड़ी संख्या में नेटवर्क प्रोटोकॉल के लिए प्रोटोकॉल और लेयर्स का विस्तृत विश्लेषण, पैकेट निर्माण और पैकेट संपादन शामिल है [और जानें]
- फ़ाइलों से/में पैकेट पढ़ना और लिखना - PCAP और PCAPNG दोनों प्रारूपों में [और जानें]
- लाइन रेट पर पैकेट प्रोसेसिंग - DPDK, eBPF AF_XDP और PF_RING के लिए कुशल और उपयोग में आसान C++ रैपर के माध्यम से [और जानें]
- मल्टीप्लेटफॉर्म समर्थन - PcapPlusPlus Linux, MacOS, Windows, Android और FreeBSD पर पूरी तरह से समर्थित है
- पैकेट पुनःसंयोजन - TCP पुनःसंयोजन का अद्वितीय कार्यान्वयन जिसमें TCP पुनर्प्रेषण, आउट-ऑफ-ऑर्डर TCP पैकेट और लापता TCP डेटा, और IPv4 और IPv6 टुकड़े बनाने और पुनःसंयोजित करने के लिए IP विखंडन और विखंडन-विलय शामिल है [और जानें]
- पैकेट फ़िल्टरिंग जो libpcap के BPF फ़िल्टर को अधिक उपयोगकर्ता-अनुकूल बनाती है [और जानें]
- TLS फ़िंगरप्रिंटिंग - JA3 और JA3S TLS फ़िंगरप्रिंटिंग का C++ कार्यान्वयन [और जानें]
शुरुआत करना
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 वेब-साइट पर शुरुआत करना पृष्ठ पर और अधिक जानकारी पा सकते हैं। यह पृष्ठ आपको एक ऐप चालू करने के लिए कुछ आसान चरणों से परिचित कराएगा।
API दस्तावेज़ीकरण
PcapPlusPlus में 3 लाइब्रेरी शामिल हैं:
- Packet++ - नेटवर्क पैकेट को पार्स करने, बनाने और संपादित करने के लिए एक लाइब्रेरी
- Pcap++ - पैकेट को इंटरसेप्ट करने और भेजने, नेटवर्क और NIC जानकारी, सांख्यिकी आदि प्रदान करने के लिए एक लाइब्रेरी। यह वास्तव में libpcap, WinPcap, Npcap, DPDK, AF_XDP, WinDivert और PF_RING जैसे पैकेट कैप्चर इंजनों के लिए C++ रैपर है
- Common++ - कुछ सामान्य कोड उपयोगिताओं वाली एक लाइब्रेरी जिसका उपयोग Packet++ और Pcap++ दोनों द्वारा किया जाता है
आप PcapPlusPlus वेब-साइट पर API दस्तावेज़ीकरण अनुभाग में एक विस्तृत API दस्तावेज़ीकरण पा सकते हैं। यदि आपको कोई लुप्त डेटा दिखाई देता है तो कृपया हमसे संपर्क करें।
मल्टी प्लेटफॉर्म समर्थन
PcapPlusPlus वर्तमान में समर्थित है
Windows
समर्थित नेटवर्क प्रोटोकॉल
PcapPlusPlus वर्तमान में निम्नलिखित प्रोटोकॉल के पैकेट के पार्सिंग, संपादन और निर्माण का समर्थन करता है:
डेटा लिंक लेयर (L2)
- Cisco HDLC
- Ethernet II
- IEEE 802.3 Ethernet
- LLC (केवल BPDU समर्थित)
- Null/Loopback
- Packet trailer (उर्फ फुटर या पैडिंग)
- PPPoE
- SLL (Linux cooked capture)
- SLL2 (Linux cooked capture v2)
- STP
- VLAN
- VXLAN
- Wake on LAN (WoL)
- NFLOG (Linux Netfilter NFLOG) - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
नेटवर्क लेयर (L3)
- ARP
- GRE
- ICMP
- ICMPv6
- IGMP (IGMPv1, IGMPv2 और IGMPv3 समर्थित)
- IPv4
- IPv6
- MPLS
- NDP
- Raw IP (IPv4 और IPv6)
- VRRP (IPv4 और IPv6)
- WireGuard
ट्रांसपोर्ट लेयर (L4)
- COTP
- GTP (v1 और v2)
- IPSec AH और ESP - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- TCP
- TPKT
- UDP
सेशन लेयर (L5)
- SDP
- SIP
प्रेजेंटेशन लेयर (L6)
- SSL/TLS - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
एप्लिकेशन लेयर (L7)
- ASN.1 डिकोडर और एन्कोडर
- BGP (v4)
- क्रिप्टोग्राफ़िक कुंजी डिकोडर
- DHCP
- DHCPv6
- DNS
- DoIP
- FTP
- HTTP हेडर (अनुरोध और प्रतिक्रिया)
- LDAP
- Modbus
- MySQL - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- NTP (v3, v4)
- PEM डिकोडर और एन्कोडर
- PostgreSQL Wire Protocol (PGWire) - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- Radius
- S7 Communication (S7comm)
- SMTP
- SOME/IP
- SSH - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- Telnet - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- X509 प्रमाणपत्र - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
- सामान्य पेलोड
DPDK और PF_RING समर्थन
डेटा प्लेन डेवलपमेंट किट (DPDK) तीव्र पैकेट प्रोसेसिंग के लिए डेटा प्लेन लाइब्रेरीज़ और नेटवर्क इंटरफ़ेस कंट्रोलर ड्राइवरों का एक सेट है।
PF_RING™ एक नए प्रकार का नेटवर्क सॉकेट है जो पैकेट कैप्चर गति में नाटकीय रूप से सुधार करता है।
दोनों ढाँचे बहुत तेज़ पैकेट प्रोसेसिंग (लाइन गति तक) प्रदान करते हैं और कई नेटवर्क अनुप्रयोगों जैसे राउटर, फ़ायरवॉल, लोड बैलेंसर आदि में उपयोग किए जाते हैं। PcapPlusPLus DPDK और PF_RING के लिए C++ एब्स्ट्रैक्शन लेयर प्रदान करता है। यह एब्स्ट्रैक्शन लेयर एक उपयोग में आसान इंटरफ़ेस प्रदान करती है जो इन ढाँचों के उपयोग में शामिल बहुत सारे बॉयलरप्लेट को हटा देती है। आप PcapPlusPlus वेब-साइट पर DPDK और PF_RING समर्थन पृष्ठों पर जाकर अधिक जान सकते हैं।
बेंचमार्क
हमने PcapPlusPlus की तुलना अन्य समान C++ लाइब्रेरीज़ (जैसे libtins और libcrafter) के साथ प्रदर्शन की तुलना करने के लिए Matias Fontanini के packet-capture-benchmarks प्रोजेक्ट का उपयोग किया।
आप PcapPlusPlus वेब-साइट पर बेंचमार्क पृष्ठ में परिणाम देख सकते हैं।
प्रतिक्रिया दें
हमें फीडबैक पाकर बहुत खुशी होगी, कृपया निम्नलिखित किसी भी तरीके से हमसे संपर्क करने में संकोच न करें:
- GitHub टिकट खोलें
- PcapPlusPlus Google समूह में पोस्ट करें: https://groups.google.com/d/forum/pcapplusplus-support
- Stack Overflow पर प्रश्न पूछें: https://stackoverflow.com/questions/tagged/pcapplusplus
- ईमेल भेजें: [email protected]
- हमें X पर फ़ॉलो करें: https://x.com/seladb
यदि आपको यह प्रोजेक्ट पसंद है तो कृपया हमें GitHub पर स्टार करें — यह मदद करता है! ⭐ ⭐
अधिक जानने के लिए कृपया PcapPlusPlus वेब-साइट पर जाएँ।
योगदान
हम इस प्रोजेक्ट में किसी भी योगदान की बहुत सराहना करेंगे। यदि आप योगदान देने में रुचि रखते हैं तो कृपया PcapPlusPlus वेब-साइट पर योगदान पृष्ठ पर जाएँ।
लाइसेंस
PcapPlusPlus Unlicense लाइसेंस के तहत जारी किया गया है।
