सवाल आईपी ​​पते का अजीब डॉटलेस दशमलव नोटेशन ... यह कैसे काम करता है?


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

714687644714805209715128610715964400 (सामने एक HTTP: // छड़ी)

यह कैसे काम करता है? सभी दशमलव -> आईपीवी 4 कनवर्टर्स जिन्हें मैंने इंटरनेट पर पाया है, वे सभी इसे एक अमान्य इनपुट मानते हैं। अगर मैं आईपीवी 4 पता लेता हूं जो वास्तव में लोड होता है, और इसे समान गणना करने के लिए इसे डॉटलेस दशमलव में परिवर्तित करने के लिए करता है, तो मुझे बहुत कम संख्या मिलती है।

मैंने इसे पढ़ लिया है पिंग पासवर्ड स्वीकार कर सकते हैं और कुछ रूपांतरण कर सकते हैं, लेकिन यह इस नंबर को आईपी पते में परिवर्तित नहीं कर सकता है। आईपीवी 6 सवाल से बाहर है क्योंकि इस होस्ट में आईपीवी 6 कनेक्टिविटी नहीं है।

यह किस प्रकार की पागलपन है? यह खुद और मेरे सहकर्मियों को फंस गया है।

संपादित करें: यह अब ऑनलाइन वापस आ गया है।


88
2018-04-02 01:38


मूल


देख pc-help.org/obscure.htm - Shamtam
क्या आप वास्तव में यकीन है कि यह एक आईपीवी 6 पता नहीं है? चूंकि यह संख्या आधार 65536 में 8 अंकों तक टूट जाती है; आईपीवी 6 पते में 65536 आधार पर 8 अंक हैं। आईपीवी 6 के लिए सामान्य रूप से हेक्स में प्रतिनिधित्व किया गया है, यह 89 है: ए 4 डी 2: 471 बी: 45 एफ: 77 ए: सी 70 एफ: दा 35: 9 3 एफ 0। - Christian
@ क्रिस्टियन संख्या संख्याओं के स्रोत के लिए उनके स्पष्टीकरण दिखाए गए वास्तविक संख्या के साथ, जिसमें 36 अंक हैं (प्रत्येक आईडी 9 अंकों या तो 714xxxxxx या 715xxxxxx है)। कंप्यूटर में आईपीवी 6 भी नहीं है, और आईपीवी 4 एड्रेस के रूप में ली गई संख्या वास्तव में एक वेब पेज लौटाती है। ~ 5E33 से ~ 3E38 की संख्या 65536 के आधार पर 8 अंक हैं, मुझे लगता है कि यह सिर्फ एक संयोग है कि उस सीमा में उनकी गिरती है (साथ ही, कोई भी छोटी संख्या वैध आईपीवी 6 पता भी होगी) - Tim S.
@beeks ठीक है, जब मैंने कल कोशिश की तो यह पहले से ही काम नहीं कर रहा था, लेकिन यह देखते हुए कि यह एक असुरक्षित राउटर था, शायद यह आश्चर्यजनक नहीं है। तो क्या आप कह रहे हैं कि आप मूल रूप से अपने पता बार में यादृच्छिक संख्या डालते हैं? या आपके पास ऐसी किस प्रकार की स्प्रेडशीट है जिसमें असुरक्षित राउटर के अजीब कोडित आईपी पते शामिल हैं? ;) - Christian
@ क्रिस्टियन, एलओएल। वे एक अनुपालन प्रणाली में कुछ अद्वितीय संदेश पहचानकर्ता थे। पूरी तरह से अजीब मौका है कि मैंने उन्हें पता बार में चिपकाया, और यह काम किया। मैं शर्त लगाता हूं कि मेरे जीवन में कभी मेरे साथ कभी नहीं होगा :) - beeks


जवाब:


यह काफी दिलचस्प सवाल है, और मुझे पता लगाने में थोड़ी देर लग गई। संक्षिप्त जवाब संख्या के आखिरी 32-बिट हैं 3660944368 (दशमलव में, जो द्वारा पाया जा सकता है 714687644714805209715128610715964400 mod 2^32)

यह आईपीवी 4 पते का दशमलव मान है 218.53.147.240, जिसे आधार -256 में परिवर्तित करके पाया जा सकता है 3660944368 = 218*(256^3)+53*(256^2)+147*(256)+240 दशमलव में एक संख्या लिखने के समान (बेस -10)। उदाहरण के लिए 234 = 2*10^2+ 3*10 + 4

जैसा कि @ क्रिटोहाइड इंगित करता है, बिंदीदार आईपीवी 4 पते के प्रत्येक खंड को ऑक्टेट कहा जाता है क्योंकि यह 8 बाइनरी अंकों का प्रतिनिधित्व करता है। यह ध्यान देने योग्य भी है कि आईपीवी 4 पते (जैसे बिंदीदार दशमलव, या शुद्ध दशमलव) के विभिन्न प्रारूप आउट लाभ के लिए 32-बिट बाइनरी संख्या का प्रतिनिधित्व करने के विभिन्न तरीके हैं।

चूंकि आईपीवी 4 पते 32-बिट संख्याएं हैं, इसलिए पते को हल करने के लिए संख्या के केवल 32-बिट्स का उपयोग किया जाता है। यह सच क्यों नहीं है उतना स्पष्ट है। जैसा कि अन्य ने इंगित किया है, पूर्ण संख्या दशमलव में एक आईपीवी 6 पता समान रूप से दिखती है, लेकिन यह मान्य पता नहीं है।

उसे देख रहा हूँ टेरेडो विनिर्देश (देख 4. टेरेडो पते), क्लाइंट आईपीवी 4 आईपीवी 6 पते के अंतिम 32-बिट्स पर कब्जा करता है, लेकिन संख्या का उपसर्ग टेरेडो विनिर्देश से मेल नहीं खाता है (यह भी देखें विकिपीडिया)।


93
2018-04-02 05:37



अच्छा उत्तर। यह उल्लेख करने में भी उपयोगी हो सकता है कि बिंदीदार आईपीवी 4 पते के प्रत्येक खंड को एक कहा जाता है ओकटेट क्योंकि यह 8 बिट बाइनरी संख्या का दशमलव प्रतिनिधित्व है (4 ऑक्टेट्स = 4 x 8 बिट्स = 32 बिट्स आईपीवी 4 एड्रेस) और यह कि दशमलव संस्करण वास्तव में केवल हमारे लाभ के लिए है। - chritohnide
आप सुनिश्चित हैं कि यह आईपीवी 6 दशमलव नोटेशन नहीं है? यह सफलतापूर्वक बदल जाता है 0089:a4d2:471b:45ef:77ed:c70f:da35:93f0 - Izkata
@Izkata: असंभव है क्योंकि वह पता IPv6 पता स्थान के एक आवंटित और आरक्षित हिस्से में होगा। - Henning Makholm
संख्या (ASCII में) शायद 32-बिट ipv4 पते में कनवर्ट करने के लिए int कार्यों के लिए सी stdlib स्ट्रिंग में से एक के माध्यम से चलाया जाएगा। सी stdlib के अधिकांश कार्यान्वयन में उन रूपांतरण स्वचालित रूप से एक मॉड्यूलो 2 ^ <वांछित पूर्णांक आकार> करेंगे। उस मामले में परिणाम वास्तव में व्यवहार देखा जाना है। - Tonny
यह ध्यान देने योग्य है कि यह शायद फ़ायरफ़ॉक्स के यूआरएल पार्सर का एक कर्कश है। ऐसा लगता है कि यह एक यूआरएल की बजाय एक संख्या है और इसे 32-बिट अवांछित आईपी पते के रूप में पार्स करने का प्रयास है (परिणामी पार्स किए गए पूर्णांक मॉड्यूल 32-बिट को समाप्त करता है और यह वास्तव में इनपुट पर कोई त्रुटि जांच नहीं करता है )। क्रोम, उदाहरण के लिए, यह व्यवहार नहीं दिखाता है। यह वास्तव में फ़ायरफ़ॉक्स में एक छोटी सी बग के रूप में रिपोर्टिंग लायक हो सकता है। - Jason C