In today's article we deal with the network, especially Wi-Fi. With Linux we have several command line programs that allow us to monitor and manipulate networks. What follows is a set of Linux tools used to monitor it. We will examine the speed, bitrate, the quality and signal strength, and more.

The Wi-Fi card

We type the following command to list the Wi-Fi card installed on your computer:

$ lspci
$ lspci | grep -i wireless
$ lspci | egrep -i --color 'wifi|wlan|wireless'

The output in my case is this:

0c:00.0 Network controller: Intel Corporation Ultimate N WiFi Link 5300

We breathed 0c:00.0, we could use these numbers to identify the name of the Wi-Fi device or the driver.

The Wi-Fi adapter driver

Type the following command:

$ lspci -vv -s 0c:00.0

The output of which is as follows:

0c:00.0   Network controller: Intel Corporation Ultimate N WiFi Link 5300
Subsystem: Intel Corporation Device 1121
Control: I / O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR + FastB2B- DisINTx-
Status: Cap + 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-
Kernel driver in use: iwlwifi

Configure Wi-Fi interface

The command iwconfig (It will be replaced by iw) It is similar to the displaced ifconfig (now replaced by ip) but it is dedicated to Wi-Fi interfaces. It is used to manipulate the basic parameters such as the network name, the guy, channel, the speed, encryption and much more. To control the interface parameters wlp5s0 we type:

iwconfig wlp5s0


wlp5s0    IEEE 802.11abgn ESSID:"tammazzo"
Mode:Managed Frequency:5.18 GHz Access Point: 74:44:44:44:57:FC
Bit Rate=6 Mb/s Tx-Power=15 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=41/70 Signal level=-69 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:28 Missed beacon:0

The output above us various information:

  1. the name of the MAC protocol utilizzatoESSID: the name of reteNWID: radiola sensibilitàla the channel mode of the access funzionamentol'indirizzo pointla velocitàil type of cifraturale energy consumption settings

You can also get detailed information about the types of available connections:

$ nmcli connection show

Produce questo output:

NAME                    UUID                                    TYPE               DEVICE 
tammazzo 18916b35-9d58-42bc-bdc6-fc065940c701 802-11-wireless wlp5s0
Cable TV 1 f9405c66-d4be-32ea-8e72-29cc46cbac44 ethernet --

The network to which we are connected with the interface wlp5s0 is “tammazzo“, but there is also shown the network adapter “wired” to which we are not connessi.Possiamo get more detailed information on your network with this command:

$ nmcli connection show "tammazzo"

And this is the output:                                  tammazzo
connection.uuid: d943343d-a105-4f6f-92c3-43873b75d874
connection.stable-id: --
connection.type: 802-11-wireless
connection.interface-name: --
connection.autoconnect: Yup
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.auth-retries: -1
connection.timestamp: 1543060508 not
connection.permissions: -- --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
802-11-wireless.ssid: tammazzo
802-11-wireless.mode: infrastructure -- 0
802-11-wireless.bssid: --
802-11-wireless.rate: 0
802-11-wireless.tx-power: 0
802-11-wireless.mac-address: 00:1And:64:39:A5:58
802-11-wireless.cloned-mac-address: --
802-11-wireless.generate-mac-address-mask: --
802-11-wireless.mac-address-blacklist: --
802-11-wireless.mac-address-randomization: default
802-11-wireless.mtu: auto
802-11-wireless.seen-bssids: CC:THIS:1And:30:2A:BF
802-11-wireless.hidden: not
802-11-wireless.powersave: 0 (default)
802-11-wireless-security.key-mgmt: wpa-psk
802-11-wireless-security.wep-tx-keyidx: 0
802-11-wireless-security.auth-alg: open
802-11-wireless-security.proto: --
802-11-wireless-security.pairwise: -- --
802-11-wireless-security.pmf: 0 (default)
802-11-wireless-security.leap-username: --
802-11-wireless-security.wep-key0: <hidden>
802-11-wireless-security.wep-key1: <hidden>
802-11-wireless-security.wep-key2: <hidden>
802-11-wireless-security.wep-key3: <hidden>
802-11-wireless-security.wep-key-flags: 0 (nobody)
802-11-wireless-security.wep-key-type: unknown
802-11-wireless-security.psk: <hidden>
802-11-wireless-security.psk-flags: 0 (nobody)
802-11-wireless-security.leap-password: <hidden>
802-11-wireless-security.leap-password-flags: 0 (nobody)
802-11-wireless-security.wps-method: 0 (default)
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: ""
ipv4.dns-priority: 0
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.ignore-auto-routes: not
ipv4.ignore-auto-dns: not
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: Yup
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: not
ipv4.may-fail: Yup -1 (default)
ipv6.method: auto
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: ""
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.ignore-auto-routes: not
ipv6.ignore-auto-dns: not
ipv6.never-default: not
ipv6.may-fail: Yup
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.dhcp-send-hostname: Yup
ipv6.dhcp-hostname: --
ipv6.token: --
proxy.method: none
proxy.browser-only: not
proxy.pac-url: --
proxy.pac-script: --
GENERAL.NAME: tammazzo
GENERAL.UUID: d943343d-a105-4f6f-92c3-43873b75d874
GENERAL.STATE: activated
GENERAL.SPEC-OBJECT: /org/freedesktop/NetworkManager/AccessPoint/1
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
IP4.ROUTE[1]: dst =, nh =, mt = 600
IP4.ROUTE[2]: dst =, nh =, mt = 600
IP4.ROUTE[3]: dst =, nh =, mt = 1000
DHCP4.OPTION[1]: requested_subnet_mask = 1
DHCP4.OPTION[2]: requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[3]: subnet_mask =
DHCP4.OPTION[4]: domain_name_servers =
DHCP4.OPTION[5]: ip_address =
DHCP4.OPTION[6]: requested_static_routes = 1
DHCP4.OPTION[7]: dhcp_server_identifier =
DHCP4.OPTION[8]: requested_time_offset = 1
DHCP4.OPTION[9]: broadcast_address =
DHCP4.OPTION[10]: dhcp_rebinding_time = 75600
DHCP4.OPTION[11]: requested_interface_mtu = 1
DHCP4.OPTION[12]: requested_domain_name_servers = 1
DHCP4.OPTION[13]: dhcp_message_type = 5
DHCP4.OPTION[14]: requested_broadcast_address = 1
DHCP4.OPTION[15]: routers =
DHCP4.OPTION[16]: dhcp_renewal_time = 43200
DHCP4.OPTION[17]: requested_domain_name = 1
DHCP4.OPTION[18]: domain_name =
DHCP4.OPTION[19]: requested_routers = 1
DHCP4.OPTION[20]: expiry = 1543141511
DHCP4.OPTION[21]: requested_wpad = 1
DHCP4.OPTION[22]: requested_netbios_scope = 1
DHCP4.OPTION[23]: requested_ms_classless_static_routes = 1
DHCP4.OPTION[24]: requested_netbios_name_servers = 1
DHCP4.OPTION[25]: network_number =
DHCP4.OPTION[26]: requested_domain_search = 1
DHCP4.OPTION[27]: next_server =
DHCP4.OPTION[28]: requested_ntp_servers = 1
DHCP4.OPTION[29]: ntp_servers =
DHCP4.OPTION[30]: dhcp_lease_time = 86400
DHCP4.OPTION[31]: requested_host_name = 1
IP6.ADDRESS[1]: fe80::32c:a93:1f28:fb37 / 64
IP6.ROUTE[1]: DST = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = FE80::/64, nh = ::, mt = 256
IP6.ROUTE[3]: dst = FE80::/64, nh = ::, mt = 600

Signal Quality

The command iwconfig wlp5s0 we can control the overall quality of the signal. This numerical data is based on the level of interference, il bit error rate, il frame error rate, how much signal is received (distance from the AP), time synchronization and other hardware measures. This is our reference line:

Link Quality=41/70 Signal level=-69 dBm

The value 41/70 It is an aggregate value and totally depends on the driver and dall'hardware.Il value -69dBm instead it is indicative of the level of the signal (how much “strong” it is received). Iw The program uses the driver settings to show the value, which can be expressed in dBm or on a scale from 1 8.A in another command to list the available networks, with relative signal, security, speed and more are following them:

$ nmcli dev wifi

Ed ecco l’output:

* SSID                MODE   CHAN   RATE        SIGNAL   BARS    SECURITY 
* tammazzo Infra 8 54 Mbit/s 42 ▂▄▆_ WPA2
InfostradaWiFi-895135 Infra 7 54 Mbit/s 37 ▂▄__ WPA2
LoremCorp Infra 1 54 Mbit/s 62 ▂▄▆_ WPA2 802.1X
Internet Infrastructure 6 54 Mbit/s 29 ▂___ WPA1
HPB110a.F2672A Ad-Hoc 6 54 Mbit/s 22 ▂___ --
Jozinet Infra 1 54 Mbit/s 19 ▂___ WEP
VOIP Infra 1 54 Mbit/s 20 ▂___ WEP
MARTINA Infra 4 54 Mbit/s 32 ▂▄__ WPA2
N24PU1 Infra 7 11 Mbit/s 22 ▂___ --
Infra-alpha 1 54 Mbit/s 67 ▂▄▆_ WPA2
bertnet Infra 5 54 Mbit/s 20 ▂___ WPA1 WPA2


The last program in the command line that I would recommend is Wavemon. It is a small package already present in the repositories (Ubuntu is installed with a simple apt install wavemon) and walks in just as easily with the command wavemon.The output is pretty explanatory:

Not enough?


I keep this blog as a hobby by 2009. I am passionate about graphic, technology, software Open Source. Among my articles will be easy to find music, and some personal thoughts, but I prefer the direct line of the blog mainly to technology. For more information contact me.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.