Monitor-mode frames in "any"-device captures on Linux aren't dissected correctly
I need to capture simultaneously on 2 interfaces (802.11 in monitor mode and Ethernet). Wireshark displays packets with a SLL prefix but cannot decode the Wifi packets and the associated RadioTap header. For those packets, the SLL contains 803 (802.11+RadioTap) in ARPHRD and 4 (Ethernet-II) in ProtocolType. It seems Wireshark is using the ProtocolType as the hint and completely ignore the ARPHRD.
I think there's no protocolType assigned in if_ether.h for RadioTap and decoding as ethernet cannot work. I even disabled all protocol dissectors (except SLL, Radiotap and 802.11) and Wireshark still cannot decode.
Since there's no protocolType assigned for Radiotap I think the SLL dissector should use ARPHRD value as the principal hint because it is explicit: the first portion must be decoded as RadioTap and the second as 802.11.
Tested in WireShark 2.2.17 and 2.6.3.
Did I missed something obvious?
That can be done by enabling two interfaces when capturing.
On Linux (and macOS if the capturing program is running with root privileges, which it won't be by default), it can also be done by capturing on the "any" device.
Which of those are you doing?
Thanks for your comment Guy. I'm in wireshark group and I don't have problem capturing simultaneous on 2 interfaces. My problem is that wireshark cannot dissect 802.11 packets because the SLL specify that the protocol is LLC -802.2 (ETH_type = 4). Linux version is 4.14.78
In answer to the question I asked, you're doing a capture on the "any" device.