2008-11-10 10 views
12

मैं कैसे पता लगा सकता हूं कि कोई अन्य होस्ट वर्तमान होस्ट के समान मैक पते का उपयोग कर रहा है या नहीं। क्योंकि दूसरा मेजबान धोखा दे रहा है?एक ही मैक पते के साथ एक और होस्ट का पता लगाएं

मैं एक एम्बेडेड वातावरण में काम कर रहा हूं, इसलिए "इस तरह के एक उपकरण का उपयोग" के बजाय प्रोटोकॉल स्तर पर उत्तरों की तलाश में हूं।

संपादित करें: आरएआरपी इस समस्या को हल करता है। आरएआरपी के लिए कोई जवाब पाने के लिए, सेगमेंट पर कम से कम एक मेजबान होना चाहिए जो आरएआरपी का समर्थन करता है। चूंकि आरएआरपी अप्रचलित है, आधुनिक ऑपरेटिंग सिस्टम इसका समर्थन नहीं करते हैं। इसके अलावा, सभी आरएआरपी आपको अपना खुद का आईपी पता बता सकते हैं - अगर मैक के साथ सेगमेंट पर एक और होस्ट है तो प्रतिक्रिया अलग नहीं होगी, जब तक कि मेजबान ने स्वयं एक अलग आईपी पता नहीं इस्तेमाल किया हो।

उत्तर

17

यह प्रश्न नीचे डालना बहुत दिलचस्प है! कई झूठी शुरूआत के बाद मैंने समस्या के आवश्यक घटकों के बारे में सोचना शुरू कर दिया और आरएफसी को सलाह के लिए खराब कर दिया। मैं एक निश्चित जवाब, नहीं मिला है, लेकिन यहाँ है कि यह मदद करता है उम्मीद में मेरी विचार प्रक्रिया है,:

  • मूल सवाल यह है कि अपने मैक पता के साथ एक और डिवाइस का पता लगाने के लिए कहता है। मान लीजिए कि आप एक आईपी नेटवर्क पर हैं, इसे पूरा करने के लिए क्या आवश्यक है?

  • निष्क्रिय तरीका होगा बस को यातायात के लिए सुनने और किसी भी पैकेट कि आप संचारित नहीं किया लेकिन अपने मैक पता है के लिए देखो। यह हो सकता है या नहीं हो सकता है, इसलिए यह एक डुप्लिकेट मौजूद होने पर निश्चित रूप से बता सकता है, यह आपको निश्चित रूप से बता सकता है कि यह नहीं है।

  • किसी भी सक्रिय विधि एक पैकेट कि बलों बहरूपिया प्रतिक्रिया करने के लिए प्रेषित करने की आवश्यकता है। यह तुरंत वैकल्पिक प्रोटोकॉल पर निर्भर किसी भी विधियों को समाप्त करता है।

  • किसी अन्य डिवाइस आप स्पूफिंग जाता है, यह चाहिए (परिभाषा के द्वारा) गंतव्य के रूप में अपने मैक पता के साथ पैकेट का जवाब। अन्यथा यह स्नूपिंग है लेकिन स्पूफ़िंग नहीं है।

  • समाधान आईपी पते से स्वतंत्र होना चाहिए और केवल मैक पता शामिल होना चाहिए।

  • तो ऐसा लगता है कि ऐसा लगता है कि एक प्रसारण (ईथरनेट) पैकेट या अपने मैक पते के साथ एक पैकेट को इसके गंतव्य के रूप में प्रेषित करना होगा, जिसके लिए एक प्रतिक्रिया की आवश्यकता है। बंदरगाह यह है कि एक आईपी पता आमतौर पर शामिल होता है, और आप इसे नहीं जानते हैं।

किस प्रकार का प्रोटोकॉल इस वर्णन को फिट करता है?

आसान उत्तर:

  • अपने नेटवर्क BOOTP या DHCP का समर्थन करता है, तो आप, काम हो गया है क्योंकि इस आधिकारिक तौर पर एक आईपी पते को एक मैक पता बांधता है। एक BOOTP अनुरोध भेजें, एक आईपी पता प्राप्त करें, और उससे बात करने का प्रयास करें। आप (मैं iptables और नेट का विवेकपूर्ण उपयोग में सोच रहा हूँ) तार पर पैकेट के लिए मजबूर करने और अपने आप जवाब से रोकने के लिए रचनात्मक होना पड़ सकता है।

नहीं-तो-आसान जवाब:

  • एक प्रोटोकॉल आईपी से स्वतंत्र है: या तो एक ही है कि IP परत का उपयोग नहीं करता, या एक है कि प्रसारण की अनुमति देता है। कोई भी दिमाग में नहीं आता है।

  • कोई पैकेट भेजें जो आम तौर पर आपके द्वारा प्रतिक्रिया उत्पन्न करेगा, स्वयं को प्रतिक्रिया देने से रोक देगा, और किसी अन्य डिवाइस से प्रतिक्रिया की तलाश करेगा। यह गंतव्य के रूप में आपके आईपी पते का उपयोग करने के लिए समझदार प्रतीत होता है, लेकिन मुझे इसके बारे में आश्वस्त नहीं है। दुर्भाग्यवश, विवरण (और, इसलिए उत्तर) ओपी के लिए एक अभ्यास के रूप में छोड़ दिया गया है ... लेकिन मुझे उम्मीद है कि चर्चा सहायक थी।

मुझे लगता है के रूप में कोई भी दृष्टिकोण एक भरोसेमंद दृढ़ संकल्प की गारंटी करने लगता है अंतिम समाधान, तकनीक का एक संयोजन शामिल होगी।

कुछ जानकारी http://en.wikipedia.org/wiki/ARP_spoofing#Defenses

यदि सब और विफल रहता है पर उपलब्ध है, तो आप इस का आनंद सकता है: http://www.rfc-editor.org/rfc/rfc2321.txt

कृपया पोस्ट अपने समाधान के साथ एक अनुवर्ती, के रूप में मुझे यकीन है कि यह उपयोगी होगा दूसरों के लिए। सौभाग्य!

+0

इस उत्कृष्ट प्रतिक्रिया के लिए धन्यवाद। मेरे उद्देश्यों के लिए आईपी पर निर्भर होना ठीक है - मैं गैर-आईपी नेटवर्क का समर्थन करने की उम्मीद नहीं कर रहा हूं :)। मैं निश्चित रूप से निम्नलिखित का पालन करूँगा। –

0

एक ही नेटवर्क सेगमेंट पर एक ही मैक पते का उपयोग करने वाले दो मेजबान स्विच स्विच कर सकते हैं और शायद आप इसे अविश्वसनीय नेटवर्क कनेक्शन के जरिए पहचान सकते हैं (जैसे स्विच आपके मेजबान से जुड़े पैकेट का कुछ हिस्सा भेज देंगे दूसरा, इस पर निर्भर करता है कि आप में से किसने अपनी दिशा में अंतिम पैकेट भेजा था)।

3

आप सबनेट में प्रत्येक संभावित आईपी के लिए एआरपी अनुरोध भेज सकते हैं। बेशक एआरपी अनुरोध के स्रोत का पता एफएफ होना चाहिए: एफएफ: एफएफ: एफएफ: एफएफ: एफएफ, अन्यथा आप प्रतिक्रिया नहीं देख सकते हैं।

मैं bittwiste के साथ इस तरह एक पैकेट जाली और PReplay के साथ पुनः बजाया और नेटवर्क पर सभी मेजबानों प्रतिक्रिया मिली। (मैं अगर इन जाली एआरपी पैकेट कानूनी रहे हैं या नहीं पता नहीं है ... कुछ OSes उन्हें अनदेखा कर सकते हैं)

यहाँ जाली पैकेज की तरह दिखाई देता है: alt text

यहाँ जबाब की तरह दिखाई देता है : alt text

आप, प्रतिक्रियाओं को देखने और (लाल आयत में) पैकेट से एक में अपने मैक पता देखने के रूप में आप की तुलना में किसी एक ही मैक पता है ...

Unfortuantely मैं नहीं कर सके ' टी सिद्धांत को पूरी तरह से जांचें क्योंकि एम में से कोई भी नहीं वाई (विंडोज़) मशीनें मुझे निक के मैक पते को सेट करने की कोशिश कर रही हैं ...

1

यह बहुत देर हो चुकी है, और एक गैर-जवाब है, लेकिन मैं किसी और के मामले में जो कुछ भी किया है, उसके साथ मैं ठीक से पालन करना चाहता था।

मैं कुछ अजीब एम्बेडेड हार्डवेयर के साथ काम कर रहा था जिसमें निर्माण में असाइन किए गए मैक पते नहीं हैं। इसका मतलब है कि हमें सॉफ्टवेयर में एक असाइन करने की आवश्यकता है।

स्पष्ट समाधान यह है कि उपयोगकर्ता को एक मैक पता चुनना है जो उन्हें पता है कि वे अपने नेटवर्क पर उपलब्ध हैं, अधिमानतः स्थानीय रूप से प्रशासित सीमा से, और यही वह है जो मैंने किया था। हालांकि, मैं एक उचित सुरक्षित डिफ़ॉल्ट चुनना चाहता था, और यदि कोई संघर्ष हुआ तो उपयोगकर्ता को चेतावनी देने का प्रयास भी किया।

अंत में मैंने स्थानीय रूप से प्रशासित रेंज में एक यादृच्छिक-आईएसएच डिफ़ॉल्ट चुनने का सहारा लिया, जिसे कुछ हार्डवेयर रीडिंग्स द्वारा चुना गया जो मध्यम एंट्रॉपी है। मैंने जानबूझकर धारणा की शुरुआत और अंत को इस धारणा पर छोड़ दिया कि उनको मैन्युअल रूप से चुना जाने की संभावना अधिक है। संभावना है कि किसी भी दिए गए नेटवर्क पर केवल इन उपकरणों में से एक होगा, और निश्चित रूप से 20 से कम, इसलिए संघर्ष की संभावना बहुत कम है, हालांकि कम से कम अनुमानित यादृच्छिक संख्याओं के कारण वे कम नहीं हो सकते हैं।

समस्या होने की संभावना कम होने के बावजूद, और ऊपर दिए गए उत्कृष्ट उत्तरों के बावजूद, मैंने संघर्ष पहचान के साथ बांटने का फैसला किया और मैक संघर्ष समस्याओं की तलाश करने के लिए उपयोगकर्ता को चेतावनी दी।

यदि मैंने संघर्ष पहचान को लागू करने का निर्णय लिया है, तो यह देखते हुए कि मैं पूरे नेटवर्क स्टैक को नियंत्रित करता हूं, तो शायद मैं अत्यधिक अज्ञात या गायब पैकेट को देखता हूं, और फिर मैक पते में बदलाव को ट्रिगर करता हूं या जब होता है तो उपयोगकर्ता को चेतावनी देता है ।

उम्मीद है कि कहीं और किसी और की मदद करेगा - लेकिन शायद नहीं!