Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PcapPlusPlus — Libreria C++ multipiattaforma per cattura, parsing, creazione e analisi di pacchetti di rete ad alte prestazioni. Supporta libpcap, DPDK, AF_XDP, PF_RING e include riassemblaggio TCP, fingerprinting TLS e decodifica di protocolli. | Kitploit
Strumenti/GitHubGitHub/seladb/pcapplusplus
Sniffing e Analisi dei PacchettiMappatura della ReteNetwork ForensicsInformatica ForenseSicurezza di ReteUtilità e FrameworkCrawlerAnalisi DNS
GitHubseladb/pcapplusplus

PcapPlusPlus

Libreria C++ multipiattaforma per cattura, parsing, creazione e analisi di pacchetti di rete ad alte prestazioni. Supporta libpcap, DPDK, AF_XDP, PF_RING e include riassemblaggio TCP, fingerprinting TLS e decodifica di protocolli.

Vedi Repository
3.1k7512 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Logo PcapPlusPlus

GitHub Workflow Status GitHub Workflow Status Codecov OpenSSF Scorecard GitHub contributors

X Follow GitHub Repo stars

PcapPlusPlus è una libreria C++ multipiattaforma per la cattura, l'analisi e la creazione di pacchetti di rete. È progettata per essere efficiente, potente e facile da usare.

PcapPlusPlus consente capacità di decodifica e forgiatura per un'ampia varietà di protocolli di rete. Fornisce inoltre wrapper C++ facili da usare per i motori di elaborazione dei pacchetti più popolari come libpcap, WinPcap, Npcap, DPDK, eBPF AF_XDP, WinDivert e PF_RING.

Traduzioni: Inglese · 正體中文 · 한국어 · 日本語 · Русский

Sommario

  • Sommario
  • Scarica
    • Pagina delle Release su GitHub
    • Homebrew
    • Vcpkg
    • Conan
    • Compila da Solo
    • Verifica i tuoi pacchetti
  • Panoramica delle Funzionalità
  • Per Iniziare
  • Documentazione API
  • Supporto Multipiattaforma
  • Protocolli di Rete Supportati
    • Livello di Collegamento Dati (L2)
    • Livello di Rete (L3)
    • Livello di Trasporto (L4)
    • Livello di Sessione (L5)
    • Livello di Presentazione (L6)
    • Livello Applicativo (L7)
  • Supporto per DPDK e PF_RING
  • Benchmark
  • Fornisci Feedback
  • Contribuisci
  • Licenza

Scarica

Puoi scegliere tra scaricare dalla pagina delle release di GitHub, utilizzare un gestore di pacchetti o compilare PcapPlusPlus da solo. Per maggiori dettagli visita la pagina Scarica sul sito web di PcapPlusPlus.

GitHub all releases

Pagina delle Release su GitHub

https://github.com/seladb/PcapPlusPlus/releases/latest

Homebrew

root@kitploit:~
brew install pcapplusplus

Formula Homebrew: https://formulae.brew.sh/formula/pcapplusplus

Vcpkg

Windows:

root@kitploit:~
.\vcpkg install pcapplusplus

MacOS/Linux:

root@kitploit:~
vcpkg install pcapplusplus

Port Vcpkg: https://github.com/microsoft/vcpkg/tree/master/ports/pcapplusplus

Conan

root@kitploit:~
conan install "pcapplusplus/[>0]@" -u

Il pacchetto in ConanCenter: https://conan.io/center/pcapplusplus

Compila da Solo

Clona il repository git:

root@kitploit:~
git clone https://github.com/seladb/PcapPlusPlus.git

Segui le istruzioni di compilazione in base alla tua piattaforma nella pagina Compila dal Sorgente sul sito web di PcapPlusPlus.

Verifica i tuoi pacchetti

Le release di PcapPlusPlus successive alla v23.09 sono firmate con attestazione GitHub. Tutte le attestazioni si trovano qui. Puoi verificare l'attestazione di questi pacchetti con GitHub CLI. Per verificare i pacchetti, puoi seguire le istruzioni più recenti da gh attestation verify. Per istruzioni semplici, puoi utilizzare il seguente comando:

root@kitploit:~
gh attestation verify <path-to-package-file> --repository seladb/PcapPlusPlus

e dovresti vedere il seguente output nel tuo terminale:

root@kitploit:~
✓ Verification succeeded!

Panoramica delle Funzionalità

  • Cattura di pacchetti tramite un wrapper C++ facile da usare per i motori di cattura pacchetti più diffusi come libpcap, WinPcap, Npcap, Intel DPDK, eBPF AF_XDP, WinDivert, PF_RING di ntop e raw sockets [Scopri di più]
  • Analisi e creazione di pacchetti inclusa l'analisi dettagliata di protocolli e livelli, la generazione di pacchetti e la modifica per un'ampia varietà di protocolli di rete [Scopri di più]
  • Lettura e scrittura di pacchetti da/verso file in formato PCAP e PCAPNG [Scopri di più]
  • Elaborazione di pacchetti a velocità di linea tramite un wrapper C++ efficiente e facile da usare per DPDK, eBPF AF_XDP e PF_RING [Scopri di più]
  • Supporto multipiattaforma - PcapPlusPlus è completamente supportato su Linux, MacOS, Windows, Android e FreeBSD
  • Riassemblaggio di pacchetti - implementazione unica di TCP Reassembly che include ritrasmissione TCP, pacchetti TCP fuori ordine e dati TCP mancanti, e Frammentazione e Deframmentazione IP per creare e riassemblare frammenti IPv4 e IPv6 [Scopri di più]

Per Iniziare

Scrivere applicazioni con PcapPlusPlus è molto facile e intuitivo. Ecco una semplice applicazione che mostra come leggere un pacchetto da un file PCAP e analizzarlo:

root@kitploit:~
#include <iostream>
#include "IPv4Layer.h"
#include "Packet.h"
#include "PcapFileDevice.h"

int main(int argc, char* argv[])
{
    // apre un file pcap per la lettura
    pcpp::PcapFileReaderDevice reader("1_packet.pcap");
    if (!reader.open())
    {
        std::cerr << "Errore nell'apertura del file pcap" << std::endl;
        return 1;
    }

    // legge il primo (e unico) pacchetto dal file
    pcpp::RawPacket rawPacket;
    if (!reader.getNextPacket(rawPacket))
    {
        std::cerr << "Impossibile leggere il primo pacchetto nel file" << std::endl;
        return 1;
    }

    // analizza il pacchetto grezzo in un pacchetto analizzato
    pcpp::Packet parsedPacket(&rawPacket);

    // verifica che il pacchetto sia IPv4
    if (parsedPacket.isPacketOfType(pcpp::IPv4))
    {
        // estrae IP sorgente e destinazione
        pcpp::IPv4Address srcIP = parsedPacket.getLayerOfType<pcpp::IPv4Layer>()->getSrcIPv4Address();
        pcpp::IPv4Address destIP = parsedPacket.getLayerOfType<pcpp::IPv4Layer>()->getDstIPv4Address();

        // stampa IP sorgente e destinazione
        std::cout << "L'IP sorgente è '" << srcIP << "'; L'IP destinazione è '" << destIP << "'" << std::endl;
    }

    // chiude il file
    reader.close();

    return 0;
}

Puoi trovare molte più informazioni nella pagina Per Iniziare sul sito web di PcapPlusPlus. Questa pagina ti guiderà attraverso alcuni semplici passaggi per avere un'app in esecuzione.

Documentazione API

PcapPlusPlus è composto da 3 librerie:

  1. Packet++ - una libreria per analizzare, creare e modificare pacchetti di rete
  2. Pcap++ - una libreria per intercettare e inviare pacchetti, fornire informazioni di rete e NIC, statistiche, ecc. È di fatto un wrapper C++ per motori di cattura pacchetti come libpcap, WinPcap, Npcap, DPDK, AF_XDP, WinDivert e PF_RING
  3. Common++ - una libreria con alcune utilità di codice comuni utilizzate sia da Packet++ che da Pcap++

Puoi trovare un'ampia documentazione API nella sezione documentazione API sul sito web di PcapPlusPlus. Se noti dati mancanti, contattaci.

Supporto Multipiattaforma

PcapPlusPlus è attualmente supportato su Windows , Linux , MacOS , Android e FreeBSD . Visita il sito web di PcapPlusPlus per vedere tutte le piattaforme supportate e fai riferimento alla sezione Scarica per iniziare a utilizzare PcapPlusPlus sulla tua piattaforma.

Protocolli di Rete Supportati

PcapPlusPlus supporta attualmente l'analisi, la modifica e la creazione di pacchetti dei seguenti protocolli:

Livello di Collegamento Dati (L2)

  1. Cisco HDLC
  2. Ethernet II
  3. IEEE 802.3 Ethernet
  4. LLC (solo BPDU supportato)
  5. Null/Loopback
  6. Packet trailer (noto anche come footer o padding)
  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) - solo analisi (nessuna capacità di modifica)

Livello di Rete (L3)

  1. ARP
  2. GRE
  3. ICMP
  4. ICMPv6
  5. IGMP (supportati IGMPv1, IGMPv2 e IGMPv3)
  6. IPv4
  7. IPv6
  8. MPLS
  9. NDP
  10. Raw IP (IPv4 e IPv6)
  11. VRRP (IPv4 e IPv6)
  12. WireGuard

Livello di Trasporto (L4)

  1. COTP
  2. GTP (v1 e v2)
  3. IPSec AH e ESP - solo analisi (nessuna capacità di modifica)
  4. TCP
  5. TPKT
  6. UDP

Livello di Sessione (L5)

  1. SDP
  2. SIP

Livello di Presentazione (L6)

  1. SSL/TLS - solo analisi (nessuna capacità di modifica)

Livello Applicativo (L7)

  1. Decodificatore e codificatore ASN.1
  2. BGP (v4)
  3. Decodificatori di chiavi crittografiche
  4. DHCP
  5. DHCPv6
  6. DNS
  7. DoIP
  8. FTP
  9. Intestazioni HTTP (richiesta e risposta)
  10. LDAP
  11. Modbus
  12. MySQL - solo analisi (nessuna capacità di modifica)
  13. NTP (v3, v4)
  14. Decodificatore e codificatore PEM
  15. Protocollo Wire PostgreSQL (PGWire) - solo analisi (nessuna capacità di modifica)
  16. Radius
  17. Comunicazione S7 (S7comm)
  18. SMTP
  19. SOME/IP
  20. SSH - solo analisi (nessuna capacità di modifica)
  21. Telnet - solo analisi (nessuna capacità di modifica)
  22. Certificati X509 - solo analisi (nessuna capacità di modifica)
  23. Payload generico

Supporto per DPDK e PF_RING

The Data Plane Development Kit (DPDK) è un insieme di librerie per il data plane e driver per controller di interfaccia di rete per l'elaborazione veloce dei pacchetti.

PF_RING™ è un nuovo tipo di socket di rete che migliora notevolmente la velocità di cattura dei pacchetti.

Entrambi i framework forniscono un'elaborazione dei pacchetti molto veloce (fino alla velocità di linea) e sono utilizzati in molte applicazioni di rete come router, firewall, bilanciatori di carico, ecc. PcapPlusPLus fornisce un livello di astrazione C++ su DPDK e PF_RING. Questo livello di astrazione fornisce un'interfaccia facile da usare che rimuove gran parte del codice boilerplate coinvolto nell'utilizzo di questi framework. Puoi saperne di più visitando le pagine di supporto DPDK e PF_RING sul sito web di PcapPlusPlus.

Benchmark

Abbiamo utilizzato il progetto packet-capture-benchmarks di Matias Fontanini per confrontare le prestazioni di PcapPlusPlus con altre librerie C++ simili (come libtins e libcrafter).

Puoi vedere i risultati nella pagina Benchmark sul sito web di PcapPlusPlus.

Fornisci Feedback

Saremo più che felici di ricevere feedback; sentiti libero di contattarci in uno dei seguenti modi:

  • Apri un ticket su GitHub
  • Invia un messaggio nel gruppo Google di PcapPlusPlus: https://groups.google.com/d/forum/pcapplusplus-support
  • Fai una domanda su Stack Overflow: https://stackoverflow.com/questions/tagged/pcapplusplus
  • Invia un'email a: [email protected]
  • Seguici su X: https://x.com/seladb

Se ti piace questo progetto, metti una stella su GitHub — aiuta! ⭐ ⭐

Visita il sito web di PcapPlusPlus per saperne di più.

Contribuisci

Apprezzeremmo molto qualsiasi contributo a questo progetto. Se sei interessato a contribuire, visita la pagina dei contributi sul sito web di PcapPlusPlus.

Licenza

PcapPlusPlus è rilasciato sotto la licenza Unlicense.

GitHub

Scarica lo strumento
  • Filtraggio di pacchetti che rende i filtri BPF di libpcap molto più facili da usare [Scopri di più]
  • TLS Fingerprinting - un'implementazione in C++ di JA3 e JA3S TLS fingerprinting [Scopri di più]