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

  1. Run the mac_changer module on Linux, BSD, or macOS
  2. 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.