Skip to content

Flags & Preferences

Mat. B edited this page Apr 27, 2020 · 5 revisions

Parameters

Starting with version 4.0 and greater, fluxion allows the usage of command line parameters to enable certain features without having to use the text-based interface. These can be passed to the script at launch time as typical unix-style parameters, adding on the legacy method of setting environment variables/flags at launch time.

Passing Unix-style parameters

Fluxion accepts two types of parameters, general parameters, which apply to the entire script session, and attack-specific parameters, which apply to the specific attack being launched. Most, if not all, parameters have a short and long/verbose form. Parameters must be passed in the following manner:

# NOTICE: <> denotes required, [] denotes optional, "--" denotes a literal string (use without quotes)
# WARNING: Do not confuse the parameter delimiter "--" with the long parameter form "--parameter"
fluxion <general-parameters> [ "--" <attack-parameters> ]

# Example 1: Enable debugging messages & debugging behavior
fluxion -d
# or
fluxion --debug

# Example 2: Use airmon-ng to enable monitor mode.
fluxion -n
# or
fluxion --airmon-ng

# Example 3: Select the Captive Portal attack & use "wlan1" as the AP interface for the attack.
fluxion -a "Captive Portal" -- -a wlan1
# or
fluxion --attack="Captive Portal" -- --ap="wlan1"

# Example 4: Combined parameters (example 3 + debugging output)
fluxion -da "Captive Portal" -- -a wlan1
# or
fluxion -d -a "Captive Portal" -- -a wlan1
# or
fluxion --debug --attack="Captive Portal" -- --ap="wlan1"

# Example 5: Multiple parameters (example 4 + killer flag enabled, language set, & jammer interface specified)
fluxion -dka "Captive Portal" -l en -- -a wlan1 -j wlan1
# or
fluxion -d -k -a "Captive Portal" -l en -- -a wlan1 -j wlan1
# or
fluxion --debug --killer --attack="Captive Portal" --language=en -- --attack=wlan1 --jammer=wlan1

The following is a list of the available command line parameters available:

General parameters

Arguments Description
-v or --version Prints script version & revision.
-h or --help Prints help information.
-d or --debug Enables debugging messages & behavior.
-k or --killer Kills processes using selected interface (UNSAFE & DISCOURAGED).
-r or --reloader Reloads the selected interface's wireless driver.
-n or --airmon-ng Enables the use of airmon-ng for monitor mode switching, rather than fluxion.
-m or --multiplexer Enables the usage of tmux, rather than xterm (currently not implemented).
-e or --essid Targets the specified ESSID (requires BSSID, & channel to be specified).
-b or --bssid Targets the specified BSSID (requires ESSID, & channel to be specified).
-c or --channel Targets the specified channel (requires BSSID, & ESSID to be specified).
-l or --language Sets the language to be used for the command line interface.
-a or --attack Sets the target to be launched.
--ratio Sets the xterm windows' ratio.

Captive Portal Parameters

Arguments Description
-a or --ap Sets the interface to be used for the access point.
-j or --jammer Sets the wireless interface to be used for jamming.
-s or --ssl Sets the SSL/TLS certificate (path) to be used for the captive portal interface.
-c or --connectivity Sets the whether or not to enable emulated connectivity.
-u or --ui Sets the captive portal user interface to use on the rogue network.
-h or --hash Sets the target handshake used to verify submitted keys.
-n or --network-manager Sets the flag to prevent disabling the network manager service.

Handshake Snooper Parameters

Arguments Description
-v or --verifier Sets the hash verifier to use be used for checking handshakes.
-i or --interval Sets the monitoring time before checking for caught handshakes.
-j or --jammer Sets the wireless interface to be used for jamming.
-a or --asynchronous Sets whether monitoring and handshake checking should occur simultaneously.

Setting environment variables [legacy]

Environment variables are another form of passing arguments to the script, however, we suggest you use the method specified above since it's cleaner. To have fluxion launch with special flags, run the flags before executing fluxion:

export FLUXIONDebug=1; ./fluxion.sh

For a list of the flags available, see below.

Preferences

To have fluxion automatically load flags when executed, do the following:

  • Make a file called preferences.sh in the fluxion directory with the following content:
#!/bin/bash

# The following flag allows fluxion to auto-selects & sets some settings.
# export FLUXIONAuto=1

# The following flag allows fluxion to output debug messages.
# export FLUXIONDebug=1

# The following flag authorizes fluxion to kill any interfering process.
# This flag shouldn't be necessary, and should be avoided because it could cause unintended side effects.
# You can avoid it by stoping any process that uses the network interfaces fluxion needs to use.
# For example, in Debian based systems, you could "systemctl stop network-manager.service".
# export FLUXIONWIKillProcesses=1

# The following flag forces fluxion to reload the driver of the wireless interfaces selected.
# export FLUXIONWIReloadDriver=1

# The following flag forces fluxion to utilize airmon-ng to switch the interface to monitor mode.
# export FLUXIONAirmonNG=1

Then make it executable with:

chmod u+x preferences.sh

Now, fluxion will automatically load flags and may be invoked without them: ./fluxion.sh