107 #define LINKTYPE_NULL DLT_NULL
108 #define LINKTYPE_ETHERNET DLT_EN10MB
109 #define LINKTYPE_EXP_ETHERNET DLT_EN3MB
110 #define LINKTYPE_AX25 DLT_AX25
111 #define LINKTYPE_PRONET DLT_PRONET
112 #define LINKTYPE_CHAOS DLT_CHAOS
113 #define LINKTYPE_IEEE802_5 DLT_IEEE802
114 #define LINKTYPE_ARCNET_BSD DLT_ARCNET
115 #define LINKTYPE_SLIP DLT_SLIP
116 #define LINKTYPE_PPP DLT_PPP
117 #define LINKTYPE_FDDI DLT_FDDI
134 #define LINKTYPE_PPP_HDLC 50
136 #define LINKTYPE_PPP_ETHER 51
138 #define LINKTYPE_SYMANTEC_FIREWALL 99
146 #define LINKTYPE_ATM_RFC1483 100
147 #define LINKTYPE_RAW 101
148 #define LINKTYPE_SLIP_BSDOS 102
149 #define LINKTYPE_PPP_BSDOS 103
161 #define LINKTYPE_MATCHING_MIN 104
163 #define LINKTYPE_C_HDLC 104
164 #define LINKTYPE_IEEE802_11 105
165 #define LINKTYPE_ATM_CLIP 106
166 #define LINKTYPE_FRELAY 107
167 #define LINKTYPE_LOOP 108
168 #define LINKTYPE_ENC 109
173 #define LINKTYPE_LANE8023 110
174 #define LINKTYPE_HIPPI 111
175 #define LINKTYPE_HDLC 112
177 #define LINKTYPE_LINUX_SLL 113
178 #define LINKTYPE_LTALK 114
179 #define LINKTYPE_ECONET 115
184 #define LINKTYPE_IPFILTER 116
186 #define LINKTYPE_PFLOG 117
187 #define LINKTYPE_CISCO_IOS 118
188 #define LINKTYPE_IEEE802_11_PRISM 119
189 #define LINKTYPE_IEEE802_11_AIRONET 120
194 #define LINKTYPE_HHDLC 121
196 #define LINKTYPE_IP_OVER_FC 122
197 #define LINKTYPE_SUNATM 123
203 #define LINKTYPE_RIO 124
204 #define LINKTYPE_PCI_EXP 125
205 #define LINKTYPE_AURORA 126
207 #define LINKTYPE_IEEE802_11_RADIOTAP 127
217 #define LINKTYPE_TZSP 128
219 #define LINKTYPE_ARCNET_LINUX 129
227 #define LINKTYPE_JUNIPER_MLPPP 130
228 #define LINKTYPE_JUNIPER_MLFR 131
229 #define LINKTYPE_JUNIPER_ES 132
230 #define LINKTYPE_JUNIPER_GGSN 133
231 #define LINKTYPE_JUNIPER_MFR 134
232 #define LINKTYPE_JUNIPER_ATM2 135
233 #define LINKTYPE_JUNIPER_SERVICES 136
234 #define LINKTYPE_JUNIPER_ATM1 137
236 #define LINKTYPE_APPLE_IP_OVER_IEEE1394 138
238 #define LINKTYPE_MTP2_WITH_PHDR 139
239 #define LINKTYPE_MTP2 140
240 #define LINKTYPE_MTP3 141
241 #define LINKTYPE_SCCP 142
243 #define LINKTYPE_DOCSIS 143
245 #define LINKTYPE_LINUX_IRDA 144
250 #define LINKTYPE_IBM_SP 145
251 #define LINKTYPE_IBM_SN 146
279 #define LINKTYPE_USER0 147
280 #define LINKTYPE_USER1 148
281 #define LINKTYPE_USER2 149
282 #define LINKTYPE_USER3 150
283 #define LINKTYPE_USER4 151
284 #define LINKTYPE_USER5 152
285 #define LINKTYPE_USER6 153
286 #define LINKTYPE_USER7 154
287 #define LINKTYPE_USER8 155
288 #define LINKTYPE_USER9 156
289 #define LINKTYPE_USER10 157
290 #define LINKTYPE_USER11 158
291 #define LINKTYPE_USER12 159
292 #define LINKTYPE_USER13 160
293 #define LINKTYPE_USER14 161
294 #define LINKTYPE_USER15 162
303 #define LINKTYPE_IEEE802_11_AVS 163
311 #define LINKTYPE_JUNIPER_MONITOR 164
316 #define LINKTYPE_BACNET_MS_TP 165
332 #define LINKTYPE_PPP_PPPD 166
340 #define LINKTYPE_JUNIPER_PPPOE 167
341 #define LINKTYPE_JUNIPER_PPPOE_ATM 168
343 #define LINKTYPE_GPRS_LLC 169
344 #define LINKTYPE_GPF_T 170
345 #define LINKTYPE_GPF_F 171
351 #define LINKTYPE_GCOM_T1E1 172
352 #define LINKTYPE_GCOM_SERIAL 173
359 #define LINKTYPE_JUNIPER_PIC_PEER 174
367 #define LINKTYPE_ERF_ETH 175
368 #define LINKTYPE_ERF_POS 176
376 #define LINKTYPE_LINUX_LAPD 177
385 #define LINKTYPE_JUNIPER_ETHER 178
386 #define LINKTYPE_JUNIPER_PPP 179
387 #define LINKTYPE_JUNIPER_FRELAY 180
388 #define LINKTYPE_JUNIPER_CHDLC 181
393 #define LINKTYPE_MFR 182
401 #define LINKTYPE_JUNIPER_VP 183
410 #define LINKTYPE_A429 184
417 #define LINKTYPE_A653_ICM 185
430 #define LINKTYPE_USB_FREEBSD 186
436 #define LINKTYPE_BLUETOOTH_HCI_H4 187
442 #define LINKTYPE_IEEE802_16_MAC_CPS 188
448 #define LINKTYPE_USB_LINUX 189
457 #define LINKTYPE_CAN20B 190
463 #define LINKTYPE_IEEE802_15_4_LINUX 191
469 #define LINKTYPE_PPI 192
475 #define LINKTYPE_IEEE802_16_MAC_CPS_RADIO 193
483 #define LINKTYPE_JUNIPER_ISM 194
494 #define LINKTYPE_IEEE802_15_4_WITHFCS 195
500 #define LINKTYPE_SITA 196
507 #define LINKTYPE_ERF 197
514 #define LINKTYPE_RAIF1 198
530 #define LINKTYPE_IPMB_KONTRON 199
537 #define LINKTYPE_JUNIPER_ST 200
543 #define LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR 201
552 #define LINKTYPE_AX25_KISS 202
559 #define LINKTYPE_LAPD 203
566 #define LINKTYPE_PPP_WITH_DIR 204
573 #define LINKTYPE_C_HDLC_WITH_DIR 205
581 #define LINKTYPE_FRELAY_WITH_DIR 206
589 #define LINKTYPE_LAPB_WITH_DIR 207
600 #define LINKTYPE_IPMB_LINUX 209
606 #define LINKTYPE_FLEXRAY 210
613 #define LINKTYPE_MOST 211
620 #define LINKTYPE_LIN 212
626 #define LINKTYPE_X2E_SERIAL 213
632 #define LINKTYPE_X2E_XORAYA 214
643 #define LINKTYPE_IEEE802_15_4_NONASK_PHY 215
651 #define LINKTYPE_LINUX_EVDEV 216
658 #define LINKTYPE_GSMTAP_UM 217
659 #define LINKTYPE_GSMTAP_ABIS 218
666 #define LINKTYPE_MPLS 219
672 #define LINKTYPE_USB_LINUX_MMAPPED 220
678 #define LINKTYPE_DECT 221
689 #define LINKTYPE_AOS 222
698 #define LINKTYPE_WIHART 223
704 #define LINKTYPE_FC_2 224
718 #define LINKTYPE_FC_2_WITH_FRAME_DELIMS 225
766 #define LINKTYPE_IPNET 226
777 #define LINKTYPE_CAN_SOCKETCAN 227
783 #define LINKTYPE_IPV4 228
784 #define LINKTYPE_IPV6 229
791 #define LINKTYPE_IEEE802_15_4_NOFCS 230
809 #define LINKTYPE_DBUS 231
815 #define LINKTYPE_JUNIPER_VS 232
816 #define LINKTYPE_JUNIPER_SRX_E2E 233
817 #define LINKTYPE_JUNIPER_FIBRECHANNEL 234
829 #define LINKTYPE_DVB_CI 235
835 #define LINKTYPE_MUX27010 236
841 #define LINKTYPE_STANAG_5066_D_PDU 237
847 #define LINKTYPE_JUNIPER_ATM_CEMIC 238
855 #define LINKTYPE_NFLOG 239
865 #define LINKTYPE_NETANALYZER 240
875 #define LINKTYPE_NETANALYZER_TRANSPARENT 241
882 #define LINKTYPE_IPOIB 242
889 #define LINKTYPE_MPEG_2_TS 243
897 #define LINKTYPE_NG40 244
907 #define LINKTYPE_NFC_LLCP 245
918 #define LINKTYPE_PFSYNC 246
925 #define LINKTYPE_INFINIBAND 247
932 #define LINKTYPE_SCTP 248
939 #define LINKTYPE_USBPCAP 249
947 #define LINKTYPE_RTAC_SERIAL 250
954 #define LINKTYPE_BLUETOOTH_LE_LL 251
967 #define LINKTYPE_WIRESHARK_UPPER_PDU 252
972 #define LINKTYPE_NETLINK 253
977 #define LINKTYPE_BLUETOOTH_LINUX_MONITOR 254
983 #define LINKTYPE_BLUETOOTH_BREDR_BB 255
988 #define LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR 256
993 #define LINKTYPE_PROFIBUS_DL 257
1014 #define LINKTYPE_PKTAP 258
1021 #define LINKTYPE_EPON 259
1027 #define LINKTYPE_IPMI_HPM_2 260
1032 #define LINKTYPE_ZWAVE_R1_R2 261
1033 #define LINKTYPE_ZWAVE_R3 262
1039 #define LINKTYPE_WATTSTOPPER_DLM 263
1044 #define LINKTYPE_ISO_14443 264
1050 #define LINKTYPE_RDS 265
1055 #define LINKTYPE_USB_DARWIN 266
1060 #define LINKTYPE_OPENFLOW 267
1065 #define LINKTYPE_SDLC 268
1071 #define LINKTYPE_TI_LLN_SNIFFER 269
1077 #define LINKTYPE_LORATAP 270
1085 #define LINKTYPE_VSOCK 271
1090 #define LINKTYPE_NORDIC_BLE 272
1097 #define LINKTYPE_DOCSIS31_XRA31 273
1103 #define LINKTYPE_ETHERNET_MPACKET 274
1110 #define LINKTYPE_DISPLAYPORT_AUX 275
1115 #define LINKTYPE_LINUX_SLL2 276
1120 #define LINKTYPE_SERCOS_MONITOR 277
1131 #define LINKTYPE_OPENVIZSLA 278
1143 #define LINKTYPE_EBHSCR 279
1150 #define LINKTYPE_VPP_DISPATCH 280
1155 #define LINKTYPE_DSA_TAG_BRCM 281
1156 #define LINKTYPE_DSA_TAG_BRCM_PREPEND 282
1164 #define LINKTYPE_IEEE802_15_4_TAP 283
1169 #define LINKTYPE_DSA_TAG_DSA 284
1170 #define LINKTYPE_DSA_TAG_EDSA 285
1177 #define LINKTYPE_ELEE 286
1182 #define LINKTYPE_Z_WAVE_SERIAL 287
1187 #define LINKTYPE_USB_2_0 288
1192 #define LINKTYPE_ATSC_ALP 289
1194 #define LINKTYPE_MATCHING_MAX 289
1201 #if LINKTYPE_MATCHING_MAX != DLT_MATCHING_MAX
1202 #error The LINKTYPE_ matching range does not match the DLT_ matching range
1297 for (i = 0;
map[i].
dlt != -1; i++) {
1298 if (
map[i].dlt == dlt)
1299 return (
map[i].linktype);
1347 if (
map[i].linktype == linktype)
1348 return (
map[i].dlt);
1382 return 128*1024*1024;
1407 u_int caplen = hdr->
caplen;
1408 u_int length = hdr->
len;
1413 if (caplen < (u_int)
sizeof(
struct sll_header) ||
1414 length < (u_int) sizeof(struct
sll_header)) {
1427 if (caplen < (u_int)
sizeof(
struct sll_header) + sizeof(chdr->can_id) ||
1428 length < (u_int) sizeof(struct
sll_header) + sizeof(chdr->can_id)) {
1446 int header_len_64_bytes)
1462 if (hdr->
caplen < offset)
1469 if (hdr->
caplen < offset)
1476 if (hdr->
caplen < offset)
1481 if (hdr->
caplen < offset)
1486 if (hdr->
caplen < offset)
1491 if (hdr->
caplen < offset)
1496 if (hdr->
caplen < offset)
1502 if (hdr->
caplen < offset)
1507 if (hdr->
caplen < offset)
1524 if (header_len_64_bytes) {
1534 if (hdr->
caplen < offset)
1539 if (hdr->
caplen < offset)
1544 if (hdr->
caplen < offset)
1549 if (hdr->
caplen < offset)
1559 for (i = 0; i < uhdr->
ndesc; i++) {
1561 if (hdr->
caplen < offset)
1566 if (hdr->
caplen < offset)
1571 if (hdr->
caplen < offset)
1600 u_int caplen = hdr->
caplen;
1601 u_int length = hdr->
len;
1629 size += 4 - size % 4;
1638 if (caplen < size || length < size) {
#define DLT_SYMANTEC_FIREWALL
#define DLT_USB_LINUX_MMAPPED
struct nflog_hdr nflog_hdr_t
static void swap_linux_usb_header(const struct pcap_pkthdr *hdr, u_char *buf, int header_len_64_bytes)
#define LINKTYPE_MATCHING_MIN
#define LINKTYPE_SLIP_BSDOS
#define LINKTYPE_ATM_RFC1483
#define LINKTYPE_PPP_ETHER
#define LINKTYPE_ETHERNET
static void swap_nflog_header(const struct pcap_pkthdr *hdr, u_char *buf)
#define LINKTYPE_IEEE802_5
int linktype_to_dlt(int linktype)
static struct linktype_map map[]
u_int max_snaplen_for_dlt(int dlt)
static void swap_linux_sll_header(const struct pcap_pkthdr *hdr, u_char *buf)
#define LINKTYPE_ARCNET_BSD
int dlt_to_linktype(int dlt)
#define LINKTYPE_MATCHING_MAX
#define LINKTYPE_ATM_CLIP
#define LINKTYPE_EXP_ETHERNET
#define LINKTYPE_PPP_HDLC
#define LINKTYPE_PPP_BSDOS
#define LINKTYPE_SYMANTEC_FIREWALL
void swap_pseudo_headers(int linktype, struct pcap_pkthdr *hdr, u_char *data)
#define LINUX_SLL_P_CANFD