PcapPlusPlus  22.05
pcpp Namespace Reference

The main namespace for the PcapPlusPlus lib. More...

Classes

class  AndFilter
 
class  ApplicationEventHandler
 
class  AppName
 
class  ArpFilter
 
struct  arphdr
 
class  ArpLayer
 
class  AuthenticationHeaderLayer
 
class  BgpKeepaliveMessageLayer
 
class  BgpLayer
 
class  BgpNotificationMessageLayer
 
class  BgpOpenMessageLayer
 
class  BgpRouteRefreshMessageLayer
 
class  BgpUpdateMessageLayer
 
class  BpfFilterWrapper
 
class  BPFStringFilter
 
struct  ConnectionData
 
struct  dhcp_header
 
class  DhcpLayer
 
class  DhcpOption
 
class  DhcpOptionBuilder
 
struct  dhcpv6_header
 
class  DhcpV6Layer
 
class  DhcpV6Option
 
class  DhcpV6OptionBuilder
 
struct  dnshdr
 
class  DnsLayer
 
class  DnsOverTcpLayer
 
class  DnsQuery
 
class  DnsResource
 
class  DnsResourceDataPtr
 
class  DpdkDevice
 
class  DpdkDeviceList
 
class  DpdkWorkerThread
 
class  ESPLayer
 
class  EthDot3Layer
 
struct  ether_dot3_header
 
struct  ether_header
 
class  EtherTypeFilter
 
class  EthLayer
 
class  GeneralFilter
 
class  GenericDnsResourceData
 
struct  gre1_header
 
struct  gre_basic_header
 
class  GreLayer
 
class  GREv0Layer
 
class  GREv1Layer
 
struct  gtpv1_header
 
class  GtpV1Layer
 
class  HeaderField
 
class  HttpMessage
 
class  HttpRequestFirstLine
 
class  HttpRequestLayer
 
class  HttpResponseFirstLine
 
class  HttpResponseLayer
 
struct  icmp_address_mask_request
 
struct  icmp_destination_unreachable
 
struct  icmp_echo_hdr
 
struct  icmp_echo_request
 
struct  icmp_info_request
 
struct  icmp_param_problem
 
struct  icmp_redirect
 
struct  icmp_router_address_structure
 
struct  icmp_router_advertisement
 
struct  icmp_router_advertisement_hdr
 
struct  icmp_time_exceeded
 
struct  icmp_timestamp_request
 
struct  icmphdr
 
class  IcmpLayer
 
class  IDataContainer
 
class  IDevice
 
class  IDnsResource
 
class  IDnsResourceData
 
class  IFileDevice
 
class  IFileReaderDevice
 
class  IFileWriterDevice
 
class  IFilterableDevice
 
class  IFilterWithDirection
 
class  IFilterWithOperator
 
struct  igmp_header
 
class  IgmpLayer
 
class  IgmpV1Layer
 
class  IgmpV2Layer
 
struct  igmpv3_group_record
 
struct  igmpv3_query_header
 
struct  igmpv3_report_header
 
class  IgmpV3QueryLayer
 
class  IgmpV3ReportLayer
 
struct  ip6_hdr
 
class  IPAddress
 
class  IPcapDevice
 
class  IPFilter
 
struct  iphdr
 
class  IPLayer
 
class  IPReassembly
 
struct  ipsec_authentication_header
 
struct  ipsec_esp
 
class  IPv4Address
 
class  IPv4DnsResourceData
 
class  IPv4IDFilter
 
class  IPv4Layer
 
class  IPv4Option
 
class  IPv4OptionBuilder
 
struct  IPv4TimestampOptionValue
 
class  IPv4TotalLengthFilter
 
class  IPv6Address
 
class  IPv6AuthenticationHeader
 
class  IPv6DestinationHeader
 
class  IPv6DnsResourceData
 
class  IPv6Extension
 
class  IPv6FragmentationHeader
 
class  IPv6HopByHopHeader
 
class  IPv6Layer
 
class  IPv6RoutingHeader
 
class  IPv6TLVOptionHeader
 
class  KniDevice
 
class  KniDeviceList
 
class  Layer
 
class  LinuxNicInformationSocket
 
class  Logger
 
class  LRUList
 
class  MacAddress
 
class  MacAddressFilter
 
class  MBufRawPacket
 
class  MplsLayer
 
class  MxDnsResourceData
 
class  NetworkUtils
 
class  NotFilter
 
class  NtpLayer
 The NTP packet consists of an integral number of 32-bit (4 octet) words in network byte order. The packet format consists of three components: the header itself, one or more optional extension fields (for v4), and an optional message authentication code (MAC). Currently the extension fields are not supported. The NTP header is: More...
 
class  NullLoopbackLayer
 
class  OrFilter
 
class  Packet
 
class  PacketTrailerLayer
 
class  PayloadLayer
 
class  PcapFileReaderDevice
 
class  PcapFileWriterDevice
 
class  PcapLiveDevice
 
class  PcapLiveDeviceList
 
class  PcapNgFileReaderDevice
 
class  PcapNgFileWriterDevice
 
class  PfRingDevice
 
class  PfRingDeviceList
 
class  PointerVector
 
class  PortFilter
 
class  PortRangeFilter
 
struct  ppp_pptp_header
 
class  PPP_PPTPLayer
 
struct  pppoe_header
 
class  PPPoEDiscoveryLayer
 
class  PPPoELayer
 
class  PPPoESessionLayer
 
class  ProtoFilter
 
struct  radius_header
 
class  RadiusAttribute
 
class  RadiusAttributeBuilder
 
class  RadiusLayer
 
class  RawPacket
 
class  RawSocketDevice
 
struct  ScalarBuffer
 
class  SdpLayer
 
class  SipLayer
 
class  SipRequestFirstLine
 
class  SipRequestLayer
 
class  SipResponseFirstLine
 
class  SipResponseLayer
 
struct  sll_header
 
class  SllLayer
 
class  SnoopFileReaderDevice
 
class  SSHEncryptedMessage
 
class  SSHHandshakeMessage
 
class  SSHIdentificationMessage
 
class  SSHKeyExchangeInitMessage
 
class  SSHLayer
 
struct  ssl_tls_alert
 
struct  ssl_tls_change_cipher_spec
 
struct  ssl_tls_client_server_hello
 
struct  ssl_tls_handshake_layer
 
struct  ssl_tls_record_layer
 
class  SSLAlertLayer
 
class  SSLApplicationDataLayer
 
class  SSLCertificateMessage
 
class  SSLCertificateRequestMessage
 
class  SSLCertificateVerifyMessage
 
class  SSLChangeCipherSpecLayer
 
class  SSLCipherSuite
 
class  SSLClientHelloMessage
 
class  SSLClientKeyExchangeMessage
 
class  SSLExtension
 
class  SSLFinishedMessage
 
class  SSLHandshakeLayer
 
class  SSLHandshakeMessage
 
class  SSLHelloRequestMessage
 
class  SSLLayer
 
class  SSLNewSessionTicketMessage
 
class  SSLServerHelloDoneMessage
 
class  SSLServerHelloMessage
 
class  SSLServerKeyExchangeMessage
 
class  SSLServerNameIndicationExtension
 
class  SSLSupportedVersionsExtension
 
class  SSLUnknownMessage
 
class  SSLVersion
 
class  SSLx509Certificate
 
class  StringDnsResourceData
 
struct  SystemCore
 
struct  SystemCores
 
class  TablePrinter
 
class  TcpFlagsFilter
 
struct  tcphdr
 
class  TcpLayer
 
class  TcpOption
 
class  TcpOptionBuilder
 
class  TcpReassembly
 
struct  TcpReassemblyConfiguration
 
class  TcpStreamData
 
class  TcpWindowSizeFilter
 
class  TextBasedProtocolMessage
 
class  TLSECPointFormatExtension
 
class  TLSSupportedGroupsExtension
 
class  TLVRecord
 
class  TLVRecordBuilder
 
class  TLVRecordReader
 
struct  udphdr
 
class  UdpLayer
 
class  UdpLengthFilter
 
struct  vlan_header
 
class  VlanFilter
 
class  VlanLayer
 
struct  vxlan_header
 
class  VxlanLayer
 

Typedefs

typedef PointerVector< RawPacketRawPacketVector
 
typedef void(* OnDpdkPacketsArriveCallback) (MBufRawPacket *packets, uint32_t numOfPackets, uint8_t threadId, DpdkDevice *device, void *userCookie)
 
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 bool(* OnKniPacketArriveCallback) (MBufRawPacket *packets, uint32_t numOfPackets, KniDevice *device, void *userCookie)
 
typedef PointerVector< MBufRawPacketMBufRawPacketVector
 
typedef void(* OnPacketArrivesCallback) (RawPacket *pPacket, PcapLiveDevice *pDevice, void *userCookie)
 
typedef bool(* OnPacketArrivesStopBlocking) (RawPacket *pPacket, PcapLiveDevice *pDevice, void *userData)
 
typedef void(* OnStatsUpdateCallback) (IPcapDevice::PcapStats &stats, void *userCookie)
 
typedef uint64_t ProtocolType
 

Enumerations

enum  ArpOpcode { ARP_REQUEST = 0x0001, ARP_REPLY = 0x0002 }
 
enum  BootpOpCodes { DHCP_BOOTREQUEST = 1, DHCP_BOOTREPLY = 2 }
 
enum  DhcpMessageType {
  DHCP_UNKNOWN_MSG_TYPE = 0, DHCP_DISCOVER = 1, DHCP_OFFER = 2, DHCP_REQUEST = 3,
  DHCP_DECLINE = 4, DHCP_ACK = 5, DHCP_NAK = 6, DHCP_RELEASE = 7,
  DHCP_INFORM = 8
}
 
enum  DhcpOptionTypes {
  DHCPOPT_UNKNOWN = -1, DHCPOPT_PAD = 0, DHCPOPT_SUBNET_MASK = 1, DHCPOPT_TIME_OFFSET = 2,
  DHCPOPT_ROUTERS = 3, DHCPOPT_TIME_SERVERS = 4, DHCPOPT_NAME_SERVERS = 5, DHCPOPT_DOMAIN_NAME_SERVERS = 6,
  DHCPOPT_LOG_SERVERS = 7, DHCPOPT_QUOTES_SERVERS = 8, DHCPOPT_LPR_SERVERS = 9, DHCPOPT_IMPRESS_SERVERS = 10,
  DHCPOPT_RESOURCE_LOCATION_SERVERS = 11, DHCPOPT_HOST_NAME = 12, DHCPOPT_BOOT_SIZE = 13, DHCPOPT_MERIT_DUMP = 14,
  DHCPOPT_DOMAIN_NAME = 15, DHCPOPT_SWAP_SERVER = 16, DHCPOPT_ROOT_PATH = 17, DHCPOPT_EXTENSIONS_PATH = 18,
  DHCPOPT_IP_FORWARDING = 19, DHCPOPT_NON_LOCAL_SOURCE_ROUTING = 20, DHCPOPT_POLICY_FILTER = 21, DHCPOPT_MAX_DGRAM_REASSEMBLY = 22,
  DEFAULT_IP_TTL = 23, DHCPOPT_PATH_MTU_AGING_TIMEOUT = 24, PATH_MTU_PLATEAU_TABLE = 25, DHCPOPT_INTERFACE_MTU = 26,
  DHCPOPT_ALL_SUBNETS_LOCAL = 27, DHCPOPT_BROADCAST_ADDRESS = 28, DHCPOPT_PERFORM_MASK_DISCOVERY = 29, DHCPOPT_MASK_SUPPLIER = 30,
  DHCPOPT_ROUTER_DISCOVERY = 31, DHCPOPT_ROUTER_SOLICITATION_ADDRESS = 32, DHCPOPT_STATIC_ROUTES = 33, DHCPOPT_TRAILER_ENCAPSULATION = 34,
  DHCPOPT_ARP_CACHE_TIMEOUT = 35, DHCPOPT_IEEE802_3_ENCAPSULATION = 36, DHCPOPT_DEFAULT_TCP_TTL = 37, DHCPOPT_TCP_KEEPALIVE_INTERVAL = 38,
  DHCPOPT_TCP_KEEPALIVE_GARBAGE = 39, DHCPOPT_NIS_DOMAIN = 40, DHCPOPT_NIS_SERVERS = 41, DHCPOPT_NTP_SERVERS = 42,
  DHCPOPT_VENDOR_ENCAPSULATED_OPTIONS = 43, DHCPOPT_NETBIOS_NAME_SERVERS = 44, DHCPOPT_NETBIOS_DD_SERVER = 45, DHCPOPT_NETBIOS_NODE_TYPE = 46,
  DHCPOPT_NETBIOS_SCOPE = 47, DHCPOPT_FONT_SERVERS = 48, DHCPOPT_X_DISPLAY_MANAGER = 49, DHCPOPT_DHCP_REQUESTED_ADDRESS = 50,
  DHCPOPT_DHCP_LEASE_TIME = 51, DHCPOPT_DHCP_OPTION_OVERLOAD = 52, DHCPOPT_DHCP_MESSAGE_TYPE = 53, DHCPOPT_DHCP_SERVER_IDENTIFIER = 54,
  DHCPOPT_DHCP_PARAMETER_REQUEST_LIST = 55, DHCPOPT_DHCP_MESSAGE = 56, DHCPOPT_DHCP_MAX_MESSAGE_SIZE = 57, DHCPOPT_DHCP_RENEWAL_TIME = 58,
  DHCPOPT_DHCP_REBINDING_TIME = 59, DHCPOPT_VENDOR_CLASS_IDENTIFIER = 60, DHCPOPT_DHCP_CLIENT_IDENTIFIER = 61, DHCPOPT_NWIP_DOMAIN_NAME = 62,
  DHCPOPT_NWIP_SUBOPTIONS = 63, DHCPOPT_NIS_DOMAIN_NAME = 64, DHCPOPT_NIS_SERVER_ADDRESS = 65, DHCPOPT_TFTP_SERVER_NAME = 66,
  DHCPOPT_BOOTFILE_NAME = 67, DHCPOPT_HOME_AGENT_ADDRESS = 68, DHCPOPT_SMTP_SERVER = 69, DHCPOPT_POP3_SERVER = 70,
  DHCPOPT_NNTP_SERVER = 71, DHCPOPT_WWW_SERVER = 72, DHCPOPT_FINGER_SERVER = 73, DHCPOPT_IRC_SERVER = 74,
  DHCPOPT_STREETTALK_SERVER = 75, DHCPOPT_STDA_SERVER = 76, DHCPOPT_USER_CLASS = 77, DHCPOPT_DIRECTORY_AGENT = 78,
  DHCPOPT_SERVICE_SCOPE = 79, DHCPOPT_RAPID_COMMIT = 80, DHCPOPT_FQDN = 81, DHCPOPT_DHCP_AGENT_OPTIONS = 82,
  DHCPOPT_ISNS = 83, DHCPOPT_NDS_SERVERS = 85, DHCPOPT_NDS_TREE_NAME = 86, DHCPOPT_NDS_CONTEXT = 87,
  DHCPOPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST = 88, DHCPOPT_BCMCS_CONTROLLER_IPV4_ADDRESS = 89, DHCPOPT_AUTHENTICATION = 90, DHCPOPT_CLIENT_LAST_TXN_TIME = 91,
  DHCPOPT_ASSOCIATED_IP = 92, DHCPOPT_CLIENT_SYSTEM = 93, DHCPOPT_CLIENT_NDI = 94, DHCPOPT_LDAP = 95,
  DHCPOPT_UUID_GUID = 97, DHCPOPT_USER_AUTH = 98, DHCPOPT_GEOCONF_CIVIC = 99, DHCPOPT_PCODE = 100,
  DHCPOPT_TCODE = 101, DHCPOPT_NETINFO_ADDRESS = 112, DHCPOPT_NETINFO_TAG = 113, DHCPOPT_URL = 114,
  DHCPOPT_AUTO_CONFIG = 116, DHCPOPT_NAME_SERVICE_SEARCH = 117, DHCPOPT_SUBNET_SELECTION = 118, DHCPOPT_DOMAIN_SEARCH = 119,
  DHCPOPT_SIP_SERVERS = 120, DHCPOPT_CLASSLESS_STATIC_ROUTE = 121, DHCPOPT_CCC = 122, DHCPOPT_GEOCONF = 123,
  DHCPOPT_V_I_VENDOR_CLASS = 124, DHCPOPT_V_I_VENDOR_OPTS = 125, DHCPOPT_OPTION_PANA_AGENT = 136, DHCPOPT_OPTION_V4_LOST = 137,
  DHCPOPT_OPTION_CAPWAP_AC_V4 = 138, DHCPOPT_OPTION_IPV4_ADDRESS_MOS = 139, DHCPOPT_OPTION_IPV4_FQDN_MOS = 140, DHCPOPT_SIP_UA_CONFIG = 141,
  DHCPOPT_OPTION_IPV4_ADDRESS_ANDSF = 142, DHCPOPT_GEOLOC = 144, DHCPOPT_FORCERENEW_NONCE_CAPABLE = 145, DHCPOPT_RDNSS_SELECTION = 146,
  DHCPOPT_STATUS_CODE = 151, DHCPOPT_BASE_TIME = 152, DHCPOPT_START_TIME_OF_STATE = 153, DHCPOPT_QUERY_START_TIME = 154,
  DHCPOPT_QUERY_END_TIME = 155, DHCPOPT_DHCP_STATE = 156, DHCPOPT_DATA_SOURCE = 157, DHCPOPT_OPTION_V4_PCP_SERVER = 158,
  DHCPOPT_OPTION_V4_PORTPARAMS = 159, DHCPOPT_CAPTIVE_PORTAL = 160, DHCPOPT_OPTION_MUD_URL_V4 = 161, DHCPOPT_ETHERBOOT = 175,
  DHCPOPT_IP_TELEPHONE = 176, DHCPOPT_PXELINUX_MAGIC = 208, DHCPOPT_CONFIGURATION_FILE = 209, DHCPOPT_PATH_PREFIX = 210,
  DHCPOPT_REBOOT_TIME = 211, DHCPOPT_OPTION_6RD = 212, DHCPOPT_OPTION_V4_ACCESS_DOMAIN = 213, DHCPOPT_SUBNET_ALLOCATION = 220,
  DHCPOPT_VIRTUAL_SUBNET_SELECTION = 221, DHCPOPT_END = 255
}
 
enum  DhcpV6MessageType {
  DHCPV6_UNKNOWN_MSG_TYPE = 0, DHCPV6_SOLICIT = 1, DHCPV6_ADVERTISE = 2, DHCPV6_REQUEST = 3,
  DHCPV6_CONFIRM = 4, DHCPV6_RENEW = 5, DHCPV6_REBIND = 6, DHCPV6_REPLY = 7,
  DHCPV6_RELEASE = 8, DHCPV6_DECLINE = 9, DHCPV6_RECONFIGURE = 10, DHCPV6_INFORMATION_REQUEST = 11,
  DHCPV6_RELAY_FORWARD = 12, DHCPV6_RELAY_REPLY = 13
}
 
enum  DhcpV6OptionType {
  DHCPV6_OPT_UNKNOWN = 0, DHCPV6_OPT_CLIENTID = 1, DHCPV6_OPT_SERVERID = 2, DHCPV6_OPT_IA_NA = 3,
  DHCPV6_OPT_IA_TA = 4, DHCPV6_OPT_IAADDR = 5, DHCPV6_OPT_ORO = 6, DHCPV6_OPT_PREFERENCE = 7,
  DHCPV6_OPT_ELAPSED_TIME = 8, DHCPV6_OPT_RELAY_MSG = 9, DHCPV6_OPT_AUTH = 11, DHCPV6_OPT_UNICAST = 12,
  DHCPV6_OPT_STATUS_CODE = 13, DHCPV6_OPT_RAPID_COMMIT = 14, DHCPV6_OPT_USER_CLASS = 15, DHCPV6_OPT_VENDOR_CLASS = 16,
  DHCPV6_OPT_VENDOR_OPTS = 17, DHCPV6_OPT_INTERFACE_ID = 18, DHCPV6_OPT_RECONF_MSG = 19, DHCPV6_OPT_RECONF_ACCEPT = 20,
  DHCPV6_OPT_SIP_SERVERS_D = 21, DHCPV6_OPT_SIP_SERVERS_A = 22, DHCPV6_OPT_DNS_SERVERS = 23, DHCPV6_OPT_DOMAIN_LIST = 24,
  DHCPV6_OPT_IA_PD = 25, DHCPV6_OPT_IAPREFIX = 26, DHCPV6_OPT_NIS_SERVERS = 27, DHCPV6_OPT_NISP_SERVERS = 28,
  DHCPV6_OPT_NIS_DOMAIN_NAME = 29, DHCPV6_OPT_NISP_DOMAIN_NAME = 30, DHCPV6_OPT_SNTP_SERVERS = 31, DHCPV6_OPT_INFORMATION_REFRESH_TIME = 32,
  DHCPV6_OPT_BCMCS_SERVER_D = 33, DHCPV6_OPT_BCMCS_SERVER_A = 34, DHCPV6_OPT_GEOCONF_CIVIC = 36, DHCPV6_OPT_REMOTE_ID = 37,
  DHCPV6_OPT_SUBSCRIBER_ID = 38, DHCPV6_OPT_CLIENT_FQDN = 39, DHCPV6_OPT_PANA_AGENT = 40, DHCPV6_OPT_NEW_POSIX_TIMEZONE = 41,
  DHCPV6_OPT_NEW_TZDB_TIMEZONE = 42, DHCPV6_OPT_ERO = 43, DHCPV6_OPT_LQ_QUERY = 44, DHCPV6_OPT_CLIENT_DATA = 45,
  DHCPV6_OPT_CLT_TIME = 46, DHCPV6_OPT_LQ_RELAY_DATA = 47, DHCPV6_OPT_LQ_CLIENT_LINK = 48, DHCPV6_OPT_MIP6_HNINF = 49,
  DHCPV6_OPT_MIP6_RELAY = 50, DHCPV6_OPT_V6_LOST = 51, DHCPV6_OPT_CAPWAP_AC_V6 = 52, DHCPV6_OPT_RELAY_ID = 53,
  DHCPV6_OPT_IPH6_ADDRESS_MOS = 54, DHCPV6_OPT_IPV6_FQDN_MOS = 55, DHCPV6_OPT_NTP_SERVER = 56, DHCPV6_OPT_BOOTFILE_URL = 59,
  DHCPV6_OPT_BOOTFILE_PARAM = 60, DHCPV6_OPT_CLIENT_ARCH_TYPE = 61, DHCPV6_OPT_NII = 62, DHCPV6_OPT_ERP_LOCAL_DOMAIN_NAME = 65,
  DHCPV6_OPT_RELAY_SUPPLIED_OPTIONS = 66, DHCPV6_OPT_VSS = 68, DHCPV6_OPT_CLIENT_LINKLAYER_ADDR = 79, DHCPV6_OPT_MUD_URL = 112
}
 
enum  DnsType {
  DNS_TYPE_A = 1, DNS_TYPE_NS, DNS_TYPE_MD, DNS_TYPE_MF,
  DNS_TYPE_CNAME, DNS_TYPE_SOA, DNS_TYPE_MB, DNS_TYPE_MG,
  DNS_TYPE_MR, DNS_TYPE_NULL_R, DNS_TYPE_WKS, DNS_TYPE_PTR,
  DNS_TYPE_HINFO, DNS_TYPE_MINFO, DNS_TYPE_MX, DNS_TYPE_TXT,
  DNS_TYPE_RP, DNS_TYPE_AFSDB, DNS_TYPE_X25, DNS_TYPE_ISDN,
  DNS_TYPE_RT, DNS_TYPE_NSAP, DNS_TYPE_NSAP_PTR, DNS_TYPE_SIG,
  DNS_TYPE_KEY, DNS_TYPE_PX, DNS_TYPE_GPOS, DNS_TYPE_AAAA,
  DNS_TYPE_LOC, DNS_TYPE_NXT, DNS_TYPE_EID, DNS_TYPE_NIMLOC,
  DNS_TYPE_SRV, DNS_TYPE_ATMA, DNS_TYPE_NAPTR, DNS_TYPE_KX,
  DNS_TYPE_CERT, DNS_TYPE_A6, DNS_TYPE_DNAM, DNS_TYPE_SINK,
  DNS_TYPE_OPT, DNS_TYPE_APL, DNS_TYPE_DS, DNS_TYPE_SSHFP,
  DNS_TYPE_IPSECKEY, DNS_TYPE_RRSIG, DNS_TYPE_NSEC, DNS_TYPE_DNSKEY,
  DNS_TYPE_DHCID, DNS_TYPE_NSEC3, DNS_TYPE_NSEC3PARAM, DNS_TYPE_ALL = 255
}
 
enum  DnsClass {
  DNS_CLASS_IN = 1, DNS_CLASS_IN_QU = 32769, DNS_CLASS_CH = 3, DNS_CLASS_HS = 4,
  DNS_CLASS_ANY = 255
}
 
enum  DnsResourceType { DnsQueryType = 0, DnsAnswerType = 1, DnsAuthorityType = 2, DnsAdditionalType = 3 }
 
enum  DpdkPMDType {
  PMD_UNKNOWN, PMD_BOND, PMD_E1000EM, PMD_IGB,
  PMD_IGBVF, PMD_ENIC, PMD_FM10K, PMD_I40E,
  PMD_I40EVF, PMD_IXGBE, PMD_IXGBEVF, PMD_MLX4,
  PMD_NULL, PMD_PCAP, PMD_RING, PMD_VIRTIO,
  PMD_VMXNET3, PMD_XENVIRT, PMD_AF_PACKET
}
 
enum  GtpV1MessageType {
  GtpV1_MessageTypeUnknown = 0, GtpV1_EchoRequest = 1, GtpV1_EchoResponse = 2, GtpV1_VersionNotSupported = 3,
  GtpV1_NodeAliveRequest = 4, GtpV1_NodeAliveResponse = 5, GtpV1_RedirectionRequest = 6, GtpV1_CreatePDPContextRequest = 7,
  GtpV1_CreatePDPContextResponse = 16, GtpV1_UpdatePDPContextRequest = 17, GtpV1_UpdatePDPContextResponse = 18, GtpV1_DeletePDPContextRequest = 19,
  GtpV1_DeletePDPContextResponse = 20, GtpV1_InitiatePDPContextActivationRequest = 22, GtpV1_InitiatePDPContextActivationResponse = 23, GtpV1_ErrorIndication = 26,
  GtpV1_PDUNotificationRequest = 27, GtpV1_PDUNotificationResponse = 28, GtpV1_PDUNotificationRejectRequest = 29, GtpV1_PDUNotificationRejectResponse = 30,
  GtpV1_SupportedExtensionsHeaderNotification = 31, GtpV1_SendRoutingforGPRSRequest = 32, GtpV1_SendRoutingforGPRSResponse = 33, GtpV1_FailureReportRequest = 34,
  GtpV1_FailureReportResponse = 35, GtpV1_NoteMSPresentRequest = 36, GtpV1_NoteMSPresentResponse = 37, GtpV1_IdentificationRequest = 38,
  GtpV1_IdentificationResponse = 39, GtpV1_SGSNContextRequest = 50, GtpV1_SGSNContextResponse = 51, GtpV1_SGSNContextAcknowledge = 52,
  GtpV1_ForwardRelocationRequest = 53, GtpV1_ForwardRelocationResponse = 54, GtpV1_ForwardRelocationComplete = 55, GtpV1_RelocationCancelRequest = 56,
  GtpV1_RelocationCancelResponse = 57, GtpV1_ForwardSRNSContext = 58, GtpV1_ForwardRelocationCompleteAcknowledge = 59, GtpV1_ForwardSRNSContextAcknowledge = 60,
  GtpV1_UERegistrationRequest = 61, GtpV1_UERegistrationResponse = 62, GtpV1_RANInformationRelay = 70, GtpV1_MBMSNotificationRequest = 96,
  GtpV1_MBMSNotificationResponse = 97, GtpV1_MBMSNotificationRejectRequest = 98, GtpV1_MBMSNotificationRejectResponse = 99, GtpV1_CreateMBMSNotificationRequest = 100,
  GtpV1_CreateMBMSNotificationResponse = 101, GtpV1_UpdateMBMSNotificationRequest = 102, GtpV1_UpdateMBMSNotificationResponse = 103, GtpV1_DeleteMBMSNotificationRequest = 104,
  GtpV1_DeleteMBMSNotificationResponse = 105, GtpV1_MBMSRegistrationRequest = 112, GtpV1_MBMSRegistrationResponse = 113, GtpV1_MBMSDeRegistrationRequest = 114,
  GtpV1_MBMSDeRegistrationResponse = 115, GtpV1_MBMSSessionStartRequest = 116, GtpV1_MBMSSessionStartResponse = 117, GtpV1_MBMSSessionStopRequest = 118,
  GtpV1_MBMSSessionStopResponse = 119, GtpV1_MBMSSessionUpdateRequest = 120, GtpV1_MBMSSessionUpdateResponse = 121, GtpV1_MSInfoChangeRequest = 128,
  GtpV1_MSInfoChangeResponse = 129, GtpV1_DataRecordTransferRequest = 240, GtpV1_DataRecordTransferResponse = 241, GtpV1_EndMarker = 254,
  GtpV1_GPDU = 255
}
 
enum  HttpVersion { ZeroDotNine, OneDotZero, OneDotOne, HttpVersionUnknown }
 
enum  IcmpMessageType {
  ICMP_ECHO_REPLY = 0, ICMP_DEST_UNREACHABLE = 3, ICMP_SOURCE_QUENCH = 4, ICMP_REDIRECT = 5,
  ICMP_ECHO_REQUEST = 8, ICMP_ROUTER_ADV = 9, ICMP_ROUTER_SOL = 10, ICMP_TIME_EXCEEDED = 11,
  ICMP_PARAM_PROBLEM = 12, ICMP_TIMESTAMP_REQUEST = 13, ICMP_TIMESTAMP_REPLY = 14, ICMP_INFO_REQUEST = 15,
  ICMP_INFO_REPLY = 16, ICMP_ADDRESS_MASK_REQUEST = 17, ICMP_ADDRESS_MASK_REPLY = 18, ICMP_UNSUPPORTED = 255
}
 
enum  IcmpDestUnreachableCodes {
  IcmpNetworkUnreachable = 0, IcmpHostUnreachable = 1, IcmpProtocolUnreachable = 2, IcmpPortUnreachable = 3,
  IcmpDatagramTooBig = 4, IcmpSourceRouteFailed = 5, IcmpDestinationNetworkUnknown = 6, IcmpDestinationHostUnknown = 7,
  IcmpSourceHostIsolated = 8, IcmpDestinationNetworkProhibited = 9, IcmpDestinationHostProhibited = 10, IcmpNetworkUnreachableForTypeOfService = 11,
  IcmpHostUnreachableForTypeOfService = 12, IcmpCommunicationProhibited = 13, IcmpHostPrecedenceViolation = 14, IcmpPrecedenceCutoff = 15
}
 
enum  IgmpType {
  IgmpType_Unknown = 0, IgmpType_MembershipQuery = 0x11, IgmpType_MembershipReportV1 = 0x12, IgmpType_DVMRP = 0x13,
  IgmpType_P1Mv1 = 0x14, IgmpType_CiscoTrace = 0x15, IgmpType_MembershipReportV2 = 0x16, IgmpType_LeaveGroup = 0x17,
  IgmpType_MulticastTracerouteResponse = 0x1e, IgmpType_MulticastTraceroute = 0x1f, IgmpType_MembershipReportV3 = 0x22, IgmpType_MulticastRouterAdvertisement = 0x30,
  IgmpType_MulticastRouterSolicitation = 0x31, IgmpType_MulticastRouterTermination = 0x32
}
 
enum  IPProtocolTypes {
  PACKETPP_IPPROTO_IP = 0, PACKETPP_IPPROTO_HOPOPTS = 0, PACKETPP_IPPROTO_ICMP = 1, PACKETPP_IPPROTO_IGMP = 2,
  PACKETPP_IPPROTO_IPIP = 4, PACKETPP_IPPROTO_TCP = 6, PACKETPP_IPPROTO_EGP = 8, PACKETPP_IPPROTO_PUP = 12,
  PACKETPP_IPPROTO_UDP = 17, PACKETPP_IPPROTO_IDP = 22, PACKETPP_IPPROTO_IPV6 = 41, PACKETPP_IPPROTO_ROUTING = 43,
  PACKETPP_IPPROTO_FRAGMENT = 44, PACKETPP_IPPROTO_GRE = 47, PACKETPP_IPPROTO_ESP = 50, PACKETPP_IPPROTO_AH = 51,
  PACKETPP_IPPROTO_ICMPV6 = 58, PACKETPP_IPPROTO_NONE = 59, PACKETPP_IPPROTO_DSTOPTS = 60, PACKETPP_IPPROTO_RAW = 255,
  PACKETPP_IPPROTO_MAX
}
 
enum  IPv4OptionTypes {
  IPV4OPT_EndOfOptionsList = 0, IPV4OPT_NOP = 1, IPV4OPT_RecordRoute = 7, IPV4OPT_MTUProbe = 11,
  IPV4OPT_MTUReply = 12, IPV4OPT_QuickStart = 25, IPV4OPT_Timestamp = 68, IPV4OPT_Traceroute = 82,
  IPV4OPT_Security = 130, IPV4OPT_LooseSourceRoute = 131, IPV4OPT_ExtendedSecurity = 133, IPV4OPT_CommercialSecurity = 134,
  IPV4OPT_StreamID = 136, IPV4OPT_StrictSourceRoute = 137, IPV4OPT_ExtendedInternetProtocol = 145, IPV4OPT_AddressExtension = 147,
  IPV4OPT_RouterAlert = 148, IPV4OPT_SelectiveDirectedBroadcast = 149, IPV4OPT_DynamicPacketState = 151, IPV4OPT_UpstreamMulticastPkt = 152,
  IPV4OPT_Unknown
}
 
enum  LogModule { ,
  CommonLogModuleIpUtils, CommonLogModuleTablePrinter, CommonLogModuleGenericUtils, PacketLogModuleRawPacket,
  PacketLogModulePacket, PacketLogModuleLayer, PacketLogModuleArpLayer, PacketLogModuleEthLayer,
  PacketLogModuleIPv4Layer, PacketLogModuleIPv6Layer, PacketLogModulePayloadLayer, PacketLogModuleTcpLayer,
  PacketLogModuleUdpLayer, PacketLogModuleVlanLayer, PacketLogModuleHttpLayer, PacketLogModulePPPoELayer,
  PacketLogModuleDnsLayer, PacketLogModuleMplsLayer, PacketLogModuleIcmpLayer, PacketLogModuleGreLayer,
  PacketLogModuleSSLLayer, PacketLogModuleSllLayer, PacketLogModuleDhcpLayer, PacketLogModuleDhcpV6Layer,
  PacketLogModuleIgmpLayer, PacketLogModuleSipLayer, PacketLogModuleSdpLayer, PacketLogModuleRadiusLayer,
  PacketLogModuleGtpLayer, PacketLogModuleBgpLayer, PacketLogModuleSSHLayer, PacketLogModuleTcpReassembly,
  PacketLogModuleIPReassembly, PacketLogModuleIPSecLayer, PacketLogModuleNtpLayer, PcapLogModuleWinPcapLiveDevice,
  PcapLogModuleRemoteDevice, PcapLogModuleLiveDevice, PcapLogModuleFileDevice, PcapLogModulePfRingDevice,
  PcapLogModuleMBufRawPacket, PcapLogModuleDpdkDevice, PcapLogModuleKniDevice, NetworkUtils
}
 
enum  Direction { SRC, DST, SRC_OR_DST }
 
enum  FilterOperator {
  EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_OR_EQUAL,
  LESS_THAN, LESS_OR_EQUAL
}
 
enum  OsiModelLayer {
  OsiModelPhysicalLayer = 1, OsiModelDataLinkLayer = 2, OsiModelNetworkLayer = 3, OsiModelTransportLayer = 4,
  OsiModelSesionLayer = 5, OsiModelPresentationLayer = 6, OsiModelApplicationLayer = 7, OsiModelLayerUnknown = 8
}
 
enum  LinkLayerType {
  LINKTYPE_NULL = 0, LINKTYPE_ETHERNET = 1, LINKTYPE_AX25 = 3, LINKTYPE_IEEE802_5 = 6,
  LINKTYPE_ARCNET_BSD = 7, LINKTYPE_SLIP = 8, LINKTYPE_PPP = 9, LINKTYPE_FDDI = 10,
  LINKTYPE_DLT_RAW1 = 12, LINKTYPE_DLT_RAW2 = 14, LINKTYPE_PPP_HDLC = 50, LINKTYPE_PPP_ETHER = 51,
  LINKTYPE_ATM_RFC1483 = 100, LINKTYPE_RAW = 101, LINKTYPE_C_HDLC = 104, LINKTYPE_IEEE802_11 = 105,
  LINKTYPE_FRELAY = 107, LINKTYPE_LOOP = 108, LINKTYPE_LINUX_SLL = 113, LINKTYPE_LTALK = 114,
  LINKTYPE_PFLOG = 117, LINKTYPE_IEEE802_11_PRISM = 119, LINKTYPE_IP_OVER_FC = 122, LINKTYPE_SUNATM = 123,
  LINKTYPE_IEEE802_11_RADIOTAP = 127, LINKTYPE_ARCNET_LINUX = 129, LINKTYPE_APPLE_IP_OVER_IEEE1394 = 138, LINKTYPE_MTP2_WITH_PHDR = 139,
  LINKTYPE_MTP2 = 140, LINKTYPE_MTP3 = 141, LINKTYPE_SCCP = 142, LINKTYPE_DOCSIS = 143,
  LINKTYPE_LINUX_IRDA = 144, LINKTYPE_USER0 = 147, LINKTYPE_USER1 = 148, LINKTYPE_USER2 = 149,
  LINKTYPE_USER3 = 150, LINKTYPE_USER4 = 151, LINKTYPE_USER5 = 152, LINKTYPE_USER6 = 153,
  LINKTYPE_USER7 = 154, LINKTYPE_USER8 = 155, LINKTYPE_USER9 = 156, LINKTYPE_USER10 = 157,
  LINKTYPE_USER11 = 158, LINKTYPE_USER12 = 159, LINKTYPE_USER13 = 160, LINKTYPE_USER14 = 161,
  LINKTYPE_USER15 = 162, LINKTYPE_IEEE802_11_AVS = 163, LINKTYPE_BACNET_MS_TP = 165, LINKTYPE_PPP_PPPD = 166,
  LINKTYPE_GPRS_LLC = 169, LINKTYPE_GPF_T = 170, LINKTYPE_GPF_F = 171, LINKTYPE_LINUX_LAPD = 177,
  LINKTYPE_BLUETOOTH_HCI_H4 = 187, LINKTYPE_USB_LINUX = 189, LINKTYPE_PPI = 192, LINKTYPE_IEEE802_15_4 = 195,
  LINKTYPE_SITA = 196, LINKTYPE_ERF = 197, LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR = 201, LINKTYPE_AX25_KISS = 202,
  LINKTYPE_LAPD = 203, LINKTYPE_PPP_WITH_DIR = 204, LINKTYPE_C_HDLC_WITH_DIR = 205, LINKTYPE_FRELAY_WITH_DIR = 206,
  LINKTYPE_IPMB_LINUX = 209, LINKTYPE_IEEE802_15_4_NONASK_PHY = 215, LINKTYPE_USB_LINUX_MMAPPED = 220, LINKTYPE_FC_2 = 224,
  LINKTYPE_FC_2_WITH_FRAME_DELIMS = 225, LINKTYPE_IPNET = 226, LINKTYPE_CAN_SOCKETCAN = 227, LINKTYPE_IPV4 = 228,
  LINKTYPE_IPV6 = 229, LINKTYPE_IEEE802_15_4_NOFCS = 230, LINKTYPE_DBUS = 231, LINKTYPE_DVB_CI = 235,
  LINKTYPE_MUX27010 = 236, LINKTYPE_STANAG_5066_D_PDU = 237, LINKTYPE_NFLOG = 239, LINKTYPE_NETANALYZER = 240,
  LINKTYPE_NETANALYZER_TRANSPARENT = 241, LINKTYPE_IPOIB = 242, LINKTYPE_MPEG_2_TS = 243, LINKTYPE_NG40 = 244,
  LINKTYPE_NFC_LLCP = 245, LINKTYPE_INFINIBAND = 247, LINKTYPE_SCTP = 248, LINKTYPE_USBPCAP = 249,
  LINKTYPE_RTAC_SERIAL = 250, LINKTYPE_BLUETOOTH_LE_LL = 251, LINKTYPE_NETLINK = 253, LINKTYPE_BLUETOOTH_LINUX_MONITOR = 254,
  LINKTYPE_BLUETOOTH_BREDR_BB = 255, LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR = 256, LINKTYPE_PROFIBUS_DL = 257, LINKTYPE_PKTAP = 258,
  LINKTYPE_EPON = 259, LINKTYPE_IPMI_HPM_2 = 260, LINKTYPE_ZWAVE_R1_R2 = 261, LINKTYPE_ZWAVE_R3 = 262,
  LINKTYPE_WATTSTOPPER_DLM = 263, LINKTYPE_ISO_14443 = 264
}
 
enum  SSLRecordType { SSL_CHANGE_CIPHER_SPEC = 20, SSL_ALERT = 21, SSL_HANDSHAKE = 22, SSL_APPLICATION_DATA = 23 }
 
enum  SSLHandshakeType {
  SSL_HELLO_REQUEST = 0, SSL_CLIENT_HELLO = 1, SSL_SERVER_HELLO = 2, SSL_NEW_SESSION_TICKET = 4,
  SSL_END_OF_EARLY_DATE = 5, SSL_ENCRYPTED_EXTENSIONS = 8, SSL_CERTIFICATE = 11, SSL_SERVER_KEY_EXCHANGE = 12,
  SSL_CERTIFICATE_REQUEST = 13, SSL_SERVER_DONE = 14, SSL_CERTIFICATE_VERIFY = 15, SSL_CLIENT_KEY_EXCHANGE = 16,
  SSL_FINISHED = 20, SSL_KEY_UPDATE = 24, SSL_HANDSHAKE_UNKNOWN = 255
}
 
enum  SSLAlertLevel { SSL_ALERT_LEVEL_WARNING = 1, SSL_ALERT_LEVEL_FATAL = 2, SSL_ALERT_LEVEL_ENCRYPTED = 255 }
 
enum  SSLAlertDescription {
  SSL_ALERT_CLOSE_NOTIFY = 0, SSL_ALERT_UNEXPECTED_MESSAGE = 10, SSL_ALERT_BAD_RECORD_MAC = 20, SSL_ALERT_DECRYPTION_FAILED = 21 ,
  SSL_ALERT_DECOMPRESSION_FAILURE = 30, SSL_ALERT_HANDSHAKE_FAILURE = 40, SSL_ALERT_NO_CERTIFICATE = 41, SSL_ALERT_BAD_CERTIFICATE = 42,
  SSL_ALERT_UNSUPPORTED_CERTIFICATE = 43, SSL_ALERT_CERTIFICATE_REVOKED = 44, SSL_ALERT_CERTIFICATE_EXPIRED = 45, SSL_ALERT_CERTIFICATE_UNKNOWN = 46,
  SSL_ALERT_ILLEGAL_PARAMETER = 47, SSL_ALERT_UNKNOWN_CA = 48, SSL_ALERT_ACCESS_DENIED = 49, SSL_ALERT_DECODE_ERROR = 50,
  SSL_ALERT_DECRYPT_ERROR = 51, SSL_ALERT_EXPORT_RESTRICTION = 60, SSL_ALERT_PROTOCOL_VERSION = 70, SSL_ALERT_INSUFFICIENT_SECURITY = 71,
  SSL_ALERT_INTERNAL_ERROR = 80, SSL_ALERT_USER_CANCELLED = 90, SSL_ALERT_NO_RENEGOTIATION = 100, SSL_ALERT_UNSUPPORTED_EXTENSION = 110,
  SSL_ALERT_ENCRYPTED = 255
}
 
enum  SSLKeyExchangeAlgorithm {
  SSL_KEYX_NULL, SSL_KEYX_RSA, SSL_KEYX_DH, SSL_KEYX_DHE,
  SSL_KEYX_ECDH, SSL_KEYX_ECDHE, SSL_KEYX_FORTEZZA, SSL_KEYX_KRB5,
  SSL_KEYX_PSK, SSL_KEYX_GOST, SSL_KEYX_SRP, SSL_KEYX_PCT,
  SSL_KEYX_Unknown
}
 
enum  SSLAuthenticationAlgorithm {
  SSL_AUTH_NULL, SSL_AUTH_RSA, SSL_AUTH_DSS, SSL_AUTH_anon,
  SSL_AUTH_KEA, SSL_AUTH_KRB5, SSL_AUTH_PSK, SSL_AUTH_ECDSA,
  SSL_AUTH_GOST, SSL_AUTH_SHA, SSL_AUTH_PCT, SSL_AUTH_DHE,
  SSL_AUTH_Unknown
}
 
enum  SSLSymetricEncryptionAlgorithm {
  SSL_SYM_NULL, SSL_SYM_RC4_40, SSL_SYM_RC4_128, SSL_SYM_RC2_CBC_40,
  SSL_SYM_IDEA_CBC, SSL_SYM_DES40_CBC, SSL_SYM_DES_CBC, SSL_SYM_3DES_EDE_CBC,
  SSL_SYM_FORTEZZA_CBC, SSL_SYM_DES_CBC_40, SSL_SYM_AES_128_CBC, SSL_SYM_AES_256_CBC,
  SSL_SYM_CAMELLIA_128_CBC, SSL_SYM_CAMELLIA_128_GCM, SSL_SYM_CAMELLIA_256_GCM, SSL_SYM_RC4_56,
  SSL_SYM_RC2_CBC_56, SSL_SYM_GOST28147, SSL_SYM_CAMELLIA_256_CBC, SSL_SYM_SEED_CBC,
  SSL_SYM_AES_128, SSL_SYM_AES_256, SSL_SYM_AES_128_GCM, SSL_SYM_AES_256_GCM,
  SSL_SYM_RC4_128_EXPORT40, SSL_SYM_RC2_CBC_128_CBC, SSL_SYM_IDEA_128_CBC, SSL_SYM_DES_64_CBC,
  SSL_SYM_DES_192_EDE3_CBC, SSL_SYM_RC4_64, SSL_SYM_ARIA_128_CBC, SSL_SYM_ARIA_256_CBC,
  SSL_SYM_ARIA_128_GCM, SSL_SYM_ARIA_256_GCM, SSL_SYM_CHACHA20_POLY1305, SSL_SYM_AES_128_CCM,
  SSL_SYM_AES_128_CCM_8, SSL_SYM_Unknown
}
 
enum  SSLHashingAlgorithm {
  SSL_HASH_NULL, SSL_HASH_MD5, SSL_HASH_SHA, SSL_HASH_SHA256,
  SSL_HASH_GOST28147, SSL_HASH_GOSTR3411, SSL_HASH_SHA384, SSL_HASH_CCM,
  SSL_HASH_CCM_8, SSL_HASH_Unknown
}
 
enum  SSLExtensionType {
  SSL_EXT_SERVER_NAME = 0, SSL_EXT_MAX_FRAGMENT_LENGTH = 1, SSL_EXT_CLIENT_CERTIFICATE_URL = 2, SSL_EXT_TRUSTED_CA_KEYS = 3,
  SSL_EXT_TRUNCATED_HMAC = 4, SSL_EXT_STATUS_REQUEST = 5, SSL_EXT_USER_MAPPING = 6, SSL_EXT_CLIENT_AUTHZ = 7,
  SSL_EXT_SERVER_AUTHZ = 8, SSL_EXT_CERT_TYPE = 9, SSL_EXT_SUPPORTED_GROUPS = 10, SSL_EXT_EC_POINT_FORMATS = 11,
  SSL_EXT_SRP = 12, SSL_EXT_SIGNATURE_ALGORITHMS = 13, SSL_EXT_USE_SRTP = 14, SSL_EXT_HEARTBEAT = 15,
  SSL_EXT_APPLICATION_LAYER_PROTOCOL_NEGOTIATION = 16, SSL_EXT_STATUS_REQUEST_V2 = 17, SSL_EXT_SIGNED_CERTIFICATE_TIMESTAMP = 18, SSL_EXT_CLIENT_CERTIFICATE_TYPE = 19,
  SSL_EXT_SERVER_CERTIFICATE_TYPE = 20, SSL_EXT_PADDING = 21, SSL_EXT_ENCRYPT_THEN_MAC = 22, SSL_EXT_EXTENDED_MASTER_SECRET = 23,
  SSL_EXT_TOKEN_BINDING = 24, SSL_EXT_SESSIONTICKET_TLS = 35, SSL_EXT_PRE_SHARED_KEY = 41, SSL_EXT_EARLY_DATA = 42,
  SSL_EXT_SUPPORTED_VERSIONS = 43, SSL_EXT_COOKIE = 44, SSL_EXT_PSK_KEY_EXCHANGE_MODES = 45, SSL_EXT_CERTIFICATE_AUTHORITIES = 47,
  SSL_EXT_OLD_FILTERS = 48, SSL_EXT_POST_HANDSHAKE_AUTH = 49, SSL_EXT_SIGNATURE_ALGORITHM_CERT = 50, SSL_EXT_KEY_SHARE = 51,
  SSL_EXT_RENEGOTIATION_INFO = 65281, SSL_EXT_Unknown
}
 
enum  SSLClientCertificateType {
  SSL_CCT_RSA_SIGN = 1, SSL_CCT_DSS_SIGN = 2, SSL_CCT_RSA_FIXED_DH = 3, SSL_CCT_DSS_FIXED_DH = 4,
  SSL_CCT_RSA_EPHEMERAL_DH_RESERVED = 5, SSL_CCT_DSS_EPHEMERAL_DH_RESERVED = 6, SSL_CCT_FORTEZZA_DMS_RESERVED = 20, SSL_CCT_ECDSA_SIGN = 64,
  SSL_CCT_RSA_FIXED_ECDH = 65, SSL_CCT_ECDSA_FIXED_ECDH = 66, SSL_CCT_UNKNOWN
}
 
enum  TcpOptionType {
  PCPP_TCPOPT_NOP = 1, PCPP_TCPOPT_EOL = 0, TCPOPT_MSS = 2, PCPP_TCPOPT_WINDOW = 3,
  TCPOPT_SACK_PERM = 4, PCPP_TCPOPT_SACK = 5, TCPOPT_ECHO = 6, TCPOPT_ECHOREPLY = 7,
  PCPP_TCPOPT_TIMESTAMP = 8, TCPOPT_CC = 11, TCPOPT_CCNEW = 12, TCPOPT_CCECHO = 13,
  TCPOPT_MD5 = 19, TCPOPT_MPTCP = 0x1e, TCPOPT_SCPS = 20, TCPOPT_SNACK = 21,
  TCPOPT_RECBOUND = 22, TCPOPT_CORREXP = 23, TCPOPT_QS = 27, TCPOPT_USER_TO = 28,
  TCPOPT_EXP_FD = 0xfd, TCPOPT_EXP_FE = 0xfe, TCPOPT_RVBD_PROBE = 76, TCPOPT_RVBD_TRPY = 78,
  TCPOPT_Unknown = 255
}
 

Functions

std::string byteArrayToHexString (const uint8_t *byteArr, size_t byteArrSize, int stringSizeLimit=-1)
 
size_t hexStringToByteArray (const std::string &hexString, uint8_t *resultByteArr, size_t resultByteArrSize)
 
char * cross_platform_memmem (const char *haystack, size_t haystackLen, const char *needle, size_t needleLen)
 
uint16_t computeChecksum (ScalarBuffer< uint16_t > vec[], size_t vecSize)
 
uint32_t fnvHash (ScalarBuffer< uint8_t > vec[], size_t vecSize)
 
uint32_t fnvHash (uint8_t *buffer, size_t bufSize)
 
uint32_t hash5Tuple (Packet *packet, bool const &directionUnique=false)
 
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)
 
int clockGetTime (long &sec, long &nsec)
 
void multiPlatformSleep (uint32_t seconds)
 
void multiPlatformMSleep (uint32_t milliseconds)
 
uint16_t hostToNet16 (uint16_t host)
 
uint16_t netToHost16 (uint16_t net)
 
uint32_t hostToNet32 (uint32_t host)
 
uint32_t netToHost32 (uint32_t net)
 

Variables

const ProtocolType UnknownProtocol = 0x00
 
const ProtocolType Ethernet = 0x01
 
const ProtocolType IPv4 = 0x02
 
const ProtocolType IPv6 = 0x04
 
const ProtocolType IP = 0x06
 
const ProtocolType TCP = 0x08
 
const ProtocolType UDP = 0x10
 
const ProtocolType HTTPRequest = 0x20
 
const ProtocolType HTTPResponse = 0x40
 
const ProtocolType HTTP = 0x60
 
const ProtocolType ARP = 0x80
 
const ProtocolType VLAN = 0x100
 
const ProtocolType ICMP = 0x200
 
const ProtocolType PPPoESession = 0x400
 
const ProtocolType PPPoEDiscovery = 0x800
 
const ProtocolType PPPoE = 0xc00
 
const ProtocolType DNS = 0x1000
 
const ProtocolType MPLS = 0x2000
 
const ProtocolType GREv0 = 0x4000
 
const ProtocolType GREv1 = 0x8000
 
const ProtocolType GRE = 0xc000
 
const ProtocolType PPP_PPTP = 0x10000
 
const ProtocolType SSL = 0x20000
 
const ProtocolType SLL = 0x40000
 
const ProtocolType DHCP = 0x80000
 
const ProtocolType NULL_LOOPBACK = 0x100000
 
const ProtocolType IGMP = 0xE00000
 
const ProtocolType IGMPv1 = 0x200000
 
const ProtocolType IGMPv2 = 0x400000
 
const ProtocolType IGMPv3 = 0x800000
 
const ProtocolType GenericPayload = 0x1000000
 
const ProtocolType VXLAN = 0x2000000
 
const ProtocolType SIPRequest = 0x4000000
 
const ProtocolType SIPResponse = 0x8000000
 
const ProtocolType SIP = 0xc000000
 
const ProtocolType SDP = 0x10000000
 
const ProtocolType PacketTrailer = 0x20000000
 
const ProtocolType Radius = 0x40000000
 
const ProtocolType GTPv1 = 0x80000000
 
const ProtocolType GTP = 0x80000000
 
const ProtocolType EthernetDot3 = 0x100000000
 
const ProtocolType BGP = 0x200000000
 
const ProtocolType SSH = 0x400000000
 
const ProtocolType AuthenticationHeader = 0x800000000
 
const ProtocolType ESP = 0x1000000000
 
const ProtocolType IPSec = 0x1800000000
 
const ProtocolType DHCPv6 = 0x2000000000
 
const ProtocolType NTP = 0x4000000000
 

Detailed Description

The main namespace for the PcapPlusPlus lib.

Typedef Documentation

◆ icmp_address_mask_reply

ICMP address mask reply message structure, same as icmp_address_mask_request

◆ icmp_echo_reply

ICMP echo (ping) reply message structure, same as icmp_echo_request

◆ icmp_info_reply

ICMP information reply message structure, same as icmp_info_request

◆ icmp_router_solicitation

ICMP router solicitation message structure, same as icmphdr

◆ icmp_source_quench

ICMP source quence message structure, same as icmp_time_exceeded

◆ icmp_timestamp_reply

ICMP timestamp reply message structure, same as icmp_timestamp_request

◆ MBufRawPacketVector

A vector of pointers to MBufRawPacket

◆ OnDpdkPacketsArriveCallback

pcpp::OnDpdkPacketsArriveCallback

A callback that is called when a burst of packets are captured by DpdkDevice

Parameters
[in]packetsA pointer to an array of MBufRawPacket
[in]numOfPacketsThe length of the array
[in]threadIdThe thread/core ID who captured the packets
[in]deviceA pointer to the DpdkDevice who captured the packets
[in]userCookieThe user cookie assigned by the user in DpdkDevice::startCaptureSingleThread() or DpdkDevice::startCaptureMultiThreads

◆ OnKniPacketArriveCallback

typedef bool(* pcpp::OnKniPacketArriveCallback) (MBufRawPacket *packets, uint32_t numOfPackets, KniDevice *device, void *userCookie)

Defines the signature callback used by capturing API on KNI device

◆ OnPacketArrivesCallback

pcpp::OnPacketArrivesCallback

A callback that is called when a packet is captured by PcapLiveDevice

Parameters
[in]pPacketA pointer to the raw packet
[in]pDeviceA pointer to the PcapLiveDevice instance
[in]userCookieA pointer to the object put by the user when packet capturing stared

◆ OnPacketArrivesStopBlocking

pcpp::OnPacketArrivesStopBlocking

A callback that is called when a packet is captured by PcapLiveDevice

Parameters
[in]pPacketA pointer to the raw packet
[in]pDeviceA pointer to the PcapLiveDevice instance
[in]userCookieA pointer to the object put by the user when packet capturing stared
Returns
True when main thread should stop blocking or false otherwise

◆ OnStatsUpdateCallback

pcpp::OnStatsUpdateCallback

A callback that is called periodically for stats collection if user asked to start packet capturing with periodic stats collection

Parameters
[in]statsA reference to the most updated stats
[in]userCookieA pointer to the object put by the user when packet capturing stared

◆ ProtocolType

Representing all protocols supported by PcapPlusPlus

◆ RawPacketVector

A vector of pointers to RawPacket

Enumeration Type Documentation

◆ ArpOpcode

An enum for ARP message type

Enumerator
ARP_REQUEST 

ARP request.

ARP_REPLY 

ARP reply (response)

◆ BootpOpCodes

BootP opcodes

Enumerator
DHCP_BOOTREQUEST 

BootP request

DHCP_BOOTREPLY 

BootP reply

◆ DhcpMessageType

DHCP message types

Enumerator
DHCP_UNKNOWN_MSG_TYPE 

Unknown message type

DHCP_DISCOVER 

Discover message type

DHCP_OFFER 

Offer message type

DHCP_REQUEST 

Request message type

DHCP_DECLINE 

Decline message type

DHCP_ACK 

Acknowledge message type

DHCP_NAK 

Non-acknowledge message type

DHCP_RELEASE 

Release message type

DHCP_INFORM 

Inform message type

◆ DhcpOptionTypes

DHCP option types.

Enumerator
DHCPOPT_UNKNOWN 

Unknown option type

DHCPOPT_PAD 

Pad

DHCPOPT_SUBNET_MASK 

Subnet Mask Value

DHCPOPT_TIME_OFFSET 

Time Offset in Seconds from UTC

DHCPOPT_ROUTERS 

N/4 Router addresses

DHCPOPT_TIME_SERVERS 

N/4 Timeserver addresses

DHCPOPT_NAME_SERVERS 

N/4 IEN-116 Server addresses

DHCPOPT_DOMAIN_NAME_SERVERS 

N/4 DNS Server addresses

DHCPOPT_LOG_SERVERS 

N/4 Logging Server addresses

DHCPOPT_QUOTES_SERVERS 

N/4 Quotes Server addresses

DHCPOPT_LPR_SERVERS 

N/4 Quotes Server addresses

DHCPOPT_IMPRESS_SERVERS 

N/4 Quotes Server addresses

DHCPOPT_RESOURCE_LOCATION_SERVERS 

N/4 RLP Server addresses

DHCPOPT_HOST_NAME 

Hostname string

DHCPOPT_BOOT_SIZE 

Size of boot file in 512 byte chunks

DHCPOPT_MERIT_DUMP 

Client to dump and name the file to dump it to

DHCPOPT_DOMAIN_NAME 

The DNS domain name of the client

DHCPOPT_SWAP_SERVER 

Swap Server address

DHCPOPT_ROOT_PATH 

Path name for root disk

DHCPOPT_EXTENSIONS_PATH 

Path name for more BOOTP info

DHCPOPT_IP_FORWARDING 

Enable/Disable IP Forwarding

DHCPOPT_NON_LOCAL_SOURCE_ROUTING 

Enable/Disable Source Routing

DHCPOPT_POLICY_FILTER 

Routing Policy Filters

DHCPOPT_MAX_DGRAM_REASSEMBLY 

Max Datagram Reassembly Size

DEFAULT_IP_TTL 

Default IP Time to Live

DHCPOPT_PATH_MTU_AGING_TIMEOUT 

Path MTU Aging Timeout

PATH_MTU_PLATEAU_TABLE 

Path MTU Plateau Table

DHCPOPT_INTERFACE_MTU 

Interface MTU Size

DHCPOPT_ALL_SUBNETS_LOCAL 

All Subnets are Local

DHCPOPT_BROADCAST_ADDRESS 

Broadcast Address

DHCPOPT_PERFORM_MASK_DISCOVERY 

Perform Mask Discovery

DHCPOPT_MASK_SUPPLIER 

Provide Mask to Others

DHCPOPT_ROUTER_DISCOVERY 

Perform Router Discovery

DHCPOPT_ROUTER_SOLICITATION_ADDRESS 

Router Solicitation Address

DHCPOPT_STATIC_ROUTES 

Static Routing Table

DHCPOPT_TRAILER_ENCAPSULATION 

Trailer Encapsulation

DHCPOPT_ARP_CACHE_TIMEOUT 

ARP Cache Timeout

DHCPOPT_IEEE802_3_ENCAPSULATION 

IEEE802.3 Encapsulation

DHCPOPT_DEFAULT_TCP_TTL 

Default TCP Time to Live

DHCPOPT_TCP_KEEPALIVE_INTERVAL 

TCP Keepalive Interval

DHCPOPT_TCP_KEEPALIVE_GARBAGE 

TCP Keepalive Garbage

DHCPOPT_NIS_DOMAIN 

NIS Domain Name

DHCPOPT_NIS_SERVERS 

NIS Server Addresses

DHCPOPT_NTP_SERVERS 

NTP Server Addresses

DHCPOPT_VENDOR_ENCAPSULATED_OPTIONS 

Vendor Specific Information

DHCPOPT_NETBIOS_NAME_SERVERS 

NETBIOS Name Servers

DHCPOPT_NETBIOS_DD_SERVER 

NETBIOS Datagram Distribution

DHCPOPT_NETBIOS_NODE_TYPE 

NETBIOS Node Type

DHCPOPT_NETBIOS_SCOPE 

NETBIOS Scope

DHCPOPT_FONT_SERVERS 

X Window Font Server

DHCPOPT_X_DISPLAY_MANAGER 

X Window Display Manager

DHCPOPT_DHCP_REQUESTED_ADDRESS 

Requested IP Address

DHCPOPT_DHCP_LEASE_TIME 

IP Address Lease Time

DHCPOPT_DHCP_OPTION_OVERLOAD 

Overload "sname" or "file"

DHCPOPT_DHCP_MESSAGE_TYPE 

DHCP Message Type

DHCPOPT_DHCP_SERVER_IDENTIFIER 

DHCP Server Identification

DHCPOPT_DHCP_PARAMETER_REQUEST_LIST 

Parameter Request List

DHCPOPT_DHCP_MESSAGE 

DHCP Error Message

DHCPOPT_DHCP_MAX_MESSAGE_SIZE 

DHCP Maximum Message Size

DHCPOPT_DHCP_RENEWAL_TIME 

DHCP Renewal (T1) Time

DHCPOPT_DHCP_REBINDING_TIME 

DHCP Rebinding (T2) Time

DHCPOPT_VENDOR_CLASS_IDENTIFIER 

Class Identifier

DHCPOPT_DHCP_CLIENT_IDENTIFIER 

Class Identifier

DHCPOPT_NWIP_DOMAIN_NAME 

NetWare/IP Domain Name

DHCPOPT_NWIP_SUBOPTIONS 

NetWare/IP sub Options

DHCPOPT_NIS_DOMAIN_NAME 

NIS+ v3 Client Domain Name

DHCPOPT_NIS_SERVER_ADDRESS 

NIS+ v3 Server Addresses

DHCPOPT_TFTP_SERVER_NAME 

TFTP Server Name

DHCPOPT_BOOTFILE_NAME 

Boot File Name

DHCPOPT_HOME_AGENT_ADDRESS 

Home Agent Addresses

DHCPOPT_SMTP_SERVER 

Simple Mail Server (SMTP) Addresses

DHCPOPT_POP3_SERVER 

Post Office (POP3) Server Addresses

DHCPOPT_NNTP_SERVER 

Network News (NNTP) Server Addresses

DHCPOPT_WWW_SERVER 

WWW Server Addresses

DHCPOPT_FINGER_SERVER 

Finger Server Addresses

DHCPOPT_IRC_SERVER 

Chat (IRC) Server Addresses

DHCPOPT_STREETTALK_SERVER 

StreetTalk Server Addresses

DHCPOPT_STDA_SERVER 

ST Directory Assist. Addresses

DHCPOPT_USER_CLASS 

User Class Information

DHCPOPT_DIRECTORY_AGENT 

Directory Agent Information

DHCPOPT_SERVICE_SCOPE 

Service Location Agent Scope

DHCPOPT_RAPID_COMMIT 

Rapid Commit

DHCPOPT_FQDN 

Fully Qualified Domain Name

DHCPOPT_DHCP_AGENT_OPTIONS 

Relay Agent Information

DHCPOPT_ISNS 

Internet Storage Name Service

DHCPOPT_NDS_SERVERS 

Novell Directory Services

DHCPOPT_NDS_TREE_NAME 

Novell Directory Services

DHCPOPT_NDS_CONTEXT 

Novell Directory Services

DHCPOPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST 

BCMCS Controller Domain Name list

DHCPOPT_BCMCS_CONTROLLER_IPV4_ADDRESS 

BCMCS Controller IPv4 address option

DHCPOPT_AUTHENTICATION 

Authentication

DHCPOPT_CLIENT_LAST_TXN_TIME 

Client Last Transaction Time

DHCPOPT_ASSOCIATED_IP 

Associated IP

DHCPOPT_CLIENT_SYSTEM 

Client System Architecture

DHCPOPT_CLIENT_NDI 

Client Network Device Interface

DHCPOPT_LDAP 

Lightweight Directory Access Protocol [

DHCPOPT_UUID_GUID 

UUID/GUID-based Client Identifier

DHCPOPT_USER_AUTH 

Open Group's User Authentication

DHCPOPT_GEOCONF_CIVIC 

GEOCONF_CIVIC

DHCPOPT_PCODE 

IEEE 1003.1 TZ String

DHCPOPT_TCODE 

Reference to the TZ Database

DHCPOPT_NETINFO_ADDRESS 

NetInfo Parent Server Address

DHCPOPT_NETINFO_TAG 

NetInfo Parent Server Tag

DHCPOPT_URL 

URL

DHCPOPT_AUTO_CONFIG 

DHCP Auto-Configuration

DHCPOPT_NAME_SERVICE_SEARCH 

Name Service Search

DHCPOPT_SUBNET_SELECTION 

Subnet Selection Option

DHCPOPT_DOMAIN_SEARCH 

DNS Domain Search List

DHCPOPT_SIP_SERVERS 

SIP Servers DHCP Option

DHCPOPT_CLASSLESS_STATIC_ROUTE 

Classless Static Route Option

DHCPOPT_CCC 

CableLabs Client Configuration

DHCPOPT_GEOCONF 

GeoConf Option

DHCPOPT_V_I_VENDOR_CLASS 

Vendor-Identifying Vendor Class

DHCPOPT_V_I_VENDOR_OPTS 

Vendor-Identifying Vendor-Specific Information

DHCPOPT_OPTION_PANA_AGENT 

OPTION_PANA_AGENT

DHCPOPT_OPTION_V4_LOST 

OPTION_V4_LOST

DHCPOPT_OPTION_CAPWAP_AC_V4 

CAPWAP Access Controller addresses

DHCPOPT_OPTION_IPV4_ADDRESS_MOS 

A Series Of Suboptions

DHCPOPT_OPTION_IPV4_FQDN_MOS 

A Series Of Suboptions

DHCPOPT_SIP_UA_CONFIG 

List of domain names to search for SIP User Agent Configuration

DHCPOPT_OPTION_IPV4_ADDRESS_ANDSF 

ANDSF IPv4 Address Option for DHCPv4

DHCPOPT_GEOLOC 

Geospatial Location with Uncertainty [RF

DHCPOPT_FORCERENEW_NONCE_CAPABLE 

Forcerenew Nonce Capable

DHCPOPT_RDNSS_SELECTION 

Information for selecting RDNSS

DHCPOPT_STATUS_CODE 

Status code and optional N byte text message describing status

DHCPOPT_BASE_TIME 

Absolute time (seconds since Jan 1, 1970) message was sent

DHCPOPT_START_TIME_OF_STATE 

Number of seconds in the past when client entered current state

DHCPOPT_QUERY_START_TIME 

Absolute time (seconds since Jan 1, 1970) for beginning of query

DHCPOPT_QUERY_END_TIME 

Absolute time (seconds since Jan 1, 1970) for end of query

DHCPOPT_DHCP_STATE 

State of IP address

DHCPOPT_DATA_SOURCE 

Indicates information came from local or remote server

DHCPOPT_OPTION_V4_PCP_SERVER 

Includes one or multiple lists of PCP server IP addresses; each list is treated as a separate PCP server

DHCPOPT_OPTION_V4_PORTPARAMS 

This option is used to configure a set of ports bound to a shared IPv4 address

DHCPOPT_CAPTIVE_PORTAL 

DHCP Captive-Portal

DHCPOPT_OPTION_MUD_URL_V4 

Manufacturer Usage Descriptions

DHCPOPT_ETHERBOOT 

Etherboot

DHCPOPT_IP_TELEPHONE 

IP Telephone

DHCPOPT_PXELINUX_MAGIC 

Magic string = F1:00:74:7E

DHCPOPT_CONFIGURATION_FILE 

Configuration file

DHCPOPT_PATH_PREFIX 

Path Prefix Option

DHCPOPT_REBOOT_TIME 

Reboot Time

DHCPOPT_OPTION_6RD 

OPTION_6RD with N/4 6rd BR addresses

DHCPOPT_OPTION_V4_ACCESS_DOMAIN 

Access Network Domain Name

DHCPOPT_SUBNET_ALLOCATION 

Subnet Allocation Option

DHCPOPT_VIRTUAL_SUBNET_SELECTION 

Virtual Subnet Selection (VSS) Option

DHCPOPT_END 

End (last option)

◆ DhcpV6MessageType

DHCPv6 message types

Enumerator
DHCPV6_UNKNOWN_MSG_TYPE 

Unknown message type

DHCPV6_SOLICIT 

Solicit message type (Client to Server)

DHCPV6_ADVERTISE 

Advertise message type (Server to Client)

DHCPV6_REQUEST 

Request message type (Client to Server)

DHCPV6_CONFIRM 

Confirm message type (Client to Server)

DHCPV6_RENEW 

Renew message type (Client to Server)

DHCPV6_REBIND 

Rebind message type (Client to Server)

DHCPV6_REPLY 

Reply message type (Server to Client)

DHCPV6_RELEASE 

Release message type (Client to Server)

DHCPV6_DECLINE 

Decline message type (Client to Server)

DHCPV6_RECONFIGURE 

Reconfigure message type (Server to Client)

DHCPV6_INFORMATION_REQUEST 

Information-Request message type (Client to Server)

DHCPV6_RELAY_FORWARD 

Relay-Forward message type (Relay agent to Server)

DHCPV6_RELAY_REPLY 

Relay-Reply message type (Server to Relay agent)

◆ DhcpV6OptionType

DHCPv6 option types. Resources for more information:

Enumerator
DHCPV6_OPT_UNKNOWN 

Unknown option type

DHCPV6_OPT_CLIENTID 

Client Identifier (DUID of client)

DHCPV6_OPT_SERVERID 

Server Identifier (DUID of server)

DHCPV6_OPT_IA_NA 

Identity Association for Non-temporary addresses

DHCPV6_OPT_IA_TA 

Identity Association for Temporary addresses

DHCPV6_OPT_IAADDR 

IA Address option

DHCPV6_OPT_ORO 

Option Request Option

DHCPV6_OPT_PREFERENCE 

Preference setting

DHCPV6_OPT_ELAPSED_TIME 

The amount of time since the client began the current DHCP transaction

DHCPV6_OPT_RELAY_MSG 

The DHCP message being relayed by a relay agent

DHCPV6_OPT_AUTH 

Authentication information

DHCPV6_OPT_UNICAST 

Server unicast

DHCPV6_OPT_STATUS_CODE 

Status code

DHCPV6_OPT_RAPID_COMMIT 

Rapid commit

DHCPV6_OPT_USER_CLASS 

User class

DHCPV6_OPT_VENDOR_CLASS 

Vendor class

DHCPV6_OPT_VENDOR_OPTS 

Vendor specific information

DHCPV6_OPT_INTERFACE_ID 

Interface ID

DHCPV6_OPT_RECONF_MSG 

Reconfigure Message

DHCPV6_OPT_RECONF_ACCEPT 

Reconfigure Accept

DHCPV6_OPT_SIP_SERVERS_D 

SIP Servers Domain Name

DHCPV6_OPT_SIP_SERVERS_A 

SIP Servers IPv6 Address List

DHCPV6_OPT_DNS_SERVERS 

DNS Recursive Name Server

DHCPV6_OPT_DOMAIN_LIST 

Domain Search List

DHCPV6_OPT_IA_PD 

Identity Association for Prefix Delegation

DHCPV6_OPT_IAPREFIX 

IA_PD Prefix

DHCPV6_OPT_NIS_SERVERS 

Network Information Service (NIS) Servers

DHCPV6_OPT_NISP_SERVERS 

Network Information Service v2 (NIS+) Servers

DHCPV6_OPT_NIS_DOMAIN_NAME 

Network Information Service (NIS) domain name

DHCPV6_OPT_NISP_DOMAIN_NAME 

Network Information Service v2 (NIS+) domain name

DHCPV6_OPT_SNTP_SERVERS 

Simple Network Time Protocol (SNTP) servers

DHCPV6_OPT_INFORMATION_REFRESH_TIME 

Information Refresh

DHCPV6_OPT_BCMCS_SERVER_D 

Broadcast and Multicast Service (BCMCS) Domain Name List

DHCPV6_OPT_BCMCS_SERVER_A 

Broadcast and Multicast Service (BCMCS) IPv6 Address List

DHCPV6_OPT_GEOCONF_CIVIC 

Geographical location in civic (e.g., postal) format

DHCPV6_OPT_REMOTE_ID 

Relay Agent Remote ID

DHCPV6_OPT_SUBSCRIBER_ID 

Relay Agent Subscriber ID

DHCPV6_OPT_CLIENT_FQDN 

FQDN

DHCPV6_OPT_PANA_AGENT 

One or more IPv6 addresses associated with PANA (Protocol for carrying Authentication for Network Access) Authentication Agents

DHCPV6_OPT_NEW_POSIX_TIMEZONE 

Time zone to be used by the client in IEEE 1003.1 format

DHCPV6_OPT_NEW_TZDB_TIMEZONE 

Time zone (TZ) database entry referred to by entry name

DHCPV6_OPT_ERO 

Relay Agent Echo Request

DHCPV6_OPT_LQ_QUERY 

Query option

DHCPV6_OPT_CLIENT_DATA 

Client Data

DHCPV6_OPT_CLT_TIME 

Client Last Transaction Time

DHCPV6_OPT_LQ_RELAY_DATA 

Relay data

DHCPV6_OPT_LQ_CLIENT_LINK 

Client link

DHCPV6_OPT_MIP6_HNINF 

Mobile IPv6 Home Network Information

DHCPV6_OPT_MIP6_RELAY 

Mobile IPv6 Relay Agent

DHCPV6_OPT_V6_LOST 

Location to Service Translation (LoST) server domain name

DHCPV6_OPT_CAPWAP_AC_V6 

Access Points (CAPWAP) Access Controller IPv6 addresses

DHCPV6_OPT_RELAY_ID 

DHCPv6 Bulk LeaseQuery

DHCPV6_OPT_IPH6_ADDRESS_MOS 

List of IPv6 addresses for servers providing particular types of IEEE 802.21 Mobility Service (MoS)

DHCPV6_OPT_IPV6_FQDN_MOS 

List of FQDNs for servers providing particular types of IEEE 802.21 Mobility Service (MoS)

DHCPV6_OPT_NTP_SERVER 

Network Time Protocol (NTP) or Simple NTP (SNTP) Server Location

DHCPV6_OPT_BOOTFILE_URL 

Boot File Uniform Resource Locator (URL)

DHCPV6_OPT_BOOTFILE_PARAM 

Boot File Parameters

DHCPV6_OPT_CLIENT_ARCH_TYPE 

Client System Architecture Type

DHCPV6_OPT_NII 

Client Network Interface Identifier

DHCPV6_OPT_ERP_LOCAL_DOMAIN_NAME 

ERP Local Domain Name

DHCPV6_OPT_RELAY_SUPPLIED_OPTIONS 

Relay supplied options

DHCPV6_OPT_VSS 

Virtual Subnet Selection

DHCPV6_OPT_CLIENT_LINKLAYER_ADDR 

Client link layer

DHCPV6_OPT_MUD_URL 

Manufacturer Usage Description

◆ Direction

An enum that contains direction (source or destination)

Enumerator
SRC 

Source

DST 

Destination

SRC_OR_DST 

Source or destination

◆ DnsClass

An enum for all possible DNS classes

Enumerator
DNS_CLASS_IN 

Internet class

DNS_CLASS_IN_QU 

Internet class with QU flag set to True

DNS_CLASS_CH 

Chaos class

DNS_CLASS_HS 

Hesiod class

DNS_CLASS_ANY 

ANY class

◆ DnsResourceType

An enum for representing the 4 types of possible DNS records

Enumerator
DnsQueryType 

DNS query record

DnsAnswerType 

DNS answer record

DnsAuthorityType 

DNS authority record

DnsAdditionalType 

DNS additional record

◆ DnsType

An enum for all possible DNS record types

Enumerator
DNS_TYPE_A 

IPv4 address record

DNS_TYPE_NS 

Name Server record

DNS_TYPE_MD 

Obsolete, replaced by MX

DNS_TYPE_MF 

Obsolete, replaced by MX

DNS_TYPE_CNAME 

Canonical name record

DNS_TYPE_SOA 

Start of Authority record

DNS_TYPE_MB 

mailbox domain name record

DNS_TYPE_MG 

mail group member record

DNS_TYPE_MR 

mail rename domain name record

DNS_TYPE_NULL_R 

NULL record

DNS_TYPE_WKS 

well known service description record

DNS_TYPE_PTR 

Pointer record

DNS_TYPE_HINFO 

Host information record

DNS_TYPE_MINFO 

mailbox or mail list information record

DNS_TYPE_MX 

Mail exchanger record

DNS_TYPE_TXT 

Text record

DNS_TYPE_RP 

Responsible person record

DNS_TYPE_AFSDB 

AFS database record

DNS_TYPE_X25 

DNS X25 resource record

DNS_TYPE_ISDN 

Integrated Services Digital Network record

DNS_TYPE_RT 

Route Through record

DNS_TYPE_NSAP 

network service access point address record

DNS_TYPE_NSAP_PTR 

network service access point address pointer record

DNS_TYPE_SIG 

Signature record

DNS_TYPE_KEY 

Key record

DNS_TYPE_PX 

Mail Mapping Information record

DNS_TYPE_GPOS 

DNS Geographical Position record

DNS_TYPE_AAAA 

IPv6 address record

DNS_TYPE_LOC 

Location record

DNS_TYPE_NXT 

Obsolete record

DNS_TYPE_EID 

DNS Endpoint Identifier record

DNS_TYPE_NIMLOC 

DNS Nimrod Locator record

DNS_TYPE_SRV 

Service locator record

DNS_TYPE_ATMA 

Asynchronous Transfer Mode address record

DNS_TYPE_NAPTR 

Naming Authority Pointer record

DNS_TYPE_KX 

Key eXchanger record

DNS_TYPE_CERT 

Certificate record

DNS_TYPE_A6 

Obsolete, replaced by AAAA type

DNS_TYPE_DNAM 

Delegation Name record

DNS_TYPE_SINK 

Kitchen sink record

DNS_TYPE_OPT 

Option record

DNS_TYPE_APL 

Address Prefix List record

DNS_TYPE_DS 

Delegation signer record

DNS_TYPE_SSHFP 

SSH Public Key Fingerprint record

DNS_TYPE_IPSECKEY 

IPsec Key record

DNS_TYPE_RRSIG 

DNSSEC signature record

DNS_TYPE_NSEC 

Next-Secure record

DNS_TYPE_DNSKEY 

DNS Key record

DNS_TYPE_DHCID 

DHCP identifier record

DNS_TYPE_NSEC3 

NSEC record version 3

DNS_TYPE_NSEC3PARAM 

NSEC3 parameters

DNS_TYPE_ALL 

All cached records

◆ 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

Enumerator
PMD_UNKNOWN 

Unknown PMD type

PMD_BOND 

Link Bonding for 1GbE and 10GbE ports to allow the aggregation of multiple (slave) NICs into a single logical interface

PMD_E1000EM 

Intel E1000 PMD

PMD_IGB 

Intel 1GbE PMD

PMD_IGBVF 

Intel 1GbE virtual function PMD

PMD_ENIC 

Cisco enic (UCS Virtual Interface Card) PMD

PMD_FM10K 

Intel fm10k PMD

PMD_I40E 

Intel 40GbE PMD

PMD_I40EVF 

Intel 40GbE virtual function PMD

PMD_IXGBE 

Intel 10GbE PMD

PMD_IXGBEVF 

Intel 10GbE virtual function PMD

PMD_MLX4 

Mellanox ConnectX-3, ConnectX-3 Pro PMD

PMD_NULL 

Null PMD

PMD_PCAP 

pcap file PMD

PMD_RING 

ring-based (memory) PMD

PMD_VIRTIO 

VirtIO PMD

PMD_VMXNET3 

VMWare VMXNET3 PMD

PMD_XENVIRT 

Xen Project PMD

PMD_AF_PACKET 

AF_PACKET PMD

◆ FilterOperator

Supported operators enum

Enumerator
EQUALS 

Equals

NOT_EQUALS 

Not equals

GREATER_THAN 

Greater than

GREATER_OR_EQUAL 

Greater or equal

LESS_THAN 

Less than

LESS_OR_EQUAL 

Less or equal

◆ GtpV1MessageType

An enum representing the possible GTP v1 message types. All of the message types except for GtpV1_GPDU are considered GTP-C messages. GtpV1_GPDU is considered a GTP-U message

Enumerator
GtpV1_MessageTypeUnknown 

GTPv1 Message Type Unknown

GtpV1_EchoRequest 

Echo Request

GtpV1_EchoResponse 

Echo Response

GtpV1_VersionNotSupported 

Version Not Supported

GtpV1_NodeAliveRequest 

Node Alive Request

GtpV1_NodeAliveResponse 

Node Alive Response

GtpV1_RedirectionRequest 

Redirection Request

GtpV1_CreatePDPContextRequest 

Create PDP Context Request

GtpV1_CreatePDPContextResponse 

Create PDP Context Response

GtpV1_UpdatePDPContextRequest 

Update PDP Context Request

GtpV1_UpdatePDPContextResponse 

Update PDP Context Response

GtpV1_DeletePDPContextRequest 

Delete PDP Context Request

GtpV1_DeletePDPContextResponse 

Delete PDP Context Response

GtpV1_InitiatePDPContextActivationRequest 

Initiate PDP Context Activation Request

GtpV1_InitiatePDPContextActivationResponse 

Initiate PDP Context Activation Response

GtpV1_ErrorIndication 

Error Indication

GtpV1_PDUNotificationRequest 

PDU Notification Request

GtpV1_PDUNotificationResponse 

PDU Notification Response

GtpV1_PDUNotificationRejectRequest 

PDU Notification Reject Request

GtpV1_PDUNotificationRejectResponse 

PDU Notification Reject Response

GtpV1_SupportedExtensionsHeaderNotification 

Supported Extensions Header Notification

GtpV1_SendRoutingforGPRSRequest 

Send Routing for GPRS Request

GtpV1_SendRoutingforGPRSResponse 

Send Routing for GPRS Response

GtpV1_FailureReportRequest 

Failure Report Request

GtpV1_FailureReportResponse 

Failure Report Response

GtpV1_NoteMSPresentRequest 

Note MS Present Request

GtpV1_NoteMSPresentResponse 

Note MS Present Response

GtpV1_IdentificationRequest 

Identification Request

GtpV1_IdentificationResponse 

Identification Response

GtpV1_SGSNContextRequest 

SGSN Context Request

GtpV1_SGSNContextResponse 

SGSN Context Response

GtpV1_SGSNContextAcknowledge 

SGSN Context Acknowledge

GtpV1_ForwardRelocationRequest 

Forward Relocation Request

GtpV1_ForwardRelocationResponse 

Forward Relocation Response

GtpV1_ForwardRelocationComplete 

Forward Relocation Complete

GtpV1_RelocationCancelRequest 

Relocation Cancel Request

GtpV1_RelocationCancelResponse 

Relocation Cancel Response

GtpV1_ForwardSRNSContext 

Forward SRNS Context

GtpV1_ForwardRelocationCompleteAcknowledge 

Forward Relocation Complete Acknowledge

GtpV1_ForwardSRNSContextAcknowledge 

Forward SRNS Context Acknowledge

GtpV1_UERegistrationRequest 

UE Registration Request

GtpV1_UERegistrationResponse 

UE Registration Response

GtpV1_RANInformationRelay 

RAN Information Relay

GtpV1_MBMSNotificationRequest 

MBMS Notification Request

GtpV1_MBMSNotificationResponse 

MBMS Notification Response

GtpV1_MBMSNotificationRejectRequest 

MBMS Notification Reject Request

GtpV1_MBMSNotificationRejectResponse 

MBMS Notification Reject Response

GtpV1_CreateMBMSNotificationRequest 

Create MBMS Notification Request

GtpV1_CreateMBMSNotificationResponse 

Create MBMS Notification Response

GtpV1_UpdateMBMSNotificationRequest 

Update MBMS Notification Request

GtpV1_UpdateMBMSNotificationResponse 

Update MBMS Notification Response

GtpV1_DeleteMBMSNotificationRequest 

Delete MBMS Notification Request

GtpV1_DeleteMBMSNotificationResponse 

Delete MBMS Notification Response

GtpV1_MBMSRegistrationRequest 

MBMS Registration Request

GtpV1_MBMSRegistrationResponse 

MBMS Registration Response

GtpV1_MBMSDeRegistrationRequest 

MBMS De-Registration Request

GtpV1_MBMSDeRegistrationResponse 

MBMS De-Registration Response

GtpV1_MBMSSessionStartRequest 

MBMS Session Start Request

GtpV1_MBMSSessionStartResponse 

MBMS Session Start Response

GtpV1_MBMSSessionStopRequest 

MBMS Session Stop Request

GtpV1_MBMSSessionStopResponse 

MBMS Session Stop Response

GtpV1_MBMSSessionUpdateRequest 

MBMS Session Update Request

GtpV1_MBMSSessionUpdateResponse 

MBMS Session Update Response

GtpV1_MSInfoChangeRequest 

MS Info Change Request

GtpV1_MSInfoChangeResponse 

MS Info Change Response

GtpV1_DataRecordTransferRequest 

Data Record Transfer Request

GtpV1_DataRecordTransferResponse 

Data Record Transfer Response

GtpV1_EndMarker 

End Marker

GtpV1_GPDU 

G-PDU

◆ HttpVersion

An enum for HTTP version

Enumerator
ZeroDotNine 

HTTP/0.9

OneDotZero 

HTTP/1.0

OneDotOne 

HTTP/1.1

HttpVersionUnknown 

Unknown HTTP version

◆ IcmpDestUnreachableCodes

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)

◆ IcmpMessageType

An enum of all supported ICMP message types

Enumerator
ICMP_ECHO_REPLY 

ICMP echo (ping) reply message

ICMP_DEST_UNREACHABLE 

ICMP destination unreachable message

ICMP_SOURCE_QUENCH 

ICMP source quench message

ICMP_REDIRECT 

ICMP redirect message

ICMP_ECHO_REQUEST 

ICMP echo (ping) request message

ICMP_ROUTER_ADV 

ICMP router advertisement message

ICMP_ROUTER_SOL 

ICMP router soliciatation message

ICMP_TIME_EXCEEDED 

ICMP time-to-live excceded message

ICMP_PARAM_PROBLEM 

ICMP parameter problem message

ICMP_TIMESTAMP_REQUEST 

ICMP timestamp request message

ICMP_TIMESTAMP_REPLY 

ICMP timestamp reply message

ICMP_INFO_REQUEST 

ICMP information request message

ICMP_INFO_REPLY 

ICMP information reply message

ICMP_ADDRESS_MASK_REQUEST 

ICMP address mask request message

ICMP_ADDRESS_MASK_REPLY 

ICMP address mask reply message

ICMP_UNSUPPORTED 

ICMP message type unsupported by PcapPlusPlus

◆ IgmpType

IGMP message types

Enumerator
IgmpType_Unknown 

Unknown message type

IgmpType_MembershipQuery 

IGMP Membership Query

IgmpType_MembershipReportV1 

IGMPv1 Membership Report

IgmpType_DVMRP 

DVMRP

IgmpType_P1Mv1 

PIM version 1

IgmpType_CiscoTrace 

Cisco Trace Messages

IgmpType_MembershipReportV2 

IGMPv2 Membership Report

IgmpType_LeaveGroup 

IGMPv2 Leave Group

IgmpType_MulticastTracerouteResponse 

Multicast Traceroute Response

IgmpType_MulticastTraceroute 

Multicast Traceroute

IgmpType_MembershipReportV3 

IGMPv3 Membership Report

IgmpType_MulticastRouterAdvertisement 

MRD, Multicast Router Advertisement

IgmpType_MulticastRouterSolicitation 

MRD, Multicast Router Solicitation

IgmpType_MulticastRouterTermination 

MRD, Multicast Router Termination

◆ IPProtocolTypes

An enum for all possible IPv4 and IPv6 protocol types

Enumerator
PACKETPP_IPPROTO_IP 

Dummy protocol for TCP

PACKETPP_IPPROTO_HOPOPTS 

IPv6 Hop-by-Hop options

PACKETPP_IPPROTO_ICMP 

Internet Control Message Protocol

PACKETPP_IPPROTO_IGMP 

Internet Gateway Management Protocol

PACKETPP_IPPROTO_IPIP 

IPIP tunnels (older KA9Q tunnels use 94)

PACKETPP_IPPROTO_TCP 

Transmission Control Protocol

PACKETPP_IPPROTO_EGP 

Exterior Gateway Protocol

PACKETPP_IPPROTO_PUP 

PUP protocol

PACKETPP_IPPROTO_UDP 

User Datagram Protocol

PACKETPP_IPPROTO_IDP 

XNS IDP protocol

PACKETPP_IPPROTO_IPV6 

IPv6 header

PACKETPP_IPPROTO_ROUTING 

IPv6 Routing header

PACKETPP_IPPROTO_FRAGMENT 

IPv6 fragmentation header

PACKETPP_IPPROTO_GRE 

GRE protocol

PACKETPP_IPPROTO_ESP 

encapsulating security payload

PACKETPP_IPPROTO_AH 

authentication header

PACKETPP_IPPROTO_ICMPV6 

ICMPv6

PACKETPP_IPPROTO_NONE 

IPv6 no next header

PACKETPP_IPPROTO_DSTOPTS 

IPv6 Destination options

PACKETPP_IPPROTO_RAW 

Raw IP packets

PACKETPP_IPPROTO_MAX 

Maximum value

◆ IPv4OptionTypes

An enum for supported IPv4 option types

Enumerator
IPV4OPT_EndOfOptionsList 

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

◆ LinkLayerType

An enum describing all known link layer type. Taken from: http://www.tcpdump.org/linktypes.html .

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_USER0 

Reserved for private use

LINKTYPE_USER1 

Reserved for private use

LINKTYPE_USER2 

Reserved for private use

LINKTYPE_USER3 

Reserved for private use

LINKTYPE_USER4 

Reserved for private use

LINKTYPE_USER5 

Reserved for private use

LINKTYPE_USER6 

Reserved for private use

LINKTYPE_USER7 

Reserved for private use

LINKTYPE_USER8 

Reserved for private use

LINKTYPE_USER9 

Reserved for private use

LINKTYPE_USER10 

Reserved for private use

LINKTYPE_USER11 

Reserved for private use

LINKTYPE_USER12 

Reserved for private use

LINKTYPE_USER13 

Reserved for private use

LINKTYPE_USER14 

Reserved for private use

LINKTYPE_USER15 

Reserved for private use

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 jwrig.nosp@m.ht@h.nosp@m.asbor.nosp@m.g.co.nosp@m.m, formats for Z-Wave RF profiles R1 and R2 captures

LINKTYPE_ZWAVE_R3 

Per Joshua Wright jwrig.nosp@m.ht@h.nosp@m.asbor.nosp@m.g.co.nosp@m.m, 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

◆ LogModule

An enum representing all PcapPlusPlus modules

Enumerator
CommonLogModuleIpUtils 

IP Utils module (Common++)

CommonLogModuleTablePrinter 

Table printer module (Common++)

CommonLogModuleGenericUtils 

Generic Utils (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++)

PacketLogModuleDhcpV6Layer 

DhcpV6Layer module (Packet++)

PacketLogModuleIgmpLayer 

IgmpLayer module (Packet++)

PacketLogModuleSipLayer 

SipLayer module (Packet++)

PacketLogModuleSdpLayer 

SdpLayer module (Packet++)

PacketLogModuleRadiusLayer 

RadiusLayer module (Packet++)

PacketLogModuleGtpLayer 

GtpLayer module (Packet++)

PacketLogModuleBgpLayer 

GtpLayer module (Packet++)

PacketLogModuleSSHLayer 

SSHLayer module (Packet++)

PacketLogModuleTcpReassembly 

TcpReassembly module (Packet++)

PacketLogModuleIPReassembly 

IPReassembly module (Packet++)

PacketLogModuleIPSecLayer 

IPSecLayers module (Packet++)

PacketLogModuleNtpLayer 

NtpLayer module (Packet++)

PcapLogModuleWinPcapLiveDevice 

WinPcapLiveDevice module (Pcap++)

PcapLogModuleRemoteDevice 

WinPcapRemoteDevice module (Pcap++)

PcapLogModuleLiveDevice 

PcapLiveDevice module (Pcap++)

PcapLogModuleFileDevice 

FileDevice module (Pcap++)

PcapLogModulePfRingDevice 

PfRingDevice module (Pcap++)

PcapLogModuleMBufRawPacket 

MBufRawPacket module (Pcap++)

PcapLogModuleDpdkDevice 

DpdkDevice module (Pcap++)

PcapLogModuleKniDevice 

KniDevice module (Pcap++)

NetworkUtils 

NetworkUtils module (Pcap++)

◆ OsiModelLayer

An enum representing OSI model layers

Enumerator
OsiModelPhysicalLayer 

Physical layer (layer 1)

OsiModelDataLinkLayer 

Data link layer (layer 2)

OsiModelNetworkLayer 

Network layer (layer 3)

OsiModelTransportLayer 

Transport layer (layer 4)

OsiModelSesionLayer 

Session layer (layer 5)

OsiModelPresentationLayer 

Presentation layer (layer 6)

OsiModelApplicationLayer 

Application layer (layer 7)

OsiModelLayerUnknown 

Unknown / null layer

◆ SSLAlertDescription

SSL/TLS alert description types

Enumerator
SSL_ALERT_CLOSE_NOTIFY 

Close notify alert

SSL_ALERT_UNEXPECTED_MESSAGE 

Unexpected message alert

SSL_ALERT_BAD_RECORD_MAC 

Bad record MAC alert

SSL_ALERT_DECRYPTION_FAILED 

Decryption failed alert

SSL_ALERT_DECOMPRESSION_FAILURE 

Decompression failure alert

SSL_ALERT_HANDSHAKE_FAILURE 

Handshake failure alert

SSL_ALERT_NO_CERTIFICATE 

No certificate alert

SSL_ALERT_BAD_CERTIFICATE 

Bad certificate alert

SSL_ALERT_UNSUPPORTED_CERTIFICATE 

Unsupported certificate

SSL_ALERT_CERTIFICATE_REVOKED 

Certificate revoked alert

SSL_ALERT_CERTIFICATE_EXPIRED 

Certificate expired alert

SSL_ALERT_CERTIFICATE_UNKNOWN 

Certificate unknown alert

SSL_ALERT_ILLEGAL_PARAMETER 

Illegal parameter alert

SSL_ALERT_UNKNOWN_CA 

Unknown CA alert

SSL_ALERT_ACCESS_DENIED 

Access denied alert

SSL_ALERT_DECODE_ERROR 

Decode error alert

SSL_ALERT_DECRYPT_ERROR 

Decrypt error alert

SSL_ALERT_EXPORT_RESTRICTION 

Export restriction alert

SSL_ALERT_PROTOCOL_VERSION 

Protocol version alert

SSL_ALERT_INSUFFICIENT_SECURITY 

Insufficient security alert

SSL_ALERT_INTERNAL_ERROR 

Internal error alert

SSL_ALERT_USER_CANCELLED 

User cancelled alert

SSL_ALERT_NO_RENEGOTIATION 

No negotiation alert

SSL_ALERT_UNSUPPORTED_EXTENSION 

Unsupported extension alert

SSL_ALERT_ENCRYPTED 

Encrtpyed alert (cannot determine its type)

◆ SSLAlertLevel

SSL/TLS alert levels

Enumerator
SSL_ALERT_LEVEL_WARNING 

Warning level alert

SSL_ALERT_LEVEL_FATAL 

Fatal level alert

SSL_ALERT_LEVEL_ENCRYPTED 

For encrypted alerts the level is unknown so this type will be returned

◆ SSLAuthenticationAlgorithm

SSL/TLS authentication algorithms

Enumerator
SSL_AUTH_NULL 

NULL value

SSL_AUTH_RSA 

RSA (Rivest-Shamir-Adleman)

SSL_AUTH_DSS 

Digital Signature Standard

SSL_AUTH_anon 

Anonymous

SSL_AUTH_KEA 

Diffie-Hellman based key-exchange protocol

SSL_AUTH_KRB5 

Kerberos 5

SSL_AUTH_PSK 

Pre-Shared Key

SSL_AUTH_ECDSA 

Elliptic Curve Digital Signature Algorithm

SSL_AUTH_GOST 

GOST

SSL_AUTH_SHA 

SHA-1 (Secure Hash Algorithm)

SSL_AUTH_PCT 

PCT

SSL_AUTH_DHE 

Diffie-Hellman ephemeral

SSL_AUTH_Unknown 

Unknown algorithm

◆ SSLClientCertificateType

SSL/TLS client certificate types

Enumerator
SSL_CCT_RSA_SIGN 

RSA_SIGN

SSL_CCT_DSS_SIGN 

DSS_SIGN

SSL_CCT_RSA_FIXED_DH 

RSA_FIXED_DH

SSL_CCT_DSS_FIXED_DH 

DSS_FIXED_DH

SSL_CCT_RSA_EPHEMERAL_DH_RESERVED 

RSA_EPHEMERAL_DH_RESERVED

SSL_CCT_DSS_EPHEMERAL_DH_RESERVED 

DSS_EPHEMERAL_DH_RESERVED

SSL_CCT_FORTEZZA_DMS_RESERVED 

FORTEZZA_DMS_RESERVED

SSL_CCT_ECDSA_SIGN 

ECDSA_SIGN

SSL_CCT_RSA_FIXED_ECDH 

FIXED_ECDH

SSL_CCT_ECDSA_FIXED_ECDH 

ECDSA_FIXED_ECDH

SSL_CCT_UNKNOWN 

Unknown client certificate type

◆ SSLExtensionType

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_SUPPORTED_GROUPS 

Supported Groups extension (renamed from "elliptic curves")

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_PRE_SHARED_KEY 

Pre-shared key (PSK) extension (TLS 1.3)

SSL_EXT_EARLY_DATA 

Early data extension (TLS 1.3)

SSL_EXT_SUPPORTED_VERSIONS 

Supported versions extension (TLS 1.3)

SSL_EXT_COOKIE 

Cookie extension (TLS 1.3)

SSL_EXT_PSK_KEY_EXCHANGE_MODES 

Pre-Shared Key Exchange Modes extension (TLS 1.3)

SSL_EXT_CERTIFICATE_AUTHORITIES 

Certificate authorities extension (TLS 1.3)

SSL_EXT_OLD_FILTERS 

Old filters extension (TLS 1.3)

SSL_EXT_POST_HANDSHAKE_AUTH 

Post handshake auth extension (TLS 1.3)

SSL_EXT_SIGNATURE_ALGORITHM_CERT 

Signature algorithm cert extension (TLS 1.3)

SSL_EXT_KEY_SHARE 

Key share extension (TLS 1.3)

SSL_EXT_RENEGOTIATION_INFO 

Renegotiation Indication extension

SSL_EXT_Unknown 

Unknown extension

◆ SSLHandshakeType

SSL/TLS handshake message types

Enumerator
SSL_HELLO_REQUEST 

Hello-request message type

SSL_CLIENT_HELLO 

Client-hello message type

SSL_SERVER_HELLO 

Server-hello message type

SSL_NEW_SESSION_TICKET 

New-session-ticket message type

SSL_END_OF_EARLY_DATE 

End-of-early-data message type (TLS 1.3)

SSL_ENCRYPTED_EXTENSIONS 

Encrypted-extensions message type (TLS 1.3)

SSL_CERTIFICATE 

Certificate message type

SSL_SERVER_KEY_EXCHANGE 

Server-key-exchange message type

SSL_CERTIFICATE_REQUEST 

Certificate-request message type

SSL_SERVER_DONE 

Server-hello-done message type

SSL_CERTIFICATE_VERIFY 

Certificate-verify message type

SSL_CLIENT_KEY_EXCHANGE 

Client-key-exchange message type

SSL_FINISHED 

Finish message type

SSL_KEY_UPDATE 

Key-update message type (TLS 1.3)

SSL_HANDSHAKE_UNKNOWN 

Unknown SSL handshake message

◆ SSLHashingAlgorithm

SSL/TLS hashing algorithms

Enumerator
SSL_HASH_NULL 

NULL value

SSL_HASH_MD5 

Message-Digest Algorithm

SSL_HASH_SHA 

SHA-1 (Secure Hash Algorithm)

SSL_HASH_SHA256 

SHA-256 (Secure Hash Algorithm)

SSL_HASH_GOST28147 

GOST 28147

SSL_HASH_GOSTR3411 

GOST R 34.11

SSL_HASH_SHA384 

SHA-384 (Secure Hash Algorithm)

SSL_HASH_CCM 

CCM mode (Counter with CBC-MAC)

SSL_HASH_CCM_8 

CCM mode (Counter with CBC-MAC)

SSL_HASH_Unknown 

Unknown algorithm

◆ SSLKeyExchangeAlgorithm

SSL/TLS key exchange algorithms

Enumerator
SSL_KEYX_NULL 

NULL value

SSL_KEYX_RSA 

RSA (Rivest-Shamir-Adleman)

SSL_KEYX_DH 

Diffie-Hellman

SSL_KEYX_DHE 

Diffie-Hellman ephemeral

SSL_KEYX_ECDH 

Elliptic curve Diffie�Hellman

SSL_KEYX_ECDHE 

Elliptic curve Diffie�Hellman ephemeral

SSL_KEYX_FORTEZZA 

Fortezza Crypto Card

SSL_KEYX_KRB5 

Kerberos 5

SSL_KEYX_PSK 

Pre-Shared Key

SSL_KEYX_GOST 

GOST

SSL_KEYX_SRP 

Secure Remote Password

SSL_KEYX_PCT 

PCT

SSL_KEYX_Unknown 

Unknown algorithm

◆ SSLRecordType

SSL/TLS message types

Enumerator
SSL_CHANGE_CIPHER_SPEC 

Change-cipher-spec message

SSL_ALERT 

SSL alert message

SSL_HANDSHAKE 

SSL handshake message

SSL_APPLICATION_DATA 

SSL data message

◆ SSLSymetricEncryptionAlgorithm

SSL/TLS symmetric encryption algorithms

Enumerator
SSL_SYM_NULL 

NULL value

SSL_SYM_RC4_40 

RC4_40

SSL_SYM_RC4_128 

RC4_128

SSL_SYM_RC2_CBC_40 

RC2_CBC_40

SSL_SYM_IDEA_CBC 

IDEA_CBC

SSL_SYM_DES40_CBC 

DES40_CBC

SSL_SYM_DES_CBC 

DES_CBC

SSL_SYM_3DES_EDE_CBC 

3DES_EDE_CBC

SSL_SYM_FORTEZZA_CBC 

FORTEZZA_CBC

SSL_SYM_DES_CBC_40 

DES_CBC_40

SSL_SYM_AES_128_CBC 

AES_128_CBC

SSL_SYM_AES_256_CBC 

AES_256_CBC

SSL_SYM_CAMELLIA_128_CBC 

CAMELLIA_128_CBC

SSL_SYM_CAMELLIA_128_GCM 

CAMELLIA_128_GCM

SSL_SYM_CAMELLIA_256_GCM 

CAMELLIA_256_GCM

SSL_SYM_RC4_56 

RC4_56

SSL_SYM_RC2_CBC_56 

RC2_CBC_56

SSL_SYM_GOST28147 

GOST28147

SSL_SYM_CAMELLIA_256_CBC 

CAMELLIA_256_CBC

SSL_SYM_SEED_CBC 

SEED_CBC

SSL_SYM_AES_128 

AES_128

SSL_SYM_AES_256 

AES_256

SSL_SYM_AES_128_GCM 

SSL_SYM_AES_128_GCM

SSL_SYM_AES_256_GCM 

AES_256_GCM

SSL_SYM_RC4_128_EXPORT40 

RC4_128_EXPORT40

SSL_SYM_RC2_CBC_128_CBC 

RC2_CBC_128_CBC

SSL_SYM_IDEA_128_CBC 

IDEA_128_CBC

SSL_SYM_DES_64_CBC 

DES_64_CBC

SSL_SYM_DES_192_EDE3_CBC 

DES_192_EDE3_CBC

SSL_SYM_RC4_64 

RC4_64

SSL_SYM_ARIA_128_CBC 

ARIA_128_CBC

SSL_SYM_ARIA_256_CBC 

ARIA_256_CBC

SSL_SYM_ARIA_128_GCM 

ARIA_128_GCM

SSL_SYM_ARIA_256_GCM 

ARIA_256_GCM

SSL_SYM_CHACHA20_POLY1305 

CHACHA20_POLY1305

SSL_SYM_AES_128_CCM 

AES_128_CCM

SSL_SYM_AES_128_CCM_8 

AES_128_CCM_8

SSL_SYM_Unknown 

Unknown algorithm

◆ TcpOptionType

TCP options types

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

TCPOPT_Unknown 

Unknown option

Function Documentation

◆ byteArrayToHexString()

std::string pcpp::byteArrayToHexString ( const uint8_t *  byteArr,
size_t  byteArrSize,
int  stringSizeLimit = -1 
)

Convert a byte array into a string of hex characters. For example: for the array { 0xaa, 0x2b, 0x10 } the string "aa2b10" will be returned

Parameters
[in]byteArrA byte array
[in]byteArrSizeThe size of the byte array [in bytes]
[in]stringSizeLimitAn optional parameter that enables to limit the returned string size. If set to a positive integer value the returned string size will be equal or less than this value. If the string representation of the whole array is longer than this size then only part of the array will be read. The default value is -1 which means no string size limitation
Returns
A string of hex characters representing the byte array

◆ clockGetTime()

int pcpp::clockGetTime ( long &  sec,
long &  nsec 
)

Retrieve a system-wide real-time accurate clock. It's actually a multi-platform version of clock_gettime() which is fully supported only on Linux

Parameters
[out]secThe second portion of the time
[out]nsecThe nanosecond portion of the time
Returns
0 for success, or -1 for failure

◆ computeChecksum()

uint16_t pcpp::computeChecksum ( ScalarBuffer< uint16_t >  vec[],
size_t  vecSize 
)

Computes the checksum for a vector of buffers

Parameters
[in]vecThe vector of buffers
[in]vecSizeNumber of ScalarBuffers in vector
Returns
The checksum result

◆ createCoreMaskFromCoreIds()

CoreMask pcpp::createCoreMaskFromCoreIds ( std::vector< int >  coreIds)

Create a core mask from a vector of core IDs

Parameters
[in]coreIdsA vector of core IDs
Returns
A core mask representing these cores

◆ createCoreMaskFromCoreVector()

CoreMask pcpp::createCoreMaskFromCoreVector ( std::vector< SystemCore cores)

Create a core mask from a vector of system cores

Parameters
[in]coresA vector of SystemCore instances
Returns
A core mask representing these cores

◆ createCoreVectorFromCoreMask()

void pcpp::createCoreVectorFromCoreMask ( CoreMask  coreMask,
std::vector< SystemCore > &  resultVec 
)

Convert a core mask into a vector of its appropriate system cores

Parameters
[in]coreMaskThe input core mask
[out]resultVecThe vector that will contain the system cores

◆ cross_platform_memmem()

char* pcpp::cross_platform_memmem ( const char *  haystack,
size_t  haystackLen,
const char *  needle,
size_t  needleLen 
)

This is a cross platform version of memmem (https://man7.org/linux/man-pages/man3/memmem.3.html) which is not supported on all platforms.

Parameters
[in]haystackA pointer to the buffer to be searched
[in]haystackLenLength of the haystack buffer
[in]needleA pointer to a buffer that will be searched for
[in]needleLenLength of the needle buffer
Returns
A pointer to the beginning of the substring, or NULL if the substring is not found

◆ directoryExists()

bool pcpp::directoryExists ( std::string  dirPath)

Check if a directory exists

Parameters
[in]dirPathFull path of the directory to search
Returns
True if directory exists, false otherwise

◆ executeShellCommand()

std::string pcpp::executeShellCommand ( const std::string  command)

Execute a shell command and return its output

Parameters
[in]commandThe command to run
Returns
The output of the command (both stdout and stderr)

◆ fnvHash() [1/2]

uint32_t pcpp::fnvHash ( 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

Parameters
[in]vecAn array of byte buffers (ScalarBuffer of type uint8_t)
[in]vecSizeThe length of vec
Returns
The 32bit hash value

◆ fnvHash() [2/2]

uint32_t pcpp::fnvHash ( uint8_t *  buffer,
size_t  bufSize 
)

Computes Fowler-Noll-Vo (FNV-1) 32bit hash function on a byte buffer

Parameters
[in]bufferThe byte buffer
[in]bufSizeThe size of the byte buffer
Returns
The 32bit hash value

◆ getBuildDateTime()

std::string pcpp::getBuildDateTime ( )
inline
Returns
The build date and time in a format of "Mmm dd yyyy hh:mm:ss"

◆ getCoreMaskForAllMachineCores()

CoreMask pcpp::getCoreMaskForAllMachineCores ( )

Create a core mask for all cores available on machine

Returns
A core mask for all cores available on machine

◆ getGitBranch()

std::string pcpp::getGitBranch ( )
Returns
The Git branch the binaries are built from

◆ getGitCommit()

std::string pcpp::getGitCommit ( )
Returns
The Git commit (revision) the binaries are built from

◆ getGitInfo()

std::string pcpp::getGitInfo ( )
Returns
Git branch and commit the binaries are built from. Aggregates data from getGitCommit() and getGitBranch()

◆ getNumOfCores()

int pcpp::getNumOfCores ( )

Get total number of cores on device

Returns
Total number of CPU cores on device

◆ getPcapPlusPlusVersion()

std::string pcpp::getPcapPlusPlusVersion ( )
inline
Returns
PcapPlusPlus current version, e.g: 22.05. Notice that for non-official releases (which were pulled from GitHub) the version will end with a '+'. For example: '22.05+' means non-official release but '22.05' means official release

◆ getPcapPlusPlusVersionFull()

std::string pcpp::getPcapPlusPlusVersionFull ( )
inline
Returns
PcapPlusPlus long version string which includes the version and info whether it's an official or non-official release. For example: "v22.05+ (non-official release)" or "v22.05 (official release)"

◆ hash2Tuple()

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

Parameters
[in]packetThe packet to calculate hash for
Returns
The hash value calculated for this packet or 0 if the packet isn't IPv4/6

◆ hash5Tuple()

uint32_t pcpp::hash5Tuple ( Packet packet,
bool const &  directionUnique = false 
)

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

Parameters
[in]packetThe packet to calculate hash for
[in]directionUniqueMake hash value unique for each direction
Returns
The hash value calculated for this packet or 0 if the packet doesn't contain 5-tuple

◆ hexStringToByteArray()

size_t pcpp::hexStringToByteArray ( const std::string &  hexString,
uint8_t *  resultByteArr,
size_t  resultByteArrSize 
)

Convert a string of hex characters into a byte array. For example: for the string "aa2b10" an array of values { 0xaa, 0x2b, 0x10 } will be returned

Parameters
[in]hexStringA string of hex characters
[out]resultByteArrA pre-allocated byte array where the result will be written to
[in]resultByteArrSizeThe size of the pre-allocated byte array
Returns
The size of the result array. If the string represents an array that is longer than the pre-allocated size (resultByteArrSize) then the result array will contain only the part of the string that managed to fit into the array, and the returned size will be resultByteArrSize. However if the string represents an array that is shorter than the pre-allocated size then some of the cells will remain empty and contain zeros, and the returned size will be the part of the array that contain data. If the input is an illegal hex string 0 will be returned. Illegal hex string means odd number of characters or a string that contains non-hex characters

◆ hostToNet16()

uint16_t pcpp::hostToNet16 ( uint16_t  host)

A multi-platform version of htons which convert host to network byte order

Parameters
[in]hostValue in host byte order
Returns
Value in network byte order

◆ hostToNet32()

uint32_t pcpp::hostToNet32 ( uint32_t  host)

A multi-platform version of htonl which convert host to network byte order

Parameters
[in]hostValue in host byte order
Returns
Value in network byte order

◆ multiPlatformMSleep()

void pcpp::multiPlatformMSleep ( uint32_t  milliseconds)

A multi-platform version of sleep in milliseconds resolution. This method simply runs the right sleep method, according to the platform it is running on.

Parameters
[in]millisecondsNumber of milliseconds to sleep

◆ multiPlatformSleep()

void pcpp::multiPlatformSleep ( uint32_t  seconds)

A multi-platform version of the popular sleep method. This method simply runs the right sleep method, according to the platform it is running on.

Parameters
[in]secondsNumber of seconds to sleep

◆ netToHost16()

uint16_t pcpp::netToHost16 ( uint16_t  net)

A multi-platform version of ntohs which convert network to host byte order

Parameters
[in]netValue in network byte order
Returns
Value in host byte order

◆ netToHost32()

uint32_t pcpp::netToHost32 ( uint32_t  net)

A multi-platform version of ntohl which convert network to host byte order

Parameters
[in]netValue in network byte order
Returns
Value in host byte order

Variable Documentation

◆ ARP

const ProtocolType pcpp::ARP = 0x80

ARP protocol

◆ AuthenticationHeader

const ProtocolType pcpp::AuthenticationHeader = 0x800000000

IPSec Authentication Header (AH) protocol

◆ BGP

const ProtocolType pcpp::BGP = 0x200000000

Border Gateway Protocol (BGP) version 4 protocol

◆ DHCP

const ProtocolType pcpp::DHCP = 0x80000

DHCP/BOOTP protocol

◆ DHCPv6

const ProtocolType pcpp::DHCPv6 = 0x2000000000

Dynamic Host Configuration Protocol version 6 (DHCPv6) protocol

◆ DNS

const ProtocolType pcpp::DNS = 0x1000

DNS protocol

◆ ESP

const ProtocolType pcpp::ESP = 0x1000000000

IPSec Encapsulating Security Payload (ESP) protocol

◆ Ethernet

const ProtocolType pcpp::Ethernet = 0x01

Ethernet protocol

◆ EthernetDot3

const ProtocolType pcpp::EthernetDot3 = 0x100000000

IEEE 802.3 Ethernet protocol

◆ GenericPayload

const ProtocolType pcpp::GenericPayload = 0x1000000

Generic payload (no specific protocol)

◆ GRE

const ProtocolType pcpp::GRE = 0xc000

GRE protocol (aggregation bitmask of GREv0 and GREv1 protocols)

◆ GREv0

const ProtocolType pcpp::GREv0 = 0x4000

GRE version 0 protocol

◆ GREv1

const ProtocolType pcpp::GREv1 = 0x8000

GRE version 1 protocol

◆ GTP

const ProtocolType pcpp::GTP = 0x80000000

GTP protocol (currently the same as GTPv1)

◆ GTPv1

const ProtocolType pcpp::GTPv1 = 0x80000000

GTPv1 protocol

◆ HTTP

const ProtocolType pcpp::HTTP = 0x60

HTTP protocol (aggregation bitmask of HTTP request and HTTP response protocols)

◆ HTTPRequest

const ProtocolType pcpp::HTTPRequest = 0x20

HTTP request protocol

◆ HTTPResponse

const ProtocolType pcpp::HTTPResponse = 0x40

HTTP response protocol

◆ ICMP

const ProtocolType pcpp::ICMP = 0x200

ICMP protocol

◆ IGMP

const ProtocolType pcpp::IGMP = 0xE00000

IGMP protocol

◆ IGMPv1

const ProtocolType pcpp::IGMPv1 = 0x200000

IGMPv1 protocol

◆ IGMPv2

const ProtocolType pcpp::IGMPv2 = 0x400000

IGMPv2 protocol

◆ IGMPv3

const ProtocolType pcpp::IGMPv3 = 0x800000

IGMPv3 protocol

◆ IP

const ProtocolType pcpp::IP = 0x06

IP protocol (aggregation bitmask of IPv4 and IPv6 protocols)

◆ IPSec

const ProtocolType pcpp::IPSec = 0x1800000000

IPSec protocol (aggregation bitmask of AH and ESP protocols)

◆ IPv4

const ProtocolType pcpp::IPv4 = 0x02

IPv4 protocol

◆ IPv6

const ProtocolType pcpp::IPv6 = 0x04

IPv6 protocol

◆ MPLS

const ProtocolType pcpp::MPLS = 0x2000

MPLS protocol

◆ NTP

const ProtocolType pcpp::NTP = 0x4000000000

Network Time (NTP) Protocol

◆ NULL_LOOPBACK

const ProtocolType pcpp::NULL_LOOPBACK = 0x100000

Null/Loopback protocol

◆ PacketTrailer

const ProtocolType pcpp::PacketTrailer = 0x20000000

Packet trailer

◆ PPP_PPTP

const ProtocolType pcpp::PPP_PPTP = 0x10000

PPP for PPTP protocol

◆ PPPoE

const ProtocolType pcpp::PPPoE = 0xc00

PPPoE protocol (aggregation bitmask of PPPoESession and PPPoEDiscovery protocols)

◆ PPPoEDiscovery

const ProtocolType pcpp::PPPoEDiscovery = 0x800

PPPoE discovery protocol

◆ PPPoESession

const ProtocolType pcpp::PPPoESession = 0x400

PPPoE session protocol

◆ Radius

const ProtocolType pcpp::Radius = 0x40000000

RADIUS protocol

◆ SDP

const ProtocolType pcpp::SDP = 0x10000000

SDP protocol

◆ SIP

const ProtocolType pcpp::SIP = 0xc000000

SIP protocol (aggregation bitmask of SIPRequest and SIPResponse protocols)

◆ SIPRequest

const ProtocolType pcpp::SIPRequest = 0x4000000

SIP request protocol

◆ SIPResponse

const ProtocolType pcpp::SIPResponse = 0x8000000

SIP response protocol

◆ SLL

const ProtocolType pcpp::SLL = 0x40000

SLL (Linux cooked capture) protocol

◆ SSH

const ProtocolType pcpp::SSH = 0x400000000

SSH version 2 protocol

◆ SSL

const ProtocolType pcpp::SSL = 0x20000

SSL/TLS protocol

◆ TCP

const ProtocolType pcpp::TCP = 0x08

TCP protocol

◆ UDP

const ProtocolType pcpp::UDP = 0x10

UDP protocol

◆ UnknownProtocol

const ProtocolType pcpp::UnknownProtocol = 0x00

Unknown protocol (or unsupported by PcapPlusPlus)

◆ VLAN

const ProtocolType pcpp::VLAN = 0x100

VLAN protocol

◆ VXLAN

const ProtocolType pcpp::VXLAN = 0x2000000

VXLAN protocol