Useful Linux Command for Wireless


View your interfaces and configured IP addresses:
ifconfig

or
ip addr show

(or just ‘ip a‘)


View your routing table:
ip route show


Get basic info on a WLAN adapter:
sudo iw dev


Do a scan for a list of nearby networks:
sudo iw wlan0 scan

(Note: dumps A LOT of info)
or
sudo iw wlan0 scan | grep -i ssid:

(for just a list of SSIDs)


Get info about WLAN connections (data rate, SSID, channel (MHz), signal strength, etc.)

sudo iw wlan0 info


Set wlan0 to monitor mode (manually):

sudo ip link set dev wlan0 down

sudo iw dev wlan0 set type monitor

sudo ip link set dev wlan0 up


Change channel of WLAN adapter:

sudo iw dev wlan0 set channel 36

(change 36 to whatever channel you desire)


Change channel and set the bandwidth

sudo iw dev wlan0 set channel 40 HT20|HT40+|HT40-|80MHz

Ex:
sudo iw dev wlan0 set channel 44 80MHz


Dump the full capabilities of WLAN adapter:

iw dev phy0 info

(Note: phy0 might be phy1, phy2, etc. Use ‘iw dev’ to find out)


View arp cache:
ip neighbor

or
sudo arp -n


View layer2 info for adapter(s)
sudo ip link

or
sudo ip link show wlan0


Check if adapter is recognized by system:
lspci

(for PCI adapters)
lsusb

(for USB adapters)
Note: You can also look at output of dmesg just after you insert adapter.
Ex: sudo dmesg


Get info about your WLAN adapter (driver, driver version, wireless state, etc)
sudo lshw -C network

(Note: you may need to install lshw with apt install lshw)


If Network Manager is running, you can get a list of available WLANs:
nmcli dev wifi


Get and set regulatory domain
Get:
sudo iw reg get

Set:
sudo iw reg set XX

(Note: Change XX to 2-digit country code)
Ex:

sudo iw reg set US


Get info about WLAN link quality

cat /proc/net/wireless

or update it every seconds like this:

watch -n 1 cat /proc/net/wireless


Install wavemon.  It gives you a simple interface with useful info about your connection

Install: apt get install wavemon

sudo wavemon (to have availability to scan network) or just wavemon