|
PcapPlusPlus
|
The main namespace for the PcapPlusPlus lib. More...
Typedefs | |
| typedef void(* | OnDpdkPacketsArriveCallback) (MBufRawPacket *packets, uint32_t numOfPackets, uint8_t threadId, DpdkDevice *device, void *userCookie) |
| typedef PointerVector< MBufRawPacket > | MBufRawPacketVector |
| typedef icmp_echo_request | icmp_echo_reply |
| typedef icmp_timestamp_request | icmp_timestamp_reply |
| typedef icmp_time_exceeded | icmp_source_quench |
| typedef icmphdr | icmp_router_solicitation |
| typedef icmp_address_mask_request | icmp_address_mask_reply |
| typedef icmp_info_request | icmp_info_reply |
| typedef PointerVector< RawPacket > | RawPacketVector |
| typedef void(* | OnPacketArrivesCallback) (RawPacket *pPacket, PcapLiveDevice *pDevice, void *userCookie) |
| typedef bool(* | OnPacketArrivesStopBlocking) (RawPacket *pPacket, PcapLiveDevice *pDevice, void *userData) |
| typedef void(* | OnStatsUpdateCallback) (pcap_stat &stats, void *userCookie) |
Functions | |
| in_addr * | sockaddr2in_addr (struct sockaddr *sa) |
| in6_addr * | sockaddr2in6_addr (struct sockaddr *sa) |
| void | sockaddr2string (struct sockaddr *sa, char *resultString) |
| uint32_t | in_addr2int (in_addr inAddr) |
| uint16_t | compute_checksum (ScalarBuffer< uint16_t > vec[], size_t vecSize) |
| uint32_t | fnv_hash (ScalarBuffer< uint8_t > vec[], size_t vecSize) |
| uint32_t | fnv_hash (uint8_t *buffer, size_t bufSize) |
| uint32_t | hash5Tuple (Packet *packet) |
| uint32_t | hash2Tuple (Packet *packet) |
| std::string | getPcapPlusPlusVersion () |
| std::string | getPcapPlusPlusVersionFull () |
| std::string | getBuildDateTime () |
| std::string | getGitCommit () |
| std::string | getGitBranch () |
| std::string | getGitInfo () |
| int | getNumOfCores () |
| CoreMask | getCoreMaskForAllMachineCores () |
| CoreMask | createCoreMaskFromCoreVector (std::vector< SystemCore > cores) |
| CoreMask | createCoreMaskFromCoreIds (std::vector< int > coreIds) |
| void | createCoreVectorFromCoreMask (CoreMask coreMask, std::vector< SystemCore > &resultVec) |
| std::string | executeShellCommand (const std::string command) |
| bool | directoryExists (std::string dirPath) |
The main namespace for the PcapPlusPlus lib.
ICMP address mask reply message structure, same as icmp_address_mask_request
ICMP echo (ping) reply message structure, same as icmp_echo_request
ICMP information reply message structure, same as icmp_info_request
ICMP router solicitation message structure, same as icmphdr
ICMP source quence message structure, same as icmp_time_exceeded
ICMP timestamp reply message structure, same as icmp_timestamp_request
A vector of pointers to MBufRawPacket
| pcpp::OnDpdkPacketsArriveCallback |
A callback that is called when a burst of packets are captured by DpdkDevice
| [in] | packets | A pointer to an array of MBufRawPacket |
| [in] | numOfPackets | The length of the array |
| [in] | threadId | The thread/core ID who captured the packets |
| [in] | device | A pointer to the DpdkDevice who captured the packets |
| [in] | userCookie | The user cookie assigned by the user in DpdkDevice::startCaptureSingleThread() or DpdkDevice::startCaptureMultiThreads |
| pcpp::OnPacketArrivesCallback |
A callback that is called when a packet is captured by PcapLiveDevice
| [in] | pPacket | A pointer to the raw packet |
| [in] | pDevice | A pointer to the PcapLiveDevice instance |
| [in] | userCookie | A pointer to the object put by the user when packet capturing stared |
| pcpp::OnPacketArrivesStopBlocking |
A callback that is called when a packet is captured by PcapLiveDevice
| [in] | pPacket | A pointer to the raw packet |
| [in] | pDevice | A pointer to the PcapLiveDevice instance |
| [in] | userCookie | A pointer to the object put by the user when packet capturing stared |
| pcpp::OnStatsUpdateCallback |
A callback that is called periodically for stats collection if user asked to start packet capturing with periodic stats collection
| [in] | stats | A reference to the most updated stats |
| [in] | userCookie | A pointer to the object put by the user when packet capturing stared |
| typedef PointerVector<RawPacket> pcpp::RawPacketVector |
A vector of pointers to RawPacket
| enum pcpp::ArpOpcode |
| enum pcpp::BootpOpCodes |
DHCP message types
DHCP option types.
| enum pcpp::Direction |
| enum pcpp::DnsClass |
| enum pcpp::DnsType |
An enum for all possible DNS record types
| enum pcpp::DpdkPMDType |
An enum describing all PMD (poll mode driver) types supported by DPDK. For more info about these PMDs please visit the DPDK web-site
| enum pcpp::FilterOperator |
| enum pcpp::HttpVersion |
An enum for all possible codes for a destination unreachable message type Documentation is taken from Wikipedia: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
| Enumerator | |
|---|---|
| IcmpNetworkUnreachable | Network unreachable error |
| IcmpHostUnreachable | Host unreachable error |
| IcmpProtocolUnreachable | Protocol unreachable error (the designated transport protocol is not supported) |
| IcmpPortUnreachable | Port unreachable error (the designated protocol is unable to inform the host of the incoming message) |
| IcmpDatagramTooBig | The datagram is too big. Packet fragmentation is required but the 'don't fragment' (DF) flag is on |
| IcmpSourceRouteFailed | Source route failed error |
| IcmpDestinationNetworkUnknown | Destination network unknown error |
| IcmpDestinationHostUnknown | Destination host unknown error |
| IcmpSourceHostIsolated | Source host isolated error |
| IcmpDestinationNetworkProhibited | The destination network is administratively prohibited |
| IcmpDestinationHostProhibited | The destination host is administratively prohibited |
| IcmpNetworkUnreachableForTypeOfService | The network is unreachable for Type Of Service |
| IcmpHostUnreachableForTypeOfService | The host is unreachable for Type Of Service |
| IcmpCommunicationProhibited | Communication administratively prohibited (administrative filtering prevents packet from being forwarded) |
| IcmpHostPrecedenceViolation | Host precedence violation (indicates the requested precedence is not permitted for the combination of host or network and port) |
| IcmpPrecedenceCutoff | Precedence cutoff in effect (precedence of datagram is below the level set by the network administrators) |
An enum of all supported ICMP message types
| enum pcpp::IgmpType |
IGMP message types
An enum for all possible IPv4 and IPv6 protocol types
An enum for supported IPv4 option types
| Enumerator | |
|---|---|
| IPV4OPT_EndOfOtionsList | End of Options List |
| IPV4OPT_NOP | No Operation |
| IPV4OPT_RecordRoute | Record Route |
| IPV4OPT_MTUProbe | MTU Probe |
| IPV4OPT_MTUReply | MTU Reply |
| IPV4OPT_QuickStart | Quick-Start |
| IPV4OPT_Timestamp | Timestamp |
| IPV4OPT_Traceroute | Traceroute |
| IPV4OPT_Security | Security |
| IPV4OPT_LooseSourceRoute | Loose Source Route |
| IPV4OPT_ExtendedSecurity | Extended Security |
| IPV4OPT_CommercialSecurity | Commercial Security |
| IPV4OPT_StreamID | Stream ID |
| IPV4OPT_StrictSourceRoute | Strict Source Route |
| IPV4OPT_ExtendedInternetProtocol | Extended Internet Protocol |
| IPV4OPT_AddressExtension | Address Extension |
| IPV4OPT_RouterAlert | Router Alert |
| IPV4OPT_SelectiveDirectedBroadcast | Selective Directed Broadcast |
| IPV4OPT_DynamicPacketState | Dynamic Packet State |
| IPV4OPT_UpstreamMulticastPkt | Upstream Multicast Pkt. |
| IPV4OPT_Unknown | Unknown IPv4 option |
| enum pcpp::LinkLayerType |
An enum describing all known link layer type. Taken from: http://www.tcpdump.org/linktypes.html . Currently only Ethernet (1) and SLL (113) are supported
| Enumerator | |
|---|---|
| LINKTYPE_NULL | BSD loopback encapsulation |
| LINKTYPE_ETHERNET | IEEE 802.3 Ethernet |
| LINKTYPE_AX25 | AX.25 packet |
| LINKTYPE_IEEE802_5 | IEEE 802.5 Token Ring |
| LINKTYPE_ARCNET_BSD | ARCNET Data Packets |
| LINKTYPE_SLIP | SLIP, encapsulated with a LINKTYPE_SLIP header |
| LINKTYPE_PPP | PPP, as per RFC 1661 and RFC 1662 |
| LINKTYPE_FDDI | FDDI, as specified by ANSI INCITS 239-1994 |
| LINKTYPE_DLT_RAW1 | Raw IP |
| LINKTYPE_DLT_RAW2 | Raw IP (OpenBSD) |
| LINKTYPE_PPP_HDLC | PPP in HDLC-like framing, as per RFC 1662, or Cisco PPP with HDLC framing, as per section 4.3.1 of RFC 1547 |
| LINKTYPE_PPP_ETHER | PPPoE |
| LINKTYPE_ATM_RFC1483 | RFC 1483 LLC/SNAP-encapsulated ATM |
| LINKTYPE_RAW | Raw IP |
| LINKTYPE_C_HDLC | Cisco PPP with HDLC framing |
| LINKTYPE_IEEE802_11 | IEEE 802.11 wireless LAN |
| LINKTYPE_FRELAY | Frame Relay |
| LINKTYPE_LOOP | OpenBSD loopback encapsulation |
| LINKTYPE_LINUX_SLL | Linux "cooked" capture encapsulation |
| LINKTYPE_LTALK | Apple LocalTalk |
| LINKTYPE_PFLOG | OpenBSD pflog |
| LINKTYPE_IEEE802_11_PRISM | Prism monitor mode information followed by an 802.11 header |
| LINKTYPE_IP_OVER_FC | RFC 2625 IP-over-Fibre Channel |
| LINKTYPE_SUNATM | ATM traffic, encapsulated as per the scheme used by SunATM devices |
| LINKTYPE_IEEE802_11_RADIOTAP | Radiotap link-layer information followed by an 802.11 header |
| LINKTYPE_ARCNET_LINUX | ARCNET Data Packets, as described by the ARCNET Trade Association standard ATA 878.1-1999 |
| LINKTYPE_APPLE_IP_OVER_IEEE1394 | Apple IP-over-IEEE 1394 cooked header |
| LINKTYPE_MTP2_WITH_PHDR | Signaling System 7 Message Transfer Part Level 2 |
| LINKTYPE_MTP2 | Signaling System 7 Message Transfer Part Level 2 |
| LINKTYPE_MTP3 | Signaling System 7 Message Transfer Part Level 3 |
| LINKTYPE_SCCP | Signaling System 7 Signalling Connection Control Part |
| LINKTYPE_DOCSIS | Signaling System 7 Signalling Connection Control Part |
| LINKTYPE_LINUX_IRDA | Linux-IrDA packets |
| LINKTYPE_IEEE802_11_AVS | AVS monitor mode information followed by an 802.11 header |
| LINKTYPE_BACNET_MS_TP | BACnet MS/TP frames |
| LINKTYPE_PPP_PPPD | PPP in HDLC-like encapsulation, like LINKTYPE_PPP_HDLC, but with the 0xff address byte replaced by a direction indication - 0x00 for incoming and 0x01 for outgoing |
| LINKTYPE_GPRS_LLC | General Packet Radio Service Logical Link Control |
| LINKTYPE_GPF_T | Transparent-mapped generic framing procedure |
| LINKTYPE_GPF_F | Frame-mapped generic framing procedure |
| LINKTYPE_LINUX_LAPD | Link Access Procedures on the D Channel (LAPD) frames |
| LINKTYPE_BLUETOOTH_HCI_H4 | Bluetooth HCI UART transport layer |
| LINKTYPE_USB_LINUX | USB packets, beginning with a Linux USB header |
| LINKTYPE_PPI | Per-Packet Information information |
| LINKTYPE_IEEE802_15_4 | IEEE 802.15.4 wireless Personal Area Network |
| LINKTYPE_SITA | Various link-layer types, with a pseudo-header, for SITA |
| LINKTYPE_ERF | Various link-layer types, with a pseudo-header, for Endace DAG cards; encapsulates Endace ERF record |
| LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR | Bluetooth HCI UART transport layer |
| LINKTYPE_AX25_KISS | AX.25 packet, with a 1-byte KISS header containing a type indicator |
| LINKTYPE_LAPD | Link Access Procedures on the D Channel (LAPD) frames |
| LINKTYPE_PPP_WITH_DIR | PPP, as per RFC 1661 and RFC 1662, preceded with a one-byte pseudo-header with a zero value meaning "received by this host" and a non-zero value meaning "sent by this host" |
| LINKTYPE_C_HDLC_WITH_DIR | Cisco PPP with HDLC framing |
| LINKTYPE_FRELAY_WITH_DIR | Frame Relay |
| LINKTYPE_IPMB_LINUX | IPMB over an I2C circuit |
| LINKTYPE_IEEE802_15_4_NONASK_PHY | IEEE 802.15.4 wireless Personal Area Network |
| LINKTYPE_USB_LINUX_MMAPPED | USB packets, beginning with a Linux USB header |
| LINKTYPE_FC_2 | Fibre Channel FC-2 frames, beginning with a Frame_Header |
| LINKTYPE_FC_2_WITH_FRAME_DELIMS | Fibre Channel FC-2 frames |
| LINKTYPE_IPNET | Solaris ipnet pseudo-header |
| LINKTYPE_CAN_SOCKETCAN | CAN (Controller Area Network) frames, with a pseudo-header as supplied by Linux SocketCAN |
| LINKTYPE_IPV4 | Raw IPv4; the packet begins with an IPv4 header |
| LINKTYPE_IPV6 | Raw IPv6; the packet begins with an IPv6 header |
| LINKTYPE_IEEE802_15_4_NOFCS | IEEE 802.15.4 wireless Personal Area Network, without the FCS at the end of the frame |
| LINKTYPE_DBUS | Raw D-Bus messages, starting with the endianness flag, followed by the message type, etc., but without the authentication handshake before the message sequence |
| LINKTYPE_DVB_CI | DVB-CI (DVB Common Interface for communication between a PC Card module and a DVB receiver), with the message format specified by the PCAP format for DVB-CI specification |
| LINKTYPE_MUX27010 | Variant of 3GPP TS 27.010 multiplexing protocol (similar to, but not the same as, 27.010) |
| LINKTYPE_STANAG_5066_D_PDU | D_PDUs as described by NATO standard STANAG 5066, starting with the synchronization sequence, and including both header and data CRCs |
| LINKTYPE_NFLOG | Linux netlink NETLINK NFLOG socket log messages |
| LINKTYPE_NETANALYZER | Pseudo-header for Hilscher Gesellschaft für Systemautomation mbH netANALYZER devices, followed by an Ethernet frame, beginning with the MAC header and ending with the FCS |
| LINKTYPE_NETANALYZER_TRANSPARENT | Pseudo-header for Hilscher Gesellschaft für Systemautomation mbH netANALYZER devices, followed by an Ethernet frame, beginning with the preamble, SFD, and MAC header, and ending with the FCS |
| LINKTYPE_IPOIB | IP-over-InfiniBand, as specified by RFC 4391 section 6 |
| LINKTYPE_MPEG_2_TS | MPEG-2 Transport Stream transport packets, as specified by ISO 13818-1/ITU-T Recommendation H.222.0 |
| LINKTYPE_NG40 | Pseudo-header for ng4T GmbH's UMTS Iub/Iur-over-ATM and Iub/Iur-over-IP format as used by their ng40 protocol tester |
| LINKTYPE_NFC_LLCP | Pseudo-header for NFC LLCP packet captures, followed by frame data for the LLCP Protocol as specified by NFCForum-TS-LLCP_1.1 |
| LINKTYPE_INFINIBAND | Raw InfiniBand frames, starting with the Local Routing Header |
| LINKTYPE_SCTP | SCTP packets, as defined by RFC 4960, with no lower-level protocols such as IPv4 or IPv6 |
| LINKTYPE_USBPCAP | USB packets, beginning with a USBPcap header |
| LINKTYPE_RTAC_SERIAL | Serial-line packet header for the Schweitzer Engineering Laboratories "RTAC" product |
| LINKTYPE_BLUETOOTH_LE_LL | Bluetooth Low Energy air interface Link Layer packets |
| LINKTYPE_NETLINK | Linux Netlink capture encapsulation |
| LINKTYPE_BLUETOOTH_LINUX_MONITOR | Bluetooth Linux Monitor encapsulation of traffic for the BlueZ stack |
| LINKTYPE_BLUETOOTH_BREDR_BB | Bluetooth Basic Rate and Enhanced Data Rate baseband packets |
| LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR | Bluetooth Low Energy link-layer packets |
| LINKTYPE_PROFIBUS_DL | PROFIBUS data link layer packets, as specified by IEC standard 61158-6-3 |
| LINKTYPE_PKTAP | Apple PKTAP capture encapsulation |
| LINKTYPE_EPON | Ethernet-over-passive-optical-network packets |
| LINKTYPE_IPMI_HPM_2 | IPMI trace packets, as specified by Table 3-20 "Trace Data Block Format" in the PICMG HPM.2 specification |
| LINKTYPE_ZWAVE_R1_R2 | Per Joshua Wright jwright@hasborg.com, formats for Z-Wave RF profiles R1 and R2 captures |
| LINKTYPE_ZWAVE_R3 | Per Joshua Wright jwright@hasborg.com, formats for Z-Wave RF profile R3 captures |
| LINKTYPE_WATTSTOPPER_DLM | Formats for WattStopper Digital Lighting Management (DLM) and Legrand Nitoo Open protocol common packet structure captures |
| LINKTYPE_ISO_14443 | Messages between ISO 14443 contactless smartcards (Proximity Integrated Circuit Card, PICC) and card readers (Proximity Coupling Device, PCD), with the message format specified by the PCAP format for ISO14443 specification |
| enum pcpp::LogModule |
An enum representing all PcapPlusPlus modules
| Enumerator | |
|---|---|
| CommonLogModuleIpUtils | IP Utils module (Common++) |
| CommonLogModuleTablePrinter | Table printer module (Common++) |
| PacketLogModuleRawPacket | RawPacket module (Packet++) |
| PacketLogModulePacket | Packet module (Packet++) |
| PacketLogModuleLayer | Layer module (Packet++) |
| PacketLogModuleArpLayer | ArpLayer module (Packet++) |
| PacketLogModuleEthLayer | EthLayer module (Packet++) |
| PacketLogModuleIPv4Layer | IPv4Layer module (Packet++) |
| PacketLogModuleIPv6Layer | IPv6Layer module (Packet++) |
| PacketLogModulePayloadLayer | PayloadLayer module (Packet++) |
| PacketLogModuleTcpLayer | TcpLayer module (Packet++) |
| PacketLogModuleUdpLayer | UdpLayer module (Packet++) |
| PacketLogModuleVlanLayer | VlanLayer module (Packet++) |
| PacketLogModuleHttpLayer | HttpLayer module (Packet++) |
| PacketLogModulePPPoELayer | PPPoELayer module (Packet++) |
| PacketLogModuleDnsLayer | DnsLayer module (Packet++) |
| PacketLogModuleMplsLayer | MplsLayer module (Packet++) |
| PacketLogModuleIcmpLayer | IcmpLayer module (Packet++) |
| PacketLogModuleGreLayer | GreLayer module (Packet++) |
| PacketLogModuleSSLLayer | SSLLayer module (Packet++) |
| PacketLogModuleSllLayer | SllLayer module (Packet++) |
| PacketLogModuleDhcpLayer | DhcpLayer module (Packet++) |
| PacketLogModuleIgmpLayer | IgmpLayer module (Packet++) |
| PacketLogModuleSipLayer | SipLayer module (Packet++) |
| PacketLogModuleSdpLayer | SdpLayer module (Packet++) |
| PacketLogModuleTcpReassembly | TcpReassembly module (Packet++) |
| PacketLogModuleIPReassembly | IPReassembly module (Packet++) |
| PcapLogModuleWinPcapLiveDevice | WinPcapLiveDevice module (Pcap++) |
| PcapLogModuleRemoteDevice | WinPcapRemoteDevice module (Pcap++) |
| PcapLogModuleLiveDevice | PcapLiveDevice module (Pcap++) |
| PcapLogModuleFileDevice | FileDevice module (Pcap++) |
| PcapLogModulePfRingDevice | PfRingDevice module (Pcap++) |
| PcapLogModuleDpdkDevice | DpdkDevice module (Pcap++) |
| NetworkUtils | NetworkUtils module (Pcap++) |
| enum pcpp::OsiModelLayer |
An enum representing OSI model layers
| enum pcpp::ProtocolType |
An enum representing all protocols supported by PcapPlusPlus
| Enumerator | |
|---|---|
| UnknownProtocol | Unknown protocol (or unsupported by PcapPlusPlus) |
| Ethernet | Ethernet protocol |
| IPv4 | IPv4 protocol |
| IPv6 | IPv6 protocol |
| IP | IP protocol (aggregation bitmask of IPv4 and IPv6 protocols) |
| TCP | TCP protocol |
| UDP | UDP protocol |
| HTTPRequest | HTTP request protocol |
| HTTPResponse | HTTP response protocol |
| HTTP | HTTP protocol (aggregation bitmask of HTTP request and HTTP response protocols) |
| ARP | ARP protocol |
| VLAN | VLAN protocol |
| ICMP | ICMP protocol (currently not supported by PcapPlusPlus) |
| PPPoESession | PPPoE session protocol |
| PPPoEDiscovery | PPPoE discovery protocol |
| PPPoE | PPPoE protocol (aggregation bitmask of PPPoESession and PPPoEDiscovery protocols) |
| DNS | DNS protocol |
| MPLS | MPLS protocol |
| GREv0 | GRE version 0 protocol |
| GREv1 | GRE version 1 protocol |
| GRE | GRE protocol (aggregation bitmask of GREv0 and GREv1 protocols) |
| PPP_PPTP | PPP for PPTP protocol |
| SSL | SSL/TLS protocol |
| SLL | SLL (Linux cooked capture) protocol |
| DHCP | DHCP/BOOTP protocol |
| NULL_LOOPBACK | Null/Loopback protocol |
| IGMP | IGMP protocol |
| IGMPv1 | IGMPv1 protocol |
| IGMPv2 | IGMPv2 protocol |
| IGMPv3 | IGMPv3 protocol |
| GenericPayload | Generic payload (no specific protocol) |
| VXLAN | VXLAN protocol |
| SIPRequest | SIP request protocol |
| SIPResponse | SIP response protocol |
| SIP | SIP protocol (aggregation bitmask of SIPRequest and SIPResponse protocols) |
| SDP | SDP protocol |
| PacketTrailer | Packet trailer |
SSL/TLS alert description types
| enum pcpp::SSLAlertLevel |
SSL/TLS authentication algorithms
SSL/TLS client certificate types
SSL/TLS extension types
| Enumerator | |
|---|---|
| SSL_EXT_SERVER_NAME | Server Name Indication extension |
| SSL_EXT_MAX_FRAGMENT_LENGTH | Maximum Fragment Length Negotiation extension |
| SSL_EXT_CLIENT_CERTIFICATE_URL | Client Certificate URLs extension |
| SSL_EXT_TRUSTED_CA_KEYS | Trusted CA Indication extension |
| SSL_EXT_TRUNCATED_HMAC | Truncated HMAC extension |
| SSL_EXT_STATUS_REQUEST | Certificate Status Request extension |
| SSL_EXT_USER_MAPPING | TLS User Mapping extension |
| SSL_EXT_CLIENT_AUTHZ | Client Authorization extension |
| SSL_EXT_SERVER_AUTHZ | Server Authorization extension |
| SSL_EXT_CERT_TYPE | Certificate Type extension |
| SSL_EXT_ELLIPTIC_CURVES | Supported Elliptic Curves extension |
| SSL_EXT_EC_POINT_FORMATS | Elliptic Curves Point Format extension |
| SSL_EXT_SRP | Secure Remote Password extension |
| SSL_EXT_SIGNATURE_ALGORITHMS | Signature Algorithms extension |
| SSL_EXT_USE_SRTP | Use Secure Real-time Transport Protocol extension |
| SSL_EXT_HEARTBEAT | TLS Heartbit extension |
| SSL_EXT_APPLICATION_LAYER_PROTOCOL_NEGOTIATION | Application Layer Protocol Negotiation (ALPN) extension |
| SSL_EXT_STATUS_REQUEST_V2 | Status Request extension |
| SSL_EXT_SIGNED_CERTIFICATE_TIMESTAMP | Signed Certificate Timestamp extension |
| SSL_EXT_CLIENT_CERTIFICATE_TYPE | Client Certificate Type extension |
| SSL_EXT_SERVER_CERTIFICATE_TYPE | Server Certificate Type extension |
| SSL_EXT_PADDING | ClientHello Padding extension |
| SSL_EXT_ENCRYPT_THEN_MAC | Encrypt-then-MAC extension |
| SSL_EXT_EXTENDED_MASTER_SECRET | Extended Master Secret extension |
| SSL_EXT_TOKEN_BINDING | Token Binding extension |
| SSL_EXT_SESSIONTICKET_TLS | SessionTicket TLS extension |
| SSL_EXT_RENEGOTIATION_INFO | Renegotiation Indication extension |
| SSL_EXT_Unknown | Unknown extension |
SSL/TLS handshake message types
SSL/TLS hashing algortihms
SSL/TLS key exchange algorithms
| enum pcpp::SSLRecordType |
SSL/TLS symmetric encryption algorithms
| enum pcpp::SSLVersion |
| enum pcpp::TcpOption |
TCP options enum
| Enumerator | |
|---|---|
| PCPP_TCPOPT_NOP | Padding |
| PCPP_TCPOPT_EOL | End of options |
| TCPOPT_MSS | Segment size negotiating |
| PCPP_TCPOPT_WINDOW | Window scaling |
| TCPOPT_SACK_PERM | SACK Permitted |
| PCPP_TCPOPT_SACK | SACK Block |
| TCPOPT_ECHO | Echo (obsoleted by option PCPP_TCPOPT_TIMESTAMP) |
| TCPOPT_ECHOREPLY | Echo Reply (obsoleted by option PCPP_TCPOPT_TIMESTAMP) |
| PCPP_TCPOPT_TIMESTAMP | TCP Timestamps |
| TCPOPT_CC | CC (obsolete) |
| TCPOPT_CCNEW | CC.NEW (obsolete) |
| TCPOPT_CCECHO | CC.ECHO(obsolete) |
| TCPOPT_MD5 | MD5 Signature Option |
| TCPOPT_MPTCP | Multipath TCP |
| TCPOPT_SCPS | SCPS Capabilities |
| TCPOPT_SNACK | SCPS SNACK |
| TCPOPT_RECBOUND | SCPS Record Boundary |
| TCPOPT_CORREXP | SCPS Corruption Experienced |
| TCPOPT_QS | Quick-Start Response |
| TCPOPT_USER_TO | User Timeout Option (also, other known unauthorized use) |
| TCPOPT_EXP_FD | RFC3692-style Experiment 1 (also improperly used for shipping products) |
| TCPOPT_EXP_FE | RFC3692-style Experiment 2 (also improperly used for shipping products) |
| TCPOPT_RVBD_PROBE | Riverbed probe option, non IANA registered option number |
| TCPOPT_RVBD_TRPY | Riverbed transparency option, non IANA registered option number |
| uint16_t pcpp::compute_checksum | ( | ScalarBuffer< uint16_t > | vec[], |
| size_t | vecSize | ||
| ) |
Computes the checksum for a vector of buffers
| [in] | vec | The vector of buffers |
| [in] | vecSize | Number of ScalarBuffers in vector |
| CoreMask pcpp::createCoreMaskFromCoreIds | ( | std::vector< int > | coreIds | ) |
Create a core mask from a vector of core IDs
| [in] | coreIds | A vector of core IDs |
| CoreMask pcpp::createCoreMaskFromCoreVector | ( | std::vector< SystemCore > | cores | ) |
Create a core mask from a vector of system cores
| [in] | cores | A vector of SystemCore instances |
| void pcpp::createCoreVectorFromCoreMask | ( | CoreMask | coreMask, |
| std::vector< SystemCore > & | resultVec | ||
| ) |
Covert a core mask into a vector of its appropriate system cores
| [in] | coreMask | The input core mask |
| [out] | resultVec | The vector that will contain the system cores |
| bool pcpp::directoryExists | ( | std::string | dirPath | ) |
Check if a directory exists
| [in] | dirPath | Full path of the directory to search |
| std::string pcpp::executeShellCommand | ( | const std::string | command | ) |
Execute a shell command and return its output
| [in] | command | The command to run |
| uint32_t pcpp::fnv_hash | ( | ScalarBuffer< uint8_t > | vec[], |
| size_t | vecSize | ||
| ) |
Computes Fowler-Noll-Vo (FNV-1) 32bit hash function on an array of byte buffers. The hash is calculated on each byte in each byte buffer, as if all byte buffers were one long byte buffer
| [in] | vec | An array of byte buffers (ScalarBuffer of type uint8_t) |
| [in] | vecSize | The length of vec |
| uint32_t pcpp::fnv_hash | ( | uint8_t * | buffer, |
| size_t | bufSize | ||
| ) |
Computes Fowler-Noll-Vo (FNV-1) 32bit hash function on a byte buffer
| [in] | buffer | The byte buffer |
| [in] | bufSize | The size of the byte buffer |
|
inline |
| CoreMask pcpp::getCoreMaskForAllMachineCores | ( | ) |
Create a core mask for all cores available on machine
| std::string pcpp::getGitBranch | ( | ) |
| std::string pcpp::getGitCommit | ( | ) |
| std::string pcpp::getGitInfo | ( | ) |
| int pcpp::getNumOfCores | ( | ) |
Get total number of cores on device
|
inline |
|
inline |
| uint32_t pcpp::hash2Tuple | ( | Packet * | packet | ) |
A method that is given a packet and calculates a hash value by the packet's 2-tuple (IP src + IP dst). Supports IPv4 and IPv6. For packets which aren't IPv4/6 the value of 0 will be returned
| [in] | packet | The packet to calculate hash for |
| uint32_t pcpp::hash5Tuple | ( | Packet * | packet | ) |
A method that is given a packet and calculates a hash value by the packet's 5-tuple. Supports IPv4, IPv6, TCP and UDP. For packets which doesn't have 5-tuple (for example: packets which aren't IPv4/6 or aren't TCP/UDP) the value of 0 will be returned
| [in] | packet | The packet to calculate hash for |
| uint32_t pcpp::in_addr2int | ( | in_addr | inAddr | ) |
Convert a in_addr format address to 32bit representation
| [in] | inAddr | Address in in_addr format |
| in6_addr* pcpp::sockaddr2in6_addr | ( | struct sockaddr * | sa | ) |
Extract IPv6 address from sockaddr
| [in] | sa | - input sockaddr |
| in_addr* pcpp::sockaddr2in_addr | ( | struct sockaddr * | sa | ) |
Extract IPv4 address from sockaddr
| [in] | sa | - input sockaddr |
| void pcpp::sockaddr2string | ( | struct sockaddr * | sa, |
| char * | resultString | ||
| ) |
Converts a sockaddr format address to its string representation
| [in] | sa | Address in sockaddr format |
| [out] | resultString | String representation of the address |