wpa_cli
—
text-based frontend program for interacting with
wpa_supplicant
wpa_cli |
[-p path_to_ctrl_sockets]
[-i ifname]
[-hvB ] [-a
action_file] [-P
pid_file] [-g
global_ctrl] [-G
ping_interval] command
... |
The wpa_cli
utility is a text-based frontend program for
interacting with
wpa_supplicant(8).
It is used to query current status, change configuration, trigger events, and
request interactive user input.
The wpa_cli
utility can show the current
authentication status, selected security mode, dot11 and dot1x MIBs, etc. In
addition, wpa_cli
can configure EAPOL state machine
parameters and trigger events such as reassociation and IEEE 802.1X
logoff/logon.
The wpa_cli
utility provides an interface
to supply authentication information such as username and password when it
is not provided in the
wpa_supplicant.conf(5)
configuration file. This can be used, for example, to implement one-time
passwords or generic token card authentication where the authentication is
based on a challenge-response that uses an external device for generating
the response.
The wpa_cli
utility supports two modes:
interactive and command line. Both modes share the same command set and the
main difference is in interactive mode providing access to unsolicited
messages (event messages, username/password requests).
Interactive mode is started when wpa_cli
is executed without any parameters on the command line. Commands are then
entered from the controlling terminal in response to the
wpa_cli
prompt. In command line mode, the same
commands are entered as command line arguments.
The control interface of
wpa_supplicant(8)
can be configured to allow non-root user access by using the
ctrl_interface_group parameter in the
wpa_supplicant.conf(5)
configuration file. This makes it possible to run
wpa_cli
with a normal user account.
When
wpa_supplicant(8)
needs authentication parameters, such as username and password, that are not
present in the configuration file, it sends a request message to all attached
frontend programs, e.g., wpa_cli
in interactive mode.
The wpa_cli
utility shows these requests with a
“CTRL-REQ-
⟨type⟩-
⟨id⟩:⟨text⟩”
prefix, where ⟨type⟩ is
IDENTITY
, PASSWORD
, or
OTP
(One-Time Password),
⟨id⟩ is a unique identifier for the
current network, ⟨text⟩ is a description
of the request. In the case of an OTP
(One-Time
Password) request, it includes the challenge from the authentication server.
A user must supply
wpa_supplicant(8)
the needed parameters in response to these requests.
For example,
CTRL-REQ-PASSWORD-1:Password needed for SSID foobar
> password 1 mysecretpassword
Example request for generic token card challenge-response:
CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar
> otp 2 9876
These options are available:
-p
path
- Control sockets path. This should match the
ctrl_interface
in
wpa_supplicant.conf(5).
The default path is /var/run/wpa_supplicant.
-i
ifname
- Interface to be configured. By default, the first interface found in the
socket path is used.
-h
- Show help.
-v
- Show version information.
-B
- Run the daemon in the background.
-a
action_file
- Run in daemon mode, executing the action file based on events from
wpa_supplicant(8).
-P
pid_file
- PID file location.
-g
global_ctrl
- Use a global control interface to
wpa_supplicant(8)
rather than the default Unix domain sockets.
-G
ping_interval
- Wait “ping_interval” seconds before sending each ping to
wpa_supplicant(8).
See the
ping
command.
- command
- See available commands in the next section.
These commands can be supplied on the command line or at a prompt when operating
interactively.
status
- Report the current WPA/EAPOL/EAP status for the current interface.
ifname
- Show the current interface name. The default interface is the first
interface found in the socket path.
ping
- Ping the
wpa_supplicant(8)
utility. This command can be used to test the status of the
wpa_supplicant(8)
daemon.
mib
- Report MIB variables (dot1x, dot11) for the current interface.
help
- Show usage help.
interface
[ifname]
- Show available interfaces and/or set the current interface when multiple
interfaces are available.
level
debug_level
- Change the debugging level in
wpa_supplicant(8).
Larger numbers generate more messages.
license
- Display the full license for
wpa_cli
.
logoff
- Send the IEEE 802.1X EAPOL state machine into the “logoff”
state.
logon
- Send the IEEE 802.1X EAPOL state machine into the “logon”
state.
set
[settings]
- Set variables. When no arguments are supplied, the known variables and
their settings are displayed.
pmksa
- Show the contents of the PMKSA cache.
reassociate
- Force a reassociation to the current access point.
reconfigure
- Force
wpa_supplicant(8)
to re-read its configuration file.
preauthenticate
BSSID
- Force preauthentication of the specified BSSID.
identity
network_id identity
- Configure an identity for an SSID.
password
network_id password
- Configure a password for an SSID.
new_password
network_id password
- Change the password for an SSID.
PIN
network_id pin
- Configure a PIN for an SSID.
passphrase
network_id passphrase
- Configure a private key passphrase for an SSID.
bssid
network_id bssid
- Set a preferred BSSID for an SSID
blacklist
[bssid | clear]
- Add a BSSID to the blacklist. When invoked without any extra arguments,
display the blacklist. Specifying clear causes
wpa_cli
to clear the blacklist.
list_networks
- List configured networks.
select_network
network_id
- Select a network and disable others.
enable_network
network_id
- Enable a network.
disable_network
network_id
- Disable a network.
add_network
- Add a network.
remove_network
network_id
- Remove a network.
set_network
[network_id variable value]
- Set network variables. Shows a list of variables when run without
arguments.
get_network
network_id variable
- Get network variables.
disconnect
- Disconnect and wait for reassociate/reconnect command before
connecting.
reconnect
- Similar to
reassociate
, but only takes effect if
already disconnected.
scan
- Request new BSS scan.
scan_results
- Get the latest BSS scan results. This command can be invoked after running
a BSS scan with
scan
.
bss
[idx | bssid]
- Get a detailed BSS scan result for the network identified by
“bssid” or “idx”.
otp
network_id password
- Configure a one-time password for an SSID.
terminate
- Force
wpa_supplicant(8)
to terminate.
interface_add
ifname [confname driver ctrl_interface
driver_param bridge_name]
- Add a new interface with the given parameters.
interface_remove
ifname
- Remove the interface.
interface_list
- List available interfaces.
quit
- Exit
wpa_cli
.
The wpa_cli
utility first appeared in
FreeBSD 6.0.
The wpa_cli
utility was written by
Jouni Malinen
<j@w1.fi>. This manual page is
derived from the README and
wpa_cli.c files included in the
wpa_supplicant
distribution.