tree ed3e6aa5e115545be7d146c35625cb93b92d496c
parent d381f3f61bf069de560059e51f08af15a64a7e37
author Denton Gentry <dgentry@google.com> 1482971508 -0800
committer Denton Gentry <dgentry@google.com> 1482971648 -0800

taxonomy: add several AP variants, Samsung edition.

The contents of the Beacon alter the contents of the signature.
For example the presence of the Spectrum Management bit in
the Beacon from an AP causes iOS devices to include IE#70
(Radio Resource Management).

Gather signatures for a number of client devices using several
different APs with differing Beacons:
+ Fiber GFRG210
+ Google OnHub
+ Google Wifi

The new pcap files in this CL contain:
+ the Beacon of the AP
+ the Probe Request from the client. We generally provide
  both a Broadcast Probe Request and a Probe directed at the
  specific AP's SSID, because some clients include different IEs.
  Qualcomm radios frequently include 802.11ac (VHT) IEs in their
  2.4GHz Probe if sent to the Broadcast SSID, as some kind of
  proprietary higher bitrate operating mode for 2.4GHz. When
  sending to our specific SSID apparently the right bits are
  not present in the Beacon, and the Probe does not contain VHT IEs.

  Notably, Apple iOS devices have never been seen to send a different
  Probe Request to Broadcast as to a specific SSID, we include both
  variants for completeness and to document that there is no
  difference.
+ the Probe Response from the AP
+ the Authentication packet in both directions
+ the Associate Request from the client and Association Response
  from the AP.
+ the EAPOL exchange for WPA2. Note that being able to analyze the
  collection of EAPOL messages in this archive isn't sufficient to
  discover the Wifi PSK, otherwise people would camp out in the
  parking lot gathering samples.
+ a few packets after joining the WLAN

We're going to try to make a regular practice of this, to make the
corpus of collected WLAN traces more useful in the future for
development of new signature extensions.

Change-Id: Ide8f868cd18e8672a5e5b9b608dc10b3c8610f29
