Today I met another error related to multiple interfaces in pcapng
file:
pcap_next_ex() [an interface has a type 0 different from the type of the first interface]. Trace index = 8122
From my previous post, I wanted to convert it to pcap
format by tshark
command. But unfortunately it didn’t work:
$ tshark -F pcap -r a.pcapng -w b.pcap
tshark: Frame 8122 of file "a.pcapng" has a network type that differs from the network type of earlier packets, which isn't supported in a "Wireshark/tcpdump/... - pcap" file.
I had no choice but stole code from pcapplusplus to implement a converter, and the final code can be downloaded here. Please note on my macOS
system, I did little tweak about PcapPlusPlus.mk
:
$ cat /opt/homebrew/Cellar/pcapplusplus/22.11/etc/PcapPlusPlus.mk
......
# libs
PCAPPP_LIBS_DIR := -L/opt/homebrew/Cellar/pcapplusplus/22.11/lib
......