diff --git a/modules/wifi/wifi.go b/modules/wifi/wifi.go index b27e8f59..919ae038 100644 --- a/modules/wifi/wifi.go +++ b/modules/wifi/wifi.go @@ -364,14 +364,14 @@ func (mod *WiFiModule) Configure() error { return err } - if err, mod.shakesFile = mod.StringParam("wifi.handshakes.file"); err != nil { + if err, mod.shakesAggregate = mod.BoolParam("wifi.handshakes.aggregate"); err != nil { + return err + } else if err, mod.shakesFile = mod.StringParam("wifi.handshakes.file"); err != nil { return err } else if mod.shakesFile != "" { if mod.shakesFile, err = fs.Expand(mod.shakesFile); err != nil { return err } - } else if err, mod.shakesAggregate = mod.BoolParam("wifi.handshakes.aggregate"); err != nil { - return err } if err, ifName = mod.StringParam("wifi.interface"); err != nil { diff --git a/modules/wifi/wifi_recon_handshakes.go b/modules/wifi/wifi_recon_handshakes.go index f43c8a2a..e89ecba8 100644 --- a/modules/wifi/wifi_recon_handshakes.go +++ b/modules/wifi/wifi_recon_handshakes.go @@ -89,7 +89,7 @@ func (mod *WiFiModule) discoverHandshakes(radiotap *layers.RadioTap, dot11 *laye numUnsaved := station.Handshake.NumUnsaved() shakesFileName := mod.shakesFile if mod.shakesAggregate == false { - shakesFileName = path.Join(shakesFileName, fmt.Sprintf("%s.pcap", station.PathFriendlyName())) + shakesFileName = path.Join(shakesFileName, fmt.Sprintf("%s.pcap", ap.PathFriendlyName())) } doSave := numUnsaved > 0 if doSave && shakesFileName != "" { diff --git a/network/wifi_station.go b/network/wifi_station.go index 2c83dcf7..aa7adb49 100644 --- a/network/wifi_station.go +++ b/network/wifi_station.go @@ -65,9 +65,12 @@ func (s *Station) IsOpen() bool { } func (s *Station) PathFriendlyName() string { - name := strings.Replace(s.HwAddress, ":", "", -1) + name := "" + bssid := strings.Replace(s.HwAddress, ":", "", -1) if essid := pathNameCleaner.ReplaceAllString(s.Hostname, ""); essid != "" { - name = fmt.Sprintf("%s_%s", name, essid) + name = fmt.Sprintf("%s_%s", essid, bssid) + } else { + name = bssid } return name }