bettercap/bettercap · error
%s is not supported by this module
Error message
%s is not supported by this module
What it means
Raised in MacChanger.setMac when runtime.GOOS matches none of the supported platforms (BSD/darwin use 'ether', linux/android use 'hw ether'). The module shells out to ifconfig with OS-specific arguments, and the current operating system has no known ifconfig MAC-setting syntax, so it aborts before running anything.
Source
Thrown at modules/mac_changer/mac_changer.go:98
return nil
}
func (mod *MacChanger) setMac(mac net.HardwareAddr) error {
core.Exec("ifconfig", []string{mod.iface, "down"})
defer func() {
core.Exec("ifconfig", []string{mod.iface, "up"})
}()
var args []string
os := runtime.GOOS
if strings.Contains(os, "bsd") || os == "darwin" {
args = []string{mod.iface, "ether", mac.String()}
} else if os == "linux" || os == "android" {
args = []string{mod.iface, "hw", "ether", mac.String()}
} else {
return fmt.Errorf("%s is not supported by this module", os)
}
out, err := core.Exec("ifconfig", args)
if err == nil {
mod.Session.Interface.HW = mac
} else {
mod.Warning("%v: %s", err, out)
}
return err
}
func (mod *MacChanger) Start() error {
if mod.Running() {
return session.ErrAlreadyStarted(mod.Name())
} else if err := mod.Configure(); err != nil {
return err
} else if err := mod.setMac(mod.fakeMac); err != nil {View on GitHub (pinned to 8eca2820f3)
Solutions
- Run the mac_changer module on Linux, BSD, or macOS
- Change the MAC address manually with the platform's own tooling
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at modules/mac_changer/mac_changer.go:98 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bettercap/bettercap@8eca2820f3 (2026-09-02).
Data as JSON: /api/errors/9d601ec16dcfc7cc.
Report an issue: GitHub.