mirror of
https://github.com/bettercap/bettercap
synced 2025-08-20 13:33:21 -07:00
new: module can now export a State map with specific information
This commit is contained in:
parent
b7c6e61428
commit
756c04fd95
3 changed files with 63 additions and 8 deletions
|
@ -81,6 +81,8 @@ func NewWiFiModule(s *session.Session) *WiFiModule {
|
|||
chanLock: &sync.Mutex{},
|
||||
}
|
||||
|
||||
mod.InitState("channels")
|
||||
|
||||
mod.AddParam(session.NewStringParameter("wifi.interface",
|
||||
"",
|
||||
"",
|
||||
|
@ -124,7 +126,8 @@ func NewWiFiModule(s *session.Session) *WiFiModule {
|
|||
func(args []string) (err error) {
|
||||
mod.ap = nil
|
||||
mod.stickChan = 0
|
||||
mod.frequencies, err = network.GetSupportedFrequencies(mod.iface.Name())
|
||||
freqs, err := network.GetSupportedFrequencies(mod.iface.Name())
|
||||
mod.setFrequencies(freqs)
|
||||
mod.hopChanges <- true
|
||||
return err
|
||||
}))
|
||||
|
@ -285,8 +288,7 @@ func NewWiFiModule(s *session.Session) *WiFiModule {
|
|||
}
|
||||
}
|
||||
|
||||
mod.Debug("new frequencies: %v", freqs)
|
||||
mod.frequencies = freqs
|
||||
mod.setFrequencies(freqs)
|
||||
|
||||
// if wifi.recon is not running, this would block forever
|
||||
if mod.Running() {
|
||||
|
@ -330,6 +332,17 @@ const (
|
|||
ErrIfaceNotUp = "Interface Not Up"
|
||||
)
|
||||
|
||||
func (mod *WiFiModule) setFrequencies(freqs []int) {
|
||||
mod.Debug("new frequencies: %v", freqs)
|
||||
|
||||
mod.frequencies = freqs
|
||||
channels := []int{}
|
||||
for _, freq := range freqs {
|
||||
channels = append(channels, network.Dot11Freq2Chan(freq))
|
||||
}
|
||||
mod.State.Store("channels", channels)
|
||||
}
|
||||
|
||||
func (mod *WiFiModule) Configure() error {
|
||||
var ifName string
|
||||
var hopPeriod int
|
||||
|
@ -430,8 +443,10 @@ func (mod *WiFiModule) Configure() error {
|
|||
if mod.source == "" {
|
||||
// No channels setted, retrieve frequencies supported by the card
|
||||
if len(mod.frequencies) == 0 {
|
||||
if mod.frequencies, err = network.GetSupportedFrequencies(ifName); err != nil {
|
||||
if freqs, err := network.GetSupportedFrequencies(ifName); err != nil {
|
||||
return fmt.Errorf("error while getting supported frequencies of %s: %s", ifName, err)
|
||||
} else {
|
||||
mod.setFrequencies(freqs)
|
||||
}
|
||||
|
||||
mod.Debug("wifi supported frequencies: %v", mod.frequencies)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue