Puoi usare il iwconfig
strumento per trovare queste informazioni:
$ iwconfig wlan0
wlan0 IEEE 802.11bg ESSID:"SECRETSSID"
Mode:Managed Frequency:2.462 GHz Access Point: 00:10:7A:93:AE:BF
Bit Rate=48 Mb/s Tx-Power=14 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=55/70 Signal level=-55 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Se vuoi il bit rate da /sys
prova direttamente questo:
$ cat /sys/class/net/wlan0/wireless/link
51
O da /proc
:
$ cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlan0: 0000 56. -54. -256 0 0 0 0 0 0
NOTA: Il valore per il collegamento nel secondo esempio è 56, ad esempio
Credo che MB/s sia un valore calcolato, quindi non verrà memorizzato da nessuna parte specificamente per il dispositivo wlan0. Penso che stia prendendo i bit aggregati trasferiti sull'interfaccia e dividendoli per il tempo impiegato per trasferire i dati.
Un altro modo per ottenere queste informazioni è usare lo strumento iw
. Questo strumento è un'utilità di configurazione CLI basata su nl80211 per dispositivi wireless. Dovrebbe trovarsi su qualsiasi distribuzione Linux recente.
$ iw dev wlan0 link
Connected to 00:10:7A:93:AE:BF (on wlan0)
SSID: SECRETSSID
freq: 2462
RX: 89045514 bytes (194863 packets)
TX: 34783321 bytes (164504 packets)
signal: -54 dBm
tx bitrate: 48.0 MBit/s
Questo mostra anche la quantità di pacchetti inviati e ricevuti (RX/TX).
L'approccio di slm è sbagliato, il data rate mostrato da iwconfig
è la velocità massima supportata dall'interfaccia per il collegamento. Non è la corrente alla quale i dati vengono trasferiti. Usa il /sys/class/net/<interfacename>/statistics/<tx/rx>_bytes
file per ottenere i byte per interfaccia trasferiti in tempo reale.