/ / ICMP के साथ एड्रेस मास्क कैसे लाएं - linux, icmp

कैसे icmp के साथ पता मास्क लाने के लिए-linux, icmp

RFC 950, पृष्ठ 11:

एक गेटवे एक पता मुखौटा अनुरोध प्राप्त कर रहा हैके साथ इसे वापस करना चाहिए पता पहचानने के लिए बिट्स के 32-बिट मास्क पर सेट मुखौटा क्षेत्र सबनेट और नेटवर्क, सबनेट के लिए जिस पर अनुरोध प्राप्त हुआ था।

मैं एक होस्ट एड्रेस मास्क लाना चाहता हूं और स्थानीय गेटवे, और अन्य आईपी के लिए एक आईसीएमपी एड्रेस मास्क अनुरोध पैकेट बनाना चाहता हूं। मैं उपयोग करता हूं tcpdump -i eth0 icmp और ढूंढें ICMP address mask request पैकेट भेजा जा चुका है। लेकिन मुझे "कोई भी रिप्लेसमेंट नहीं मिला। क्या कुछ गलत है? मुख्य कोड है?"

 struct icmp        *picmp;

/* ICMP header */
picmp = (icmp_t *)send_buf;
picmp->icmp_type = ICMP_MASKREQ;    // Address Mask Request
picmp->icmp_code = 0;
picmp->icmp_id = pid;
picmp->icmp_seq = npkt++;

len = 12; // ICMP header length
picmp->icmp_cksum = 0;
picmp->icmp_cksum = in_cksum((u_short *)picmp, len);

sendto(sock_fd, send_buf, len, 0, pr->p_addr, pr->addr_len);

उत्तर:

जवाब के लिए 0 № 1

एड्रेस मास्क अप्रचलित है, क्योंकि इसका प्राथमिक कार्य (नेटवर्क कॉन्फ़िगरेशन के दौरान अपने स्थानीय नेटवर्क मास्क का पता लगाने वाले मेजबान) को डायनामिक कॉन्फ़िगरेशन कॉन्फ़िगरेशन () में रखा गया हैडीएचसीपी आरएफसी, विकिपीडिया)। यह संभवतः अधिकांश उपभोक्ता राउटरों पर लागू नहीं किया गया है। इसे आधिकारिक तौर पर हटा दिया गया है RFC 6918.

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