2010-07-29 5 views
5

प्राप्त करने के बाद एआरपी कैश अपडेट नहीं होगा मुझे स्थानीय नेटवर्क में मैक पता देखने की आवश्यकता है और मैं लिनक्स का उपयोग कर रहा हूं। मैं जो करता हूं वह libnet के साथ एक एआरपी अनुरोध भेजता है, लेकिन 3 अनुरोध भेजने के बाद, कैश अभी भी अपडेट नहीं होगा। मैं पैकेट को पकड़ने के लिए वायरशर्क का उपयोग करता हूं। वायरसहार्क से, मुझे अपने प्रत्येक एआरपी अनुरोध के बाद 3 एआरपी प्रतिलिपि मिल गईं। क्या कोई जानता है कि एआरपी कैश कैसे अपडेट नहीं होगा?एआरपी अनुरोध भेजने के लिए libnet का उपयोग कर, लेकिन एआरपी उत्तर

उत्तर

4

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

आप इस डिफ़ॉल्ट को /proc/sys/net/ipv4/conf/*/arp_accept (या तो प्रति डिवाइस आधार पर या सभी उपकरणों में) में बदल सकते हैं।

+0

त्वरित उत्तर के लिए धन्यवाद !!! अब मैं देखता हूॅं। फिर भी, क्या इसे बदलने के लिए एक और तरीका है तो बदलना/proc/sys/net/ipv4/conf/*/arp_accept? ioctl द्वारा? – Aitjcize

+0

आपको दूसरी तरफ क्यों चाहिए? उस तरह से क्या गलत है? आप * के बजाय "सभी" का उपयोग कर सकते हैं यदि आप नहीं जानते कि इसे किस इंटरफेस पर सेट करना है। – camh

+0

@Aitjcize: '/ proc/sys /' sysctl के लिए एक इंटरफेस है, हालांकि यह लिनक्स पर * पसंदीदा * इंटरफ़ेस है। आप इसे सरल रूप से 'fopen() के साथ प्रोग्रामेटिक रूप से बदल सकते हैं; fprintf(); fclose(); 'अनुक्रम। – caf

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

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