Cookie

Linux: 7 comandi per scoprire velocità, affidabilità e altre informazioni della tua rete

Pubblicato da TheJoe il

Tempo di lettura stimato: 4 minuti

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:

  1. 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:


TheJoe

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.