अपडेट पर वापस जाएँ
New releaseJul 23, 2026

PcapPlusPlus v26.07

मल्टीप्लेटफ़ॉर्म C++ लाइब्रेरी जो उच्च-प्रदर्शन नेटवर्क पैकेट कैप्चर, पार्सिंग, क्राफ्टिंग और विश्लेषण के लिए है। यह libpcap, DPDK, AF_XDP, PF_RING को सपोर्ट करती है, और इसमें TCP पुनर्संयोजन, TLS फिंगरप्रिंटिंग और प्रोटोकॉल डिकोडिंग शामिल है।

साझा करें

PcapPlusPlus Logo

GitHub Workflow Status GitHub Workflow Status Codecov OpenSSF Scorecard GitHub contributors

X Follow GitHub Repo stars

PcapPlusPlus एक मल्टी-प्लेटफॉर्म C++ लाइब्रेरी है जो नेटवर्क पैकेट को कैप्चर करने, पार्स करने और तैयार करने के लिए है। इसे कुशल, शक्तिशाली और उपयोग में आसान बनाने के लिए डिज़ाइन किया गया है।

PcapPlusPlus बड़ी संख्या में नेटवर्क प्रोटोकॉल के लिए डिकोडिंग और फोर्जिंग क्षमताओं को सक्षम बनाता है। यह सबसे लोकप्रिय पैकेट प्रोसेसिंग इंजनों जैसे libpcap, WinPcap, Npcap, DPDK, eBPF AF_XDP, WinDivert और PF_RING के लिए उपयोग में आसान C++ रैपर भी प्रदान करता है।

अनुवाद: English · 正體中文 · 한국어 · 日本語 · Русский

विषय सूची

डाउनलोड

आप GitHub रिलीज़ पृष्ठ से डाउनलोड करना, पैकेज मैनेजर का उपयोग करना या स्वयं PcapPlusPlus बनाना चुन सकते हैं। अधिक विवरण के लिए कृपया PcapPlusPlus वेब-साइट पर डाउनलोड पृष्ठ पर जाएँ।

GitHub all releases

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 लाइब्रेरी शामिल हैं:

  1. Packet++ - नेटवर्क पैकेट को पार्स करने, बनाने और संपादित करने के लिए एक लाइब्रेरी
  2. Pcap++ - पैकेट को इंटरसेप्ट करने और भेजने, नेटवर्क और NIC जानकारी, सांख्यिकी आदि प्रदान करने के लिए एक लाइब्रेरी। यह वास्तव में libpcap, WinPcap, Npcap, DPDK, AF_XDP, WinDivert और PF_RING जैसे पैकेट कैप्चर इंजनों के लिए C++ रैपर है
  3. Common++ - कुछ सामान्य कोड उपयोगिताओं वाली एक लाइब्रेरी जिसका उपयोग Packet++ और Pcap++ दोनों द्वारा किया जाता है

आप PcapPlusPlus वेब-साइट पर API दस्तावेज़ीकरण अनुभाग में एक विस्तृत API दस्तावेज़ीकरण पा सकते हैं। यदि आपको कोई लुप्त डेटा दिखाई देता है तो कृपया हमसे संपर्क करें

मल्टी प्लेटफॉर्म समर्थन

PcapPlusPlus वर्तमान में समर्थित है Windows , Linux , MacOS , Android और FreeBSD . कृपया सभी समर्थित प्लेटफॉर्म देखने के लिए PcapPlusPlus वेब-साइट पर जाएँ और अपने प्लेटफॉर्म पर PcapPlusPlus का उपयोग शुरू करने के लिए डाउनलोड अनुभाग देखें।

समर्थित नेटवर्क प्रोटोकॉल

PcapPlusPlus वर्तमान में निम्नलिखित प्रोटोकॉल के पैकेट के पार्सिंग, संपादन और निर्माण का समर्थन करता है:

डेटा लिंक लेयर (L2)

  1. Cisco HDLC
  2. Ethernet II
  3. IEEE 802.3 Ethernet
  4. LLC (केवल BPDU समर्थित)
  5. Null/Loopback
  6. Packet trailer (उर्फ फुटर या पैडिंग)
  7. PPPoE
  8. SLL (Linux cooked capture)
  9. SLL2 (Linux cooked capture v2)
  10. STP
  11. VLAN
  12. VXLAN
  13. Wake on LAN (WoL)
  14. NFLOG (Linux Netfilter NFLOG) - केवल पार्सिंग (कोई संपादन क्षमता नहीं)

नेटवर्क लेयर (L3)

  1. ARP
  2. GRE
  3. ICMP
  4. ICMPv6
  5. IGMP (IGMPv1, IGMPv2 और IGMPv3 समर्थित)
  6. IPv4
  7. IPv6
  8. MPLS
  9. NDP
  10. Raw IP (IPv4 और IPv6)
  11. VRRP (IPv4 और IPv6)
  12. WireGuard

ट्रांसपोर्ट लेयर (L4)

  1. COTP
  2. GTP (v1 और v2)
  3. IPSec AH और ESP - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  4. TCP
  5. TPKT
  6. UDP

सेशन लेयर (L5)

  1. SDP
  2. SIP

प्रेजेंटेशन लेयर (L6)

  1. SSL/TLS - केवल पार्सिंग (कोई संपादन क्षमता नहीं)

एप्लिकेशन लेयर (L7)

  1. ASN.1 डिकोडर और एन्कोडर
  2. BGP (v4)
  3. क्रिप्टोग्राफ़िक कुंजी डिकोडर
  4. DHCP
  5. DHCPv6
  6. DNS
  7. DoIP
  8. FTP
  9. HTTP हेडर (अनुरोध और प्रतिक्रिया)
  10. LDAP
  11. Modbus
  12. MySQL - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  13. NTP (v3, v4)
  14. PEM डिकोडर और एन्कोडर
  15. PostgreSQL Wire Protocol (PGWire) - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  16. Radius
  17. S7 Communication (S7comm)
  18. SMTP
  19. SOME/IP
  20. SSH - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  21. Telnet - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  22. X509 प्रमाणपत्र - केवल पार्सिंग (कोई संपादन क्षमता नहीं)
  23. सामान्य पेलोड

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 वेब-साइट पर जाएँ।

योगदान

हम इस प्रोजेक्ट में किसी भी योगदान की बहुत सराहना करेंगे। यदि आप योगदान देने में रुचि रखते हैं तो कृपया PcapPlusPlus वेब-साइट पर योगदान पृष्ठ पर जाएँ।

लाइसेंस

PcapPlusPlus Unlicense लाइसेंस के तहत जारी किया गया है।

GitHub

श्रेणियाँ