2008-10-15 16 views
5

मैं सटीक रूप से यह निर्धारित करने के लिए एक विधि की तलाश कर रहा हूं कि विंडोज़ में एक पीसी पर एक इंटरफेस भौतिक 802.3 ईथरनेट पोर्ट है या नहीं।आप कैसे निर्धारित करते हैं कि एक इंटरफ़ेस एक विंडोज़ पीसी पर एक भौतिक लैन पोर्ट है या नहीं?

ipconfig का उपयोग करके/मैं सभी इंटरफेस सूचीबद्ध कर सकता हूं, और जब मैं अपने पीसी पर ऐसा करता हूं तो कई प्रविष्टियों को यहां वीपीएन, ब्लूटूथ, वाईफ़ाई और भौतिक ईथरनेट इंटरफ़ेस समेत सूचीबद्ध किया जा सकता है।

मैं कुछ ऐसा ढूंढ रहा हूं, "isPhysical (इंटरफ़ेस)"। (एकाधिक भौतिक लेन बंदरगाहों के ठीक है, मैं सिर्फ यह जानना चाहता हूं कि यह एक भौतिक बंदरगाह है या नहीं)।

अद्यतन:

जे और क्रिस धन्यवाद!

(टिप्पणी में पर्याप्त स्थान नहीं है इसलिए मैं यहाँ पोस्ट करेंगे)

मैं वर्तमान में WMI Win32_NetworkAdapter का उपयोग करने में देख रहा हूँ। हालांकि, यह एडाप्टरटाइप = "ईथरनेट 802.3" के साथ 4 इंटरफेस दिखाता है।

मेरे पास केवल मेरे पीसी पर 1 फ़ायिकल पोर्ट है, अन्य के पास नाम, "वर्चुअल मशीन नेटवर्क सर्विसेज ड्राइवर" है। (मुझे लगता है कि ये मेरी कंपनी द्वारा कुछ बेईमान कारणों से स्थापित किए गए हैं)

मुझे इंटरफ़ेस में आवश्यक विशेषता मिली, लेकिन यह WinXP में उपलब्ध नहीं है !!!

PhysicalAdapter डेटा प्रकार: बूलियन पहुंच प्रकार: केवल पढ़ने के लिए

बताता है कि क्या अनुकूलक एक शारीरिक या एक तार्किक अनुकूलक है। यदि सही है, एडाप्टर भौतिक है। विंडोज सर्वर 2003, विंडोज एक्सपी, विंडोज 2000, और विंडोज एनटी 4.0: यह संपत्ति उपलब्ध नहीं है।

वहाँ अगर यह एक शारीरिक बंदरगाह है, शब्द "आभासी" नाम के लिए टेक्स्ट फिल्टर कर के अलावा अन्य निर्धारित करने के लिए कोई तरीका है?

अद्यतन 12/08

लग रहा है आभासी इंटरफेस जैसे जब आप किसी वीएम स्थापित जुड़ जाते हैं।

यहाँ आभासी एडाप्टर बारे में कुछ जानकारी है: http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/01/404816.aspx

मिले एक मुद्दा है, तो उपयोगकर्ता व्यवस्थापक अधिकार नहीं है WMI इंटरफ़ेस डेटा की जरूरत वापस नहीं करता है, जहां। तो, अब GetAdapterInfo विधि को देख रहे हैं। हालांकि, यह 'वास्तविक अनुकूलक का वर्णन करने के लिए आभासी मशीन सेवाओं ड्राइवर ", बनाने' जोड़ने के लिए आभासी 'पाठ जांच अमान्य लगता

और संरचना GetAdapterInfo द्वारा दिया:।

http://msdn.microsoft.com/en-us/library/aa366062(VS.85).aspx

+0

आपको अपने प्रश्न को स्पष्ट करने की आवश्यकता है - आप पूछ रहे हैं कि कौन सा कठोर है, और फिर लोगों के जवाबों को चिह्नित करें जब वे आपको बताए कि एक से अधिक हो सकते हैं। आपके प्रश्न को बदलने की जरूरत है 'मैं कैसे बता सकता हूं कि कोई इंटरफ़ेस वायर्ड ईथरनेट इंटरफ़ेस है या नहीं?' – RodeoClown

+0

वह आपको नीचे चिह्नित करने वाला नहीं था। – TraumaPony

+0

ठीक है, यह ठीक है - लेकिन एक प्रतिक्रिया को चिह्नित करना जो प्रश्न को स्वयं स्पष्टीकरण के साथ चुनौती देता है वह सहायक नहीं है। इस प्रश्न के साथ वर्तमान समस्या में कोई समस्या है - इस समय दोनों उत्तरों उस समस्या को इंगित करते हैं। – RodeoClown

उत्तर

0

एक मशीन हैं दो एनआईसी हैं, आप कैसे चुनेंगे कि कौन सा सही है? एकमात्र तरीका मैंने इसे देखा है, जिससे उपयोगकर्ता प्रत्येक इंटरफ़ेस के आईपी पते के साथ एक ड्रॉपडाउन कॉम्बो दे रहा है।एक उदाहरण के लिए Wireshark देखें -

अगर वहाँ अन्य समाधान कर रहे हैं, मैं उन्हें सुनना चाहते हैं -

+0

यह कई बंदरगाह हो सकता है। मुख्य रूप से मैं यह निर्धारित करने के लिए एक तरीका चाहता हूं कि बंदरगाह स्थानीय लैन पोर्ट है या नहीं। कुछ ऐसा है जो हावर्डवार्ड (इंटरफ़ेस) है। – monkut

-1

मैं जवाब का यकीन नहीं है - लेकिन ध्यान रखें कि यह कई ईथरनेट इंटरफेस करना संभव है किया जाना है।

+0

जेफ ने मुझे कुछ सेकंड तक मार दिया, लेकिन उसने क्या कहा ... – RodeoClown

4

कॉल GetIfEntry और MIB_IFROW संरचना में IF_TYPE_ETHERNET_CSMACD के dwType देखने के लिए लौट आए।

या .NET में, ईथरनेट के NetworkInterfaceType के साथ System.Net.NetworkInformation.NetworkInterface की तलाश करें।

+0

मैंने कोशिश नहीं की है, लेकिन मुझे लगता है कि इस विधि का अनुमान है कि वर्चुअल एडेप्टर सूचीबद्ध के साथ अभी भी एक ही समस्या होगी, है ना? – monkut

2

किसी भी सिस्टम के साथ अब तक मैंने देखा है सबसे अच्छा तरीका विंडोज 2000 एसपी 2 और ऊपर WMI का उपयोग कर रहा है।

http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx

Win32_NetworkAdapter http://msdn.microsoft.com/en-us/library/aa394216(VS.85).aspx

और तुम नाम स्थान System.Net.NetworkInformation जे उल्लेख उपयोग कर सकते हैं।

http://felizk.dk/?p=43

+0

धन्यवाद, मुझे आसानी से पहुंच के लिए डब्लूएमआई इंटरफ़ेस पसंद है। – monkut

0

चेक इंटरफ़ेस के माध्यम से: कॉल GetIfEntry और MIB_IFROW संरचना में IF_TYPE_ETHERNET_CSMACD के dwType देखने लौटे यहाँ का पता लगाने क्या नेटवर्क कार्ड से जुड़े हुए हैं या डिस्कनेक्ट के बारे में एक कड़ी है।

या .NET में, एक SystemInet.NetworkInformation.NetworkInterface को नेटवर्क इंटरफेस टाइप के साथ ईथरनेट के लिए देखें।

और जांचें कि नाम में टेक्स्ट "वर्चुअल" है या नहीं।

--- यह जांचने के लिए एक लंगड़ा तरीका लगता है, लेकिन अब तक यह एकमात्र तरीका है जिसे मैं उन वर्चुअल 802.3 एडाप्टर को अनदेखा करने के लिए देखता हूं।

संबंधित मुद्दे

 संबंधित मुद्दे