파일 설명자를 사용하여 네트워크 인터페이스의 속도를 찾으려고 합니다. 방법은 간단합니다 ethX
. 전화 한 통만 걸면 됩니다 cat /sys/class/net/eth0/speed
. 불행하게도 이 방법은 무선 인터페이스에서는 작동하지 않습니다. 전화하면 /sys/class/net/wlan0/speed
다음 오류가 발생합니다. 매개변수가 잘못되었습니다.
/sys/class/net/eth0/speed
그렇다면 WLAN 인터페이스와 같은 아날로그 인터페이스 에 대해 알고 계십니까 ?
답변1
당신은 그것을 사용할 수 있습니다iwconfig
이 정보를 찾는 도구:
$ 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
의 비트 전송률을 원하면 /sys
다음을 시도해 보십시오.
$ cat /sys/class/net/wlan0/wireless/link
51
또는 다음에서 /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
노트:두 번째 예의 링크 값은 56입니다.
MB/s는 계산된 값이므로 wlan0 장치의 어느 곳에도 저장되지 않습니다. 인터페이스를 통해 전송된 집계 비트를 해당 데이터를 전송하는 데 걸리는 시간으로 나누는 것이라고 생각합니다.
이 정보를 얻는 또 다른 방법은 도구를 사용하는 것입니다.iw
. 이 도구는NL80211CLI 기반 무선 장치 구성 유틸리티입니다. 최신 Linux 배포판에 있어야 합니다.
$ 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
이는 또한 전송 및 수신된(RX/TX) 패킷 수를 표시합니다.
답변2
slm의 접근 방식이 잘못되었습니다. 표시된 데이터 속도 iwconfig
는 링크 인터페이스에서 지원되는 최대 속도입니다. 이는 현재의 데이터 전송이 아닙니다. 이 /sys/class/net/<interfacename>/statistics/<tx/rx>_bytes
파일을 사용하여 인터페이스당 전송된 바이트 수를 실시간으로 가져옵니다.
답변3
짧은 대답은 "아니오"입니다. Linux에는 WiFi에 적합한 sysfs 인터페이스가 아직 없습니다. [마지막 확인: Linux 5.10]. 그러나 이것이 당신이 불행하다는 것을 의미하지는 않습니다. 이 정보는 ''라는 C API를 통해 사용자에게 노출됩니다.NL80211”, 따라서 원하는 정보를 추출할 수 있는 프로그램만 있으면 wavemon
정보를 실시간으로 표시하는 Curs 인터페이스가 있는 것이 좋습니다.
┌─Interface──────────────────────────────────────────────────────────────────────────────────────────────────┐
│wlan0 (IEEE 802.11), phy 0, reg: n/a, SSID: Fifi's HiFi WiFi │
├─Levels─────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│link quality: 54% (38/70) │
│========================================================== │
│ │
│ │
│signal level: -72 dBm (0.06 nW) │
│================================= │
│ │
├─Statistics─────────────────────────────────────────────────────────────────────────────────────────────────┤
│RX: 80k (53.26 MiB), drop: 12 (0.0%) │
│TX: 88k (31.45 MiB), retries: 8k (9.7%) │
├─Info───────────────────────────────────────────────────────────────────────────────────────────────────────┤
│mode: Managed, connected to: 74:DA:88:42:CA:FE, time: 27:45m, inactive: 0.0s │
│freq: 5785 MHz, ctr1: 5775 MHz, channel: 157 (width: 80 MHz) │
│rx rate: 234.0 Mbit/s VHT-MCS 5 80MHz VHT-NSS 1, tx rate: 260.0 Mbit/s VHT-MCS 3 80MHz short GI VHT-NSS 2 │
│beacons: 16020, lost: 298, avg sig: -69 dBm, interval: 0.1s, DTIM: 1 │
│power mgt: on, tx-power: 22 dBm (158.49 mW) │
│retry: short limit 7, rts/cts: off, frag: off │
├─Network────────────────────────────────────────────────────────────────────────────────────────────────────┤
│wlan0 (UP RUNNING BROADCAST MULTICAST) │
│mac: 34:C9:3D:CC:DD:EE, qlen: 1000 │
│ip: 192.168.9.167/24 │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
F1 info F2 lhist F3 scan F7 prefs F8 help F9 about F10 quit
이는 많은 양의 데이터이지만 "정보" 섹션을 확인하면 원하는 정보를 찾을 수 있습니다.
배송율:260.0메가비트/초VHT-MCS 3 80MHz 짧은 GI VHT-NSS 2
이는 MAC 계층의 무선 연결 속도이며, 이것이 바로 /sys/class/net/wlan0/speed
1이 표시해야 하는 것입니다.
^speedtx
기술적으로는 Wi-Fi가 비대칭이기 때문에 그래야 합니다 speedrx
.