From ae7ce299860e2253294491e87465c8d3cbc58433 Mon Sep 17 00:00:00 2001 From: evilsocket Date: Sat, 24 Feb 2018 21:07:39 +0100 Subject: [PATCH] fix: skipping broadcast bssid in wifi.recon --- modules/wifi_recon.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/wifi_recon.go b/modules/wifi_recon.go index 2163f809..7d87f4ad 100644 --- a/modules/wifi_recon.go +++ b/modules/wifi_recon.go @@ -402,10 +402,20 @@ func isZeroBSSID(bssid net.HardwareAddr) bool { } return true } + +func isBroadcastBSSID(bssid net.HardwareAddr) bool { + for _, b := range bssid { + if b != 0xff { + return false + } + } + return true +} + func (w *WiFiRecon) discoverAccessPoints(radiotap *layers.RadioTap, dot11 *layers.Dot11, packet gopacket.Packet) { // search for Dot11InformationElementIDSSID if ok, ssid := packets.Dot11ParseIDSSID(packet); ok == true { - if isZeroBSSID(dot11.Address3) == false { + if isZeroBSSID(dot11.Address3) == false && isBroadcastBSSID(dot11.Address3) == false { bssid := dot11.Address3.String() frequency := int(radiotap.ChannelFrequency) w.Session.WiFi.AddIfNew(ssid, bssid, frequency, radiotap.DBMAntennaSignal)