Làm thế nào để tìm tốc độ của giao diện wlan?


13

Tôi đang cố gắng tìm tốc độ của giao diện mạng bằng cách sử dụng mô tả tệp. Thật dễ dàng để làm điều đó ethX, chỉ cần gọi cat /sys/class/net/eth0/speed. Thật không may, phương pháp này không hoạt động với giao diện không dây. Khi tôi gọi /sys/class/net/wlan0/speedtôi nhận được lỗi: đối số không hợp lệ.

Vì vậy, bạn có biết bất kỳ /sys/class/net/eth0/speedlike tương tự cho giao diện wlan?

Câu trả lời:


14

Bạn có thể sử dụng iwconfigcông cụ để tìm thông tin này:

$ 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

Nếu bạn muốn tốc độ bit từ /systrực tiếp hãy thử điều này:

$ cat /sys/class/net/wlan0/wireless/link
51

Hoặc từ /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

LƯU Ý: Giá trị cho liên kết trong ví dụ thứ 2 là 56, ví dụ:

Tôi tin rằng MB / s là một giá trị được tính toán, vì vậy nó sẽ không được lưu trữ ở bất kỳ đâu dành riêng cho thiết bị wlan0. Tôi nghĩ rằng nó lấy các bit tổng hợp được truyền qua giao diện và chia nó cho thời gian dữ liệu được nói sẽ được chuyển.

Một cách khác để có được thông tin này là sử dụng công cụ iw. Công cụ này tiện ích cấu hình CLI dựa trên ew nl80211 cho các thiết bị không dây. Nó nên có trên bất kỳ bản phân phối Linux gần đây.

$ 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

Điều này cũng cho thấy số lượng gói gửi và nhận (RX / TX).


Ứng dụng mà tôi tìm kiếm một giải pháp, sử dụng đối tượng giống như tệp để đọc tốc độ mạng từ nó. Và tôi không thể thêm bất kỳ phần mã mới nào có thể giúp tôi trích xuất thông tin từ iwconfig. Cấu hình cho ứng dụng chỉ sử dụng đường dẫn đến tệp với tốc độ.
Tural Gurbanov

Bạn chưa cài đặt iwconfig? Nó thường được cài đặt nếu bạn có một mạng không dây. Tôi chưa phải cài đặt nó một cách rõ ràng trên bất kỳ hệ thống nào tôi gặp phải có mạng không dây.
slm

1
Lưu ý rằng bạn có thể nhận thêm thông tin từ iwconfigkhi chạy nó dưới quyền root. Tốc độ, dBm, v.v ... bị thiếu đối với tôi mà không cần root
phiresky

2

Cách tiếp cận bằng slm là sai, tốc độ dữ liệu được hiển thị iwconfiglà tốc độ tối đa được hỗ trợ bởi giao diện cho liên kết. Nó không phải là hiện tại mà dữ liệu được truyền. Sử dụng /sys/class/net/<interfacename>/statistics/<tx/rx>_bytestệp để nhận được mỗi byte giao diện được truyền trực tiếp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.