सवाल लिनक्स में ईथरनेट पोर्ट की भौतिक स्थिति कैसे जांचें?


मैं यह जांचना चाहता हूं कि कोई निर्दिष्ट ethx शारीरिक रूप से ऊपर या नीचे है या नहीं। मैं कमांड लाइन के साथ ऐसा कैसे करूं?


60
2018-05-30 19:20


मूल




जवाब:


$ ethtool <eth?>

उदाहरण के लिए:

$ ethtool eth0

प्रदान करता है:

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
        Link detected: yes

61
2018-05-30 19:21





चेक /sys/class/net/eth0/operstate और इस निर्देशिका में अन्य फाइलें।

जहां तक ​​मुझे पता है कि यह लिनक्स 2.6+ के लिए विशिष्ट है, लेकिन यह कर्नेल ड्राइवर को एक साफ इंटरफ़ेस प्रदान करता है।

के इस भाग के लिए पूर्ण दस्तावेज sys फ़ाइल सिस्टम यहां पाया जा सकता है:

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net


42
2018-01-20 09:19



/ sys / class / net / eth0 / वाहक मेरे लिए इस प्रश्न का सही उत्तर था। - Per Knytt
बहुत बढ़िया जवाब। एक छोटा परिशिष्ट: / रन / नेटवर्क / ifstate में कुछ उपयोगी जानकारी भी है। - Paulo André Haacke


ethtool [interface]

आखिरी पंक्ति दिखाती है कि आप क्या चाहते हैं:

# ethtool eth0
Eth0 के लिए सेटिंग्स:
        समर्थित बंदरगाहों: [टीपी]
        समर्थित लिंक मोड: 10baseT / आधा 10baseT / पूर्ण
                                100baseT / आधा 100baseT / पूर्ण
                                1000baseT / पूर्ण
        ऑटो वार्ता का समर्थन करता है: हां
        विज्ञापित लिंक मोड: 10baseT / आधा 10baseT / पूर्ण
                                100baseT / आधा 100baseT / पूर्ण
                                1000baseT / पूर्ण
        विज्ञापित ऑटो वार्ता: हां
        गति: 1000 एमबी / एस
        डुप्लेक्स: पूर्ण
        पोर्ट: मुड़ जोड़ी
        फीड: 0
        ट्रांसीवर: आंतरिक
        ऑटो वार्तालाप: चालू
        वेक-ऑन का समर्थन करता है: जी
        वेक-ऑन: डी
        वर्तमान संदेश स्तर: 0x00000037 (55)
        लिंक पता चला: हाँ

33
2018-05-30 19:28



यदि आप इसे जांचते हैं: en.wikipedia.org/wiki/OSI_model । आप देखेंगे कि अंतिम पंक्ति एक और परत के बारे में है: लिंक परत। मैंने अभी इसका परीक्षण किया। खराब केबल के साथ भौतिक परत ऊपर थी, लेकिन लिंक परत नहीं। फिर मैंने एक और केबल पर स्विच किया और सभी परतें आईं। - Jader Dias


ip link show

दूसरा है। अच्छे पुराने

ifconfig dev_name

या

ifconfig -a

इंटरफ़ेस ऊपर है या नहीं, यह भी आपको बताएगा। ध्यान दें: इन विधियों के साथ सावधानी बरतें क्योंकि वे लिंक के राज्य के बारे में तारीख की जानकारी दिखा सकते हैं।


23
2018-05-30 20:08



मुझे लगता है कि यह सबसे अच्छा जवाब था - ethtol मेरे उबंटू विचलन में मानक नहीं है, इसलिए यह नेट पर कनेक्ट नहीं होने वाले बॉक्स पर मदद नहीं करता है। - user20010
मेरा मानना ​​है कि ifconfig कभी-कभी डेट डेटा से बाहर दिखाएगा। यह लिंक दिखाए जाने पर यूपी दिखा सकता है, लेकिन ethtool इंटरफ़ेस हमेशा सही जानकारी AFAIK दिखाएगा। - sed_and_done
मुझे लगता है कि @sed_and_done सही है। एक Red Hat VM पर, यदि मैं एनआईसी डिस्कनेक्ट करता हूं, तो ethtool तुरंत दिखाता है Link detected: no के बजाय Link detected: yes, तथा आईपी ​​लिंक शो दिखाता है <NO-CARRIER,BROADCAST,MULTICAST,UP> के बजाय <BROADCAST,MULTICAST,UP,LOWER_UP>, परंतु ifconfig -a दिखाता है UP BROADCAST MULTICAST MTU:1500 Metric:1, जो वही है जब एनआईसी जुड़ा हुआ है। - Adi Inbar


dmesg | grep eth

आपको सभी स्टेटसchanges देखना चाहिए


15
2018-05-30 19:44



यह एकमात्र ऐसा है जो काम करता है अगर किसी के पास व्यवस्थापकीय विशेषाधिकारों की कमी है। - Brian B
dmesg Slackware 14.0 पर रूट की आवश्यकता है - AnonymousLurker
नहीं, यह नहीं करता है। मैंने अभी जांच की - जबकि यह मेरे लिए काम करता है eth0 डिवाइस, लेकिन यह चालू नहीं है eth2 डिवाइस। - Hi-Angel


यह देखने के लिए कि क्या लिंक ऊपर है और बातचीत की गति की जांच करने के लिए आप mii-tool का भी उपयोग कर सकते हैं।

# मीली-टूल
  eth0: 100baseTx-FD पर बातचीत की, लिंक ठीक है


9
2018-05-30 19:36



mii-tool को बहिष्कृत किया गया है और जीबीई इंटरफेस के लिए काम नहीं करता है। - Dave Cheney
@DaveCheney # mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok - stolsvik
Mii-tool के लिए मैन पेज ethtool का उपयोग करने का सुझाव देता है। हालांकि, माई-टूल अपना काम करता रहता है, अगर -v (verbose) विकल्प दिया जाता है तो अधिक उपयोगी होता है। - David Ramirez


आप नीचे कमांड के साथ पूरा विवरण हो सकता है

ethtool eth0

और यदि आप लिंक स्थिति देखना चाहते हैं तो नीचे दिए गए आदेश दें

mii-tool eth0

3
2018-03-03 07:31