BssidLister retrieves the list of Access Points and associated (B)SSIDs from ExtremeCloud Appliance (XCA) via the provided REST API and prints CSV to stdout.
It started as a rewrite of the Python script provided by GTAC, but the output of BssidLister includes way more details than the GTAC script by now.
This project uses two defined branches:
master
is the primary development branch. Code withinmaster
may be broken at any time.stable
is reserved for code that compiles without errors and is tested. Trackstable
if you just want to use the software.
Other branches, for example for developing specific features, may be created and deleted at any time.
This tool uses Go modules to handle dependencies.
Use go run ./...
to run the tool directly or go build -o BssidLister ./...
to compile a binary. Prebuilt binaries may be available as artifacts from the GitLab CI/CD pipeline for tagged releases.
Tested with go1.16.
BssidLister -h
:
Available options:
-host string
XCA Hostname / IP
-port uint
HTTP port where XCA is listening (default 5825)
-secret string
Client Secret for authentication
-timeout uint
Timeout for HTTP(S) connections (default 5)
-userid string
Client ID for authentication
-version
Print version information and exit
All options that take a value can be set via environment variables:
XCAHOST --> -host
XCAPORT --> -port
XCATIMEOUT --> -timeout
XCAUSERID --> -userid
XCASECRET --> -secret
Environment variables can also be configured via a file called .xcaenv,
located in the current directory or in the home directory of the current
user.
BssidLister uses the OAuth authentication model used by XCA's API. Authentication is possible via username/password or via API Client credentials.
BssidLister prints CSV data to stdout when no errors occur. Any exit code that is not 0 indicates an error of some sort.
The CSV output will contain the following pieces of information per SSID:
- serial: AP serial number
- model: AP hardware type
- ip: AP IP address
- hostname: AP hostname
- radio: Radio index
- band: Wireless band
- bssid: Service BSSID
- ssid: Service SSID
- disabled: Indictator whether the radio is active (false) or not (true)
A header is included in the first line of the output.
The original project is hosted at GitLab, with a copy over at GitHub for the folks over there.