Linux: 7 comandi per scoprire velocità, affidabilità e altre informazioni della tua rete
Attenzione
Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.
Nell’articolo di oggi ci occupiamo della rete, soprattutto Wi-Fi. Con Linux abbiamo a disposizione svariati programmi a riga di comando che ci permettono di monitorare e manipolare le reti. Quella che segue è una serie di strumenti per Linux usati per monitorarla. Andremo ad analizzare la velocità, il bitrate, la qualità e la potenza del segnale e altro ancora.
La scheda Wi-Fi
Digitiamo il seguente comando per elencare le schede Wi-Fi installate sul computer:
$ lspci
$ lspci | grep -i wireless
$ lspci | egrep -i --color 'wifi|wlan|wireless'
L’output nel mio caso è questo:
0c:00.0 Network controller: Intel Corporation Ultimate N WiFi Link 5300
Ci annotiamo 0c:00.0
, potremmo usare questi numeri per identificare il nome del dispositivo Wi-Fi o i driver.
I driver della scheda Wi-Fi
Digitiamo il seguente comando:
$ lspci -vv -s 0c:00.0
Il cui output è il seguente:
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
Configurare l’interfaccia Wi-Fi
Il comando iwconfig
(verrà sostituito da iw
) è simile al soppiantato ifconfig
(ora sostituito da ip
) ma è dedicato alle interfacce Wi-Fi. Viene usato per manipolare i parametri base come il nome della rete, il tipo, il canale, la velocità, la cifratura e molto altro. Per controllare i parametri dell’interfaccia wlp5s0 digitiamo:
iwconfig wlp5s0
L’output:
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
L’output qui sopra ci da svariate informazioni:
- il nome del protocollo MAC utilizzatoESSID: il nome della reteNWID: il canale radiola sensibilitàla modalità di funzionamentol’indirizzo dell’access pointla velocitàil tipo di cifraturale impostazioni di consumo energetico
È possibile anche avere informazioni dettagliate sui tipi di connessioni disponibili:
$ nmcli connection show
Produce questo output:
NAME UUID TYPE DEVICE
tammazzo 18916b35-9d58-42bc-bdc6-fc065940c701 802-11-wireless wlp5s0
Connessione via cavo 1 f9405c66-d4be-32ea-8e72-29cc46cbac44 ethernet --
La rete a cui siamo connessi con l’interfaccia wlp5s0
è “tammazzo
“, ma ci viene mostrata anche la scheda di rete “wired” alla quale non siamo connessi.Possiamo ottenere informazioni più dettagliate sulla rete in uso con questo comando:
$ nmcli connection show "tammazzo"
E questo è l’output:
connection.id: tammazzo connection.uuid: d943343d-a105-4f6f-92c3-43873b75d874 connection.stable-id: -- connection.type: 802-11-wireless connection.interface-name: -- connection.autoconnect: sì connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.auth-retries: -1 connection.timestamp: 1543060508 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: sconosciuto connection.lldp: default 802-11-wireless.ssid: tammazzo 802-11-wireless.mode: infrastructure 802-11-wireless.band: -- 802-11-wireless.channel: 0 802-11-wireless.bssid: -- 802-11-wireless.rate: 0 802-11-wireless.tx-power: 0 802-11-wireless.mac-address: 00:1E: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:CE:1E:30:2A:BF 802-11-wireless.hidden: no 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.group: -- 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 (nessuno) 802-11-wireless-security.wep-key-type: unknown 802-11-wireless-security.psk: <hidden> 802-11-wireless-security.psk-flags: 0 (nessuno) 802-11-wireless-security.leap-password: <hidden> 802-11-wireless-security.leap-password-flags: 0 (nessuno) 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: no ipv4.ignore-auto-dns: no ipv4.dhcp-client-id: -- ipv4.dhcp-timeout: 0 (default) ipv4.dhcp-send-hostname: sì ipv4.dhcp-hostname: -- ipv4.dhcp-fqdn: -- ipv4.never-default: no ipv4.may-fail: sì ipv4.dad-timeout: -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: no ipv6.ignore-auto-dns: no ipv6.never-default: no ipv6.may-fail: sì ipv6.ip6-privacy: -1 (sconosciuto) ipv6.addr-gen-mode: stable-privacy ipv6.dhcp-send-hostname: sì ipv6.dhcp-hostname: -- ipv6.token: -- proxy.method: none proxy.browser-only: no proxy.pac-url: -- proxy.pac-script: -- GENERAL.NAME: tammazzo GENERAL.UUID: d943343d-a105-4f6f-92c3-43873b75d874 GENERAL.DEVICES: wlp5s0 GENERAL.STATE: attivata GENERAL.DEFAULT: sì GENERAL.DEFAULT6: no GENERAL.SPEC-OBJECT: /org/freedesktop/NetworkManager/AccessPoint/1 GENERAL.VPN: no GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1 GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- IP4.ADDRESS[1]: 192.168.1.104/24 IP4.GATEWAY: 192.168.1.1 IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600 IP4.ROUTE[2]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 600 IP4.ROUTE[3]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000 IP4.DNS[1]: 192.168.1.1 IP4.DOMAIN[1]: fritz.box DHCP4.OPTION[1]: requested_subnet_mask = 1 DHCP4.OPTION[2]: requested_rfc3442_classless_static_routes = 1 DHCP4.OPTION[3]: subnet_mask = 255.255.255.0 DHCP4.OPTION[4]: domain_name_servers = 192.168.1.1 DHCP4.OPTION[5]: ip_address = 192.168.1.104 DHCP4.OPTION[6]: requested_static_routes = 1 DHCP4.OPTION[7]: dhcp_server_identifier = 192.168.1.1 DHCP4.OPTION[8]: requested_time_offset = 1 DHCP4.OPTION[9]: broadcast_address = 192.168.1.255 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 = 192.168.1.1 DHCP4.OPTION[16]: dhcp_renewal_time = 43200 DHCP4.OPTION[17]: requested_domain_name = 1 DHCP4.OPTION[18]: domain_name = fritz.box 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 = 192.168.1.0 DHCP4.OPTION[26]: requested_domain_search = 1 DHCP4.OPTION[27]: next_server = 192.168.1.1 DHCP4.OPTION[28]: requested_ntp_servers = 1 DHCP4.OPTION[29]: ntp_servers = 192.168.1.1 DHCP4.OPTION[30]: dhcp_lease_time = 86400 DHCP4.OPTION[31]: requested_host_name = 1 IP6.ADDRESS[1]: fe80::32c:a93:1f28:fb37/64 IP6.GATEWAY: -- 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
Qualità del segnale
Dal comando iwconfig wlp5s0
possiamo controllare la qualità complessiva del segnale. Questo dato numerico è basato sul livello delle interferenze, il bit error rate, il frame error rate, quanto segnale si riceve (distanza dall’AP), i tempi di sincronizzazione e altre misure hardware. Questa è la nostra riga di riferimento:
Link Quality=41/70 Signal level=-69 dBm
Il valore 41/70
è un valore aggregato e dipende totalmente dal driver e dall’hardware.Il valore -69dBm
invece è indicativo del livello del segnale (quanto “forte” viene ricevuto). Il programma iw usa le impostazioni del driver per mostrare il valore, che può essere espresso in dBm o in una scala da 1 a 8.Un altro comando per elencare le reti disponibili, con relative segnale, sicurezza, velocità e altro è li seguente:
$ 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 Infra 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 ▂___ --
alfa Infra 1 54 Mbit/s 67 ▂▄▆_ WPA2
bertnet Infra 5 54 Mbit/s 20 ▂___ WPA1 WPA2
Wavemon
L’ultimo programma a riga di comando che mi sento di consigliare è wavemon. Si tratta di un piccolo pacchetto già presente nei repository (su Ubuntu si installa con un semplice apt install wavemon
) e si avvia in modo altrettanto semplice con il comando wavemon
.L’output è piuttosto esplicativo:
0 commenti