giovedì 19 novembre 2015

Come collegarsi alla rete Wi-Fi dal terminale


Di solito il computer si collega automaticamente alla rete Wi-Fi senza bisogno del nostro intervento, altre volte invece bastano pochi click per farlo. Può capitare però di trovarci di fronte al terminale e non avere alcuna interfaccia grafica per collegare il nostro computer alla rete Wi-Fi, per esempio quando l'installazione dei driver grafici non è andata a buon fine.
In questa breve guida vi mostrerò come collegarci dalla riga di comando.

Durante la guida darò per scontato che abbiate effettuato il login come root o che prima di procedere abbiate eseguito il comando su per eseguire i comandi come super utente. Altrimenti potete sempre anteporre la parola sudo ad ogni comando.

Trovare la scheda Wi-Fi installata


Prima cosa da fare bisognerà trovare la scheda Wi-Fi installata sul nostro computer, useremo il comando iw

> iw dev

Produrrà un output simile a questo

phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 9c:d2:1e:61:a6:86
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 Mhz

Nel mio caso ho una scheda di rete Wi-Fi chiamata wlan0

Visualizzare lo stato della scheda Wi-Fi


Ora possiamo controllare lo stato della scheda con il seguente comando

> ip link show wlan0

Otterremo un risultato simile a questo

3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff

Come potete intuire dalla parola DOWN lo stato della Wi-Fi è spenta.

Accendere la scheda di rete Wi-Fi


Per attivare la scheda Wi-Fi procediamo con

> ip link set wlan0 up

Controlliamo di nuovo lo stato

> ip link show wlan0

Questa volta il risultato dovrebbe essere questo

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff

Notate come questa volta lo stato è UP

Controllare lo stato della connessione


Ora che la scheda Wi-Fi è attiva, controlliamo lo stato della connessione

> iw wlan0 link

il risultato sarà

Not connected.
Non siamo connessi.

Cercare le reti disponibili


Ora cerchiamo le reti Wi-Fi disponibili

> iw wlan0 scan

Otterremo una lunga lista di informazioni per ogni rete trovata come questa


BSS 9c:d3:6d:b4:a4:10(on wlan0) -- associated
TSF: 914250503275 usec (10d, 13:57:30)
freq: 2437
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime (0x0411)
signal: -41.00 dBm
last seen: 172 ms ago
Information elements from Probe Response frame:
SSID: My_Network
Supported rates: 1.0* 2.0* 5.5 11.0 18.0 24.0 36.0 54.0
DS Parameter set: channel 6
ERP: Barker_Preamble_Mode
ERP D4.0: Barker_Preamble_Mode
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
Extended supported rates: 6.0 9.0 12.0 48.0
HT capabilities:
Capabilities: 0x186c
HT20
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
No RX STBC
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT RX MCS rate indexes supported: 0-7
HT TX MCS rate indexes are undefined
HT operation:
* primary channel: 6
* secondary channel offset: no secondary
* STA channel width: 20 MHz
* RIFS: 1
* HT protection: no
* non-GF present: 1
* OBSS non-GF present: 0
* dual beacon: 0
* dual CTS protection: 0
* STBC beacon: 0
* L-SIG TXOP Prot: 0
* PCO active: 0
* PCO phase: 0
WPS: * Version: 1.0
* Wi-Fi Protected Setup State: 2 (Configured)
* Selected Registrar: 0x0
* Response Type: 3 (AP)
* UUID: 1620a1d7-a8d6-d819-4860-8a40e4e07abf
* Manufacturer: NETGEAR, Inc.
* Model: WNR1000v3
* Model Number: WNR1000v3
* Serial Number: 83258
* Primary Device Type: 6-0050f204-1
* Device name: WNR1000v3
* Config methods: Label, PBC
WMM: * Parameter version 1
* u-APSD
* BE: CW 15-1023, AIFSN 3
* BK: CW 15-1023, AIFSN 7
* VI: CW 7-15, AIFSN 2, TXOP 3008 usec
* VO: CW 3-7, AIFSN 2, TXOP 1504 usec

Le informazioni più importanti che ci occorrono sono il nome della rete ed il protocollo di sicurezza. Il nome della rete è quello che segue la parola SSID (Service Set Identifier), in questo caso è My_Network. Il protocollo di sicurezza è invece RSN, meglio conosciuto come WPA2.

Creare un file di configurazione WPA/WPA2


Per poterci collegare ad una rete Wi-Fi protetta da passphrase con protocollo WPA/WPA2 avremo bisogno di preparare un file di configurazione con questo comando:

> wpa_passphrase My_Network >> /etc/wpa_supplicant.conf

Subito dopo aver premuto invio dovremo digitare la passphrase per collegarci alla rete, quindi verrà creato il file di configurazione in /etc/wpa_supplicant.conf. Il file di configurazione così creato non andrà comunque a sostituire le configurazioni già esistenti.

Collegarsi alla rete Wi-Fi protetta da passphrase WPA/WPA2


Ora che abbiamo preparato tutto il necessario possiamo collegarci alla rete con

> wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf

Controlliamo di nuovo lo stato della connessione 

> iw wlan0 link

 Questa volta ci dovrebbe mostrare la connessione avvenuta.

Connected to 9c:d3:6d:b4:a4:10 (on wlan0)
SSID: My_Network
freq: 2437
RX: 10476343 bytes (59172 packets)
TX: 743393 bytes (5687 packets)
signal: -49 dBm
tx bitrate: 65.0 MBit/s MCS 6 short GI

bss flags: short-slot-time
dtim period: 0
beacon int: 100

Ottenere un indirizzo IP dal DHCP


Possiamo ottenere un indirizzo IP con il comando

> dhclient wlan0

E verificare l'indirizzo IP con

> ip addr show wlan0

Otterrete qualcosa come questo

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.5/24 brd 10.0.0.255 scope global dynamic wlan0
valid_lft 82996sec preferred_lft 82996sec
inet6 fe80::9ed2:1eff:fe61:a686/64 scope link
valid_lft forever preferred_lft forever

L'indirizzo IP è quello che segue la parola inet, in questo caso 10.0.0.5.

Testare la connessione


Per finire possiamo fare un test della connessione con il buon vecchio comando ping


Se il risultato è simile al seguente siete connessi

PING www.google.com (74.125.232.146) 56(84) bytes of data.
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=1 ttl=52 time=38.3 ms
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=2 ttl=52 time=37.9 ms
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=3 ttl=52 time=38.2 ms

Fermate l'esecuzione di ping con la combinazione di tasti Ctrl + c.

Il vostro sistema è online!