वलान इंटरफ़ेस की गति कैसे पता करें?


13

मैं फ़ाइल-डिस्क्रिप्टर का उपयोग करके नेटवर्क इंटरफ़ेस की गति खोजने की कोशिश कर रहा हूं। यह ethXसिर्फ कॉलिंग के लिए करना आसान है cat /sys/class/net/eth0/speed। दुर्भाग्य से यह विधि वायरलेस इंटरफ़ेस के साथ काम नहीं करती है। जब मैं कॉल करता /sys/class/net/wlan0/speedहूं तो मुझे त्रुटि मिलती है: अमान्य तर्क।

तो, क्या आप /sys/class/net/eth0/speedवलन इंटरफ़ेस के लिए किसी भी एनालॉग की तरह जानते हैं ?

जवाबों:


14

आप 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

नोट: 2 उदाहरण में लिंक के लिए मान 56 है, उदाहरण के लिए

मेरा मानना ​​है कि MB / s एक परिकलित मान है, इसलिए इसे विशेष रूप से wlan0 डिवाइस के लिए कहीं भी संग्रहीत नहीं किया जाएगा। मुझे लगता है कि यह इंटरफ़ेस पर स्थानांतरित किए गए कुल बिट्स को ले रहा है और इसे उस समय तक विभाजित कर रहा है जब उसने कहा था कि डेटा स्थानांतरित किया जाना है।

इस जानकारी को प्राप्त करने का एक अतिरिक्त तरीका उपकरण का उपयोग करना है iw। वायरलेस उपकरणों के लिए यह उपकरण ew nl80211 आधारित CLI कॉन्फ़िगरेशन उपयोगिता है। यह किसी भी हाल के लिनक्स डिस्ट्रो पर होना चाहिए।

$ 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) की मात्रा को भी दर्शाता है।


एप्लिकेशन, जिसके लिए मैं एक समाधान देखता हूं, नेटवर्क स्पीड पढ़ने के लिए फ़ाइल जैसी ऑब्जेक्ट का उपयोग करता है। और मैं कोड के किसी भी नए हिस्से को नहीं जोड़ सकता जो मुझे iwconfig से जानकारी निकालने में मदद कर सकता है। एप्लिकेशन के लिए कॉन्फ़िगरेशन गति के साथ फ़ाइल करने के लिए केवल पथ का उपयोग करता है।
टुरल गर्बनोव

क्या आपके पास iwconfig पहले से स्थापित नहीं है? यदि आपके पास वायरलेस नेटवर्क है तो यह आमतौर पर इंस्टॉल किया जाता है। मुझे अभी तक स्पष्ट रूप से किसी भी सिस्टम पर स्थापित करना पड़ा है जो मैंने सामना किया है जो वायरलेस है।
SLM

1
ध्यान दें कि iwconfigइसे रूट के रूप में चलाने पर आपको अधिक जानकारी मिल सकती है । स्पीड, dBm आदि मेरे लिए बिना रूट के गायब है
phiresky

2

स्लम द्वारा दृष्टिकोण गलत है, द्वारा दिखाई गई डेटा दर iwconfigलिंक के लिए इंटरफ़ेस द्वारा समर्थित अधिकतम गति है। यह वर्तमान नहीं है जिस पर डेटा स्थानांतरित किया जाता है। /sys/class/net/<interfacename>/statistics/<tx/rx>_bytesप्रति इंटरफ़ेस बाइट्स को हस्तांतरित लाइव प्राप्त करने के लिए फ़ाइल का उपयोग करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.