Wifi Capture Filters
WPA2 Networks
identify a network that is using WPA2-PSK
wlan.tag.number == 221 or wlan.tag.number == 48
WPA2 PMKID
PMKID is a unique, per client key identifier found in the first EAPOL frame
Contained in optional RSN IE for AP roaming
Assigned at the time of joining a network to track with PMK should be used for the network
The PMKID is used to identify to the AP which PMK should be used for the newly roamed client.
wlan.rsn.ie.pmkid
# OR
wlan.tag.number eq 221
WPS Detection
We can see if an AP supports WPS, allowing for WPS attacks
wps.wifi_protected_setup_state eq 0x02
WEP Networks
Per Wigle.net as of 2024, WEP networks make up less than 5% of all wireless networks, however they can still be found!
In every WEP packet is an:
initialization vector
key index number
integrity check value.
Display only WEP encrypted data packets
wlan.wep.iv
BSSID
Filtering on BSSIDs
!wlan.bssid eq 58:6d:8f:07:4e:8d
wlan.bssid eq 58:6d:8f:07:4e:8d
Handshakes
To filter for four-way handshake packets in Wireshark
eapol
To filter for four-way handshake packets in tcpdump or to set a capture filter to only grab four-way handshake packets.
ether proto 0x888e
Beacons
wireshark filter for beacon frames
wlan.fc.type_subtype == 0x0008
Management Frames
wireshark filter for management frames
wlan.fc.type == 0
Probe Requests
Find clients looking for SSID names. Useful if you are looking to stand up an Evil Twin and would like a specific client to connect to you.
Probe requests can have privacy implications. If you capture SSID names and they are unique, you are able to query https://wigle.net to potentially find home locations/work locations
(wlan.fc.subtype == 4) && (wlan.fc.type == 0)
# filter out probe requests
!(wlan.fc.subtype == 4) && !(wlan.fc.type == 0)
WPA3 PSK networks
We can identify these networks in a wireshark pcap by filtering off the Auth Key Management suite in use
wlan.fc.type_subtype == 0x0008 && wlan.rsn.akms == 0x00FAC08
above AKMS identifies the most common key type in use GCMP-128
Find Data packets with no Frame Body Encryption
Encryption can still be used at the application layer i.e. TLS
Can catch protocols that are not encrypted
wlan.fc.protected == 0 && wlan.fc.type == 2
WPA3 Transition networks
wireshark filter for WPA3 transition networks. They will have to broadcast two cipher suites at once
wlan.fc.type_subtype == 0x0008 && wlan.rsn.akms == 0x000FAC02 && wlan.rsn.akms == 0x000FAc08
0x000FAC02
== WPA20x000FAC08
== WPA3
Tcpdump no Beacons / Control frames
tcpdump -i wlan0mon -s 0 -n -w out.pcap 'not type mgt subtype beacon and not type ctl'
capture the whole packet with
-s 0
capture everything that are not beacon frames + control frames (loud)
generally 10 beacon frames a second from each AP. If you are in range of 20 APs that can get rough quickly on pcap size
Great assessment tcpdump filter for assessments on smaller devices like a Pi
Last updated