PcapPlusPlus  Next
ProtocolType.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 
6 
9 namespace pcpp
10 {
29 
32 
35  typedef uint8_t ProtocolType;
36 
39  typedef uint32_t ProtocolTypeFamily;
40 
43 
46 
48  const ProtocolType IPv4 = 2;
49 
51  const ProtocolType IPv6 = 3;
52 
54  const ProtocolTypeFamily IP = 0x203;
55 
57  const ProtocolType TCP = 4;
58 
60  const ProtocolType UDP = 5;
61 
64 
67 
69  const ProtocolTypeFamily HTTP = 0x607;
70 
72  const ProtocolType ARP = 8;
73 
75  const ProtocolType VLAN = 9;
76 
78  const ProtocolType ICMP = 10;
79 
82 
85 
87  const ProtocolTypeFamily PPPoE = 0xb0c;
88 
90  const ProtocolType DNS = 13;
91 
93  const ProtocolType MPLS = 14;
94 
96  const ProtocolType GREv0 = 15;
97 
99  const ProtocolType GREv1 = 16;
100 
102  const ProtocolTypeFamily GRE = 0xf10;
103 
105  const ProtocolType PPP_PPTP = 17;
106 
108  const ProtocolType SSL = 18;
109 
111  const ProtocolType SLL = 19;
112 
114  const ProtocolType DHCP = 20;
115 
118 
120  const ProtocolType IGMPv1 = 22;
121 
123  const ProtocolType IGMPv2 = 23;
124 
126  const ProtocolType IGMPv3 = 24;
127 
129  const ProtocolTypeFamily IGMP = 0x161718;
130 
133 
135  const ProtocolType VXLAN = 26;
136 
139 
142 
144  const ProtocolTypeFamily SIP = 0x1b1c;
145 
147  const ProtocolType SDP = 29;
148 
151 
153  const ProtocolType Radius = 31;
154 
156  const ProtocolType GTPv1 = 32;
157 
159  const ProtocolTypeFamily GTP = 0x2039;
160 
163 
165  const ProtocolType BGP = 34;
166 
168  const ProtocolType SSH = 35;
169 
172 
174  const ProtocolType ESP = 37;
175 
177  const ProtocolTypeFamily IPSec = 0x2425;
178 
180  const ProtocolType DHCPv6 = 38;
181 
183  const ProtocolType NTP = 39;
184 
186  const ProtocolType Telnet = 40;
187 
190 
192  const ProtocolType ICMPv6 = 42;
193 
195  const ProtocolType STP = 43;
196 
198  const ProtocolType LLC = 44;
199 
201  const ProtocolType SomeIP = 45;
202 
205 
207  const ProtocolType NFLOG = 47;
208 
210  const ProtocolType TPKT = 48;
211 
213  const ProtocolType VRRPv2 = 49;
214 
216  const ProtocolType VRRPv3 = 50;
217 
219  const ProtocolTypeFamily VRRP = 0x3132;
220 
222  const ProtocolType COTP = 51;
223 
225  const ProtocolType SLL2 = 52;
226 
228  const ProtocolType S7COMM = 53;
229 
231  const ProtocolType SMTP = 54;
232 
234  const ProtocolType LDAP = 55;
235 
238 
240  const ProtocolType GTPv2 = 57;
241 
244 
246  const ProtocolType DOIP = 59;
247 
249  const ProtocolType FTPData = 60;
250 
252  const ProtocolTypeFamily FTP = 0x3c29;
253 
255 
258  {
275  };
276 
277  namespace internal
278  {
285  {
286  auto const protocolToFamily = static_cast<ProtocolTypeFamily>(protocol);
287  return (protocolToFamily == (family & 0xff) || protocolToFamily << 8 == (family & 0xff00) ||
288  protocolToFamily << 16 == (family & 0xff0000) || protocolToFamily << 24 == (family & 0xff000000));
289  }
290  } // namespace internal
291 } // namespace pcpp
const ProtocolTypeFamily GRE
GRE protocol family (GREv0 and GREv1 protocols)
Definition: ProtocolType.h:102
const ProtocolType STP
Spanning Tree Protocol.
Definition: ProtocolType.h:195
const ProtocolType S7COMM
S7COMM protocol.
Definition: ProtocolType.h:228
const ProtocolType VRRPv3
VRRP version 3 protocol.
Definition: ProtocolType.h:216
const ProtocolTypeFamily VRRP
VRRP protocol family (VRRPv2 and VRRPv3 protocols)
Definition: ProtocolType.h:219
const ProtocolType TPKT
TPKT protocol.
Definition: ProtocolType.h:210
uint8_t ProtocolType
Definition: ProtocolType.h:35
const ProtocolType DHCPv6
Dynamic Host Configuration Protocol version 6 (DHCPv6) protocol.
Definition: ProtocolType.h:180
const ProtocolType PPPoESession
PPPoE session protocol.
Definition: ProtocolType.h:81
const ProtocolType ESP
IPSec Encapsulating Security Payload (ESP) protocol.
Definition: ProtocolType.h:174
const ProtocolType GREv0
GRE version 0 protocol.
Definition: ProtocolType.h:96
const ProtocolType MPLS
MPLS protocol.
Definition: ProtocolType.h:93
const ProtocolType WakeOnLan
Wake On LAN (WOL) Protocol.
Definition: ProtocolType.h:204
const ProtocolType COTP
COTP protocol.
Definition: ProtocolType.h:222
const ProtocolType AuthenticationHeader
IPSec Authentication Header (AH) protocol.
Definition: ProtocolType.h:171
const ProtocolType Ethernet
Ethernet protocol.
Definition: ProtocolType.h:45
const ProtocolTypeFamily PPPoE
PPPoE protocol family (PPPoESession and PPPoEDiscovery protocols)
Definition: ProtocolType.h:87
const ProtocolType NTP
Network Time (NTP) Protocol.
Definition: ProtocolType.h:183
const ProtocolType FTPData
File Transfer Protocol (FTP) Data channel.
Definition: ProtocolType.h:249
const ProtocolTypeFamily HTTP
HTTP protocol family (HTTP request and HTTP response protocols)
Definition: ProtocolType.h:69
const ProtocolType PacketTrailer
Packet trailer.
Definition: ProtocolType.h:150
const ProtocolType IGMPv2
IGMPv2 protocol.
Definition: ProtocolType.h:123
const ProtocolType BGP
Border Gateway Protocol (BGP) version 4 protocol.
Definition: ProtocolType.h:165
const ProtocolType IGMPv3
IGMPv3 protocol.
Definition: ProtocolType.h:126
const ProtocolType PPP_PPTP
PPP for PPTP protocol.
Definition: ProtocolType.h:105
const ProtocolType DHCP
DHCP/BOOTP protocol.
Definition: ProtocolType.h:114
const ProtocolType DOIP
Diagnostic over IP protocol (DOIP)
Definition: ProtocolType.h:246
const ProtocolType GREv1
GRE version 1 protocol.
Definition: ProtocolType.h:99
const ProtocolType SomeIP
SOME/IP Base protocol.
Definition: ProtocolType.h:201
const ProtocolTypeFamily FTP
FTP protocol family (FTPControl and FtpData protocols)
Definition: ProtocolType.h:252
const ProtocolType SSL
SSL/TLS protocol.
Definition: ProtocolType.h:108
const ProtocolType LDAP
LDAP protocol.
Definition: ProtocolType.h:234
const ProtocolType Radius
RADIUS protocol.
Definition: ProtocolType.h:153
const ProtocolType NULL_LOOPBACK
Null/Loopback protocol.
Definition: ProtocolType.h:117
const ProtocolType LLC
Logical Link Control (LLC)
Definition: ProtocolType.h:198
const ProtocolTypeFamily IP
IP protocol family (IPv4 and IPv6 protocols)
Definition: ProtocolType.h:54
const ProtocolType TCP
TCP protocol.
Definition: ProtocolType.h:57
const ProtocolType SSH
SSH version 2 protocol.
Definition: ProtocolType.h:168
const ProtocolType PPPoEDiscovery
PPPoE discovery protocol.
Definition: ProtocolType.h:84
const ProtocolType SMTP
SMTP protocol.
Definition: ProtocolType.h:231
uint32_t ProtocolTypeFamily
Definition: ProtocolType.h:39
const ProtocolType IPv4
IPv4 protocol.
Definition: ProtocolType.h:48
const ProtocolType SLL2
SLL2 protocol.
Definition: ProtocolType.h:225
const ProtocolType GenericPayload
Generic payload (no specific protocol)
Definition: ProtocolType.h:132
const ProtocolType IPv6
IPv6 protocol.
Definition: ProtocolType.h:51
const ProtocolType GTPv1
GTPv1 protocol.
Definition: ProtocolType.h:156
const ProtocolType GTPv2
GTPv2 protocol.
Definition: ProtocolType.h:240
const ProtocolTypeFamily GTP
GTP protocol family (GTPv1 and GTPv2)
Definition: ProtocolType.h:159
const ProtocolType IGMPv1
IGMPv1 protocol.
Definition: ProtocolType.h:120
const ProtocolType SLL
SLL (Linux cooked capture) protocol.
Definition: ProtocolType.h:111
const ProtocolType VXLAN
VXLAN protocol.
Definition: ProtocolType.h:135
const ProtocolType VRRPv2
VRRP version 2 protocol.
Definition: ProtocolType.h:213
const ProtocolType CiscoHDLC
Cisco HDLC protocol.
Definition: ProtocolType.h:243
const ProtocolType FTPControl
File Transfer (FTP) Protocol - Control channel.
Definition: ProtocolType.h:189
const ProtocolType ICMP
ICMP protocol.
Definition: ProtocolType.h:78
const ProtocolType HTTPRequest
HTTP request protocol.
Definition: ProtocolType.h:63
const ProtocolType WireGuard
WireGuard protocol.
Definition: ProtocolType.h:237
const ProtocolTypeFamily IPSec
IPSec protocol family (AH and ESP protocols)
Definition: ProtocolType.h:177
const ProtocolType UnknownProtocol
Unknown protocol (or unsupported by PcapPlusPlus)
Definition: ProtocolType.h:42
const ProtocolType VLAN
VLAN protocol.
Definition: ProtocolType.h:75
const ProtocolType SIPRequest
SIP request protocol.
Definition: ProtocolType.h:138
const ProtocolType DNS
DNS protocol.
Definition: ProtocolType.h:90
constexpr bool protoFamilyContainsProtocol(ProtocolTypeFamily family, ProtocolType protocol)
Check if a protocol family contains a specific protocol.
Definition: ProtocolType.h:284
const ProtocolType UDP
UDP protocol.
Definition: ProtocolType.h:60
const ProtocolType ARP
ARP protocol.
Definition: ProtocolType.h:72
const ProtocolType SDP
SDP protocol.
Definition: ProtocolType.h:147
const ProtocolType Telnet
Telnet Protocol.
Definition: ProtocolType.h:186
const ProtocolType HTTPResponse
HTTP response protocol.
Definition: ProtocolType.h:66
const ProtocolTypeFamily SIP
SIP protocol family (SIPRequest and SIPResponse protocols)
Definition: ProtocolType.h:144
const ProtocolType NFLOG
NFLOG (Linux Netfilter NFLOG) Protocol.
Definition: ProtocolType.h:207
const ProtocolType EthernetDot3
IEEE 802.3 Ethernet protocol.
Definition: ProtocolType.h:162
const ProtocolTypeFamily IGMP
IGMP protocol family (IGMPv1, IGMPv2, IGMPv3)
Definition: ProtocolType.h:129
const ProtocolType ICMPv6
ICMPv6 protocol.
Definition: ProtocolType.h:192
const ProtocolType SIPResponse
SIP response protocol.
Definition: ProtocolType.h:141
The main namespace for the PcapPlusPlus lib.
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:258
@ OsiModelTransportLayer
Transport layer (layer 4)
Definition: ProtocolType.h:266
@ OsiModelApplicationLayer
Application layer (layer 7)
Definition: ProtocolType.h:272
@ OsiModelDataLinkLayer
Data link layer (layer 2)
Definition: ProtocolType.h:262
@ OsiModelPhysicalLayer
Physical layer (layer 1)
Definition: ProtocolType.h:260
@ OsiModelSesionLayer
Session layer (layer 5)
Definition: ProtocolType.h:268
@ OsiModelNetworkLayer
Network layer (layer 3)
Definition: ProtocolType.h:264
@ OsiModelPresentationLayer
Presentation layer (layer 6)
Definition: ProtocolType.h:270
@ OsiModelLayerUnknown
Unknown / null layer.
Definition: ProtocolType.h:274