हर कोई इसे RFC, IP क्लासेस, और इस तरह से अधिक जटिल कर रहा है। केवल यह देखने के लिए कुछ परीक्षण चलाएं कि ping
कमांड उपयोगकर्ता द्वारा आईपी इनपुट को कैसे पार करता है (एक्स्ट्रसियस चॉफ हटाया गया):
> ping 1
Pinging 0.0.0.1 with 32 bytes of data:
> ping 1.2
Pinging 1.0.0.2 with 32 bytes of data:
> ping 1.2.3
Pinging 1.2.0.3 with 32 bytes of data:
> ping 1.2.3.4
Pinging 1.2.3.4 with 32 bytes of data:
> ping 1.2.3.4.5
Ping request could not find host 1.2.3.4.5. Please check the name and try again.
> ping 255
Pinging 0.0.0.255 with 32 bytes of data:
> ping 256
Pinging 0.0.1.0 with 32 bytes of data:
जैसा कि आप देख सकते हैं, ping
कमांड (विंडोज में) आपको अलग-अलग आईपी एड्रेस फॉर्मेट का उपयोग करने की अनुमति देता है। एक IPv4 एड्रेस चार भागों ( "डॉटेड-ट्रैक्टर") के रूप में तो में टूट जा सकता है: A.B.C.D
, और ping
आदेश की एक डिफ़ॉल्ट में भरने के लिए, आपको कुछ बाहर छोड़ने के लिए अनुमति देता है 0
इस प्रकार है:
1 part (ping A) : 0.0.0.A
2 parts (ping A.B) : A.0.0.B
3 parts (ping A.B.C) : A.B.0.C
4 parts (ping A.B.C.D) : A.B.C.D
यदि आप केवल एक ही भाग की आपूर्ति करते हैं, तो यदि यह 255 (एक ऑक्टेट के लिए अधिकतम) से कम है, तो इसे ऊपर के ऑक्टेट की तरह माना जाता है, लेकिन यदि यह 255 से अधिक है, तो इसे परिवर्तित करके अगले क्षेत्र में ले जाया जाता है। (यानी, mod 256
)।
कुछ किनारे मामले हैं जैसे चार से अधिक भागों को काम करने के लिए नहीं लगता है (उदाहरण के लिए, पिंगिंग google.com
का आईपी 0.74.125.226.4
या तो काम नहीं करेगा 74.125.226.4.0
)।
आप डॉटेड-क्वाड और फ्लैट दोनों रूपों में हेक्साडेसिमल नोटेशन का उपयोग कर सकते हैं, लेकिन 0x
प्रत्येक ऑक्टेट को पूर्व-लंबित द्वारा इसे प्रारूपित करना होगा ।
तो, (आईपीवी 4) आईपी पते का प्रतिनिधित्व करने के बहुत सारे तरीके हैं। आप फ्लैट या डॉटेड-क्वाड (या डॉटेड-ट्रिपल, डॉटेड-डबल, या यहां तक कि डॉटेड-सिंगल) प्रारूप का उपयोग कर सकते हैं, और प्रत्येक के लिए, आप दशमलव, ऑक्टल और हेक्साडिमल का उपयोग (या मिक्स एंड मैच) कर सकते हैं। उदाहरण के लिए, आप google.com
निम्न तरीकों से पिंग कर सकते हैं:
google.com
(डोमेन नाम)
74.125.226.4
(बिंदीदार दशमलव)
1249763844
(फ्लैट दशमलव)
0112.0175.0342.0004
(बिंदीदार अष्टदल)
011237361004
(फ्लैट ऑक्टल)
0x4A.0x7D.0xE2.0x04
(बिंदीदार हेक्स)
0x4A7DE204
(फ्लैट हेक्स)
74.0175.0xe2.4
(ಠ_ಠ)
(धन्यवाद कि बाइनरी नोटेशन समर्थन जोड़ा नहीं गया था!)
आवेदन :
आपके मामले में, पिंगिंग 192.168.072
उपरोक्त तालिका में तीसरे प्रारूप का उपयोग करता है ( A.B.0.C
), इसलिए आप वास्तव में पिंग कर रहे हैं 192.168.0.072
। आगे, क्योंकि आपके पास पिछले भाग पर एक अग्रणी शून्य है, इसे अष्टक के रूप में माना जाता है, जो दशमलव में 58 है।
रहस्य सुलझ गया।
ध्यान दें, जबकि विंडोज ping
कमांड इनपुट के लिए इस तरह के विभिन्न प्रकारों के लिए अनुमति देता है और देखे गए तरीकों में गैर-मानक प्रारूपों की व्याख्या करता है, इसका मतलब यह नहीं है कि आप हर जगह ऐसे प्रारूपों का उपयोग कर सकते हैं। कुछ कार्यक्रम आपको डॉटेड-क्वाड के सभी चार भागों को प्रदान करने के लिए बाध्य कर सकते हैं, अन्य लोग दशमलव और ऑक्टल को मिश्रण और मिलान करने की अनुमति नहीं दे सकते हैं, और इसी तरह।
इसके अलावा, IPv6 पते पार्सिंग लॉजिक और इनपुट प्रारूप स्वीकार्यता को और जटिल करते हैं।
परिशिष्ट :
syss ने बताया कि यदि आप संख्याओं में से किसी एक में एक अमान्य वर्ण का उपयोग करते हैं (जैसे, 8
या 9
जब अष्टक का उपयोग करते हुए, g
हेक्स-मोड, आदि में) तो ping
उसे पहचानने और एक स्ट्रिंग (-al) के रूप में व्याख्या करने के लिए पर्याप्त स्मार्ट है? -ic?) URL एक नंबर IP पते के बजाय।
(जैसा कि कई अनियिरिज्म और दिल का दौरा पड़ने वाला व्यक्ति है, जो डेटा मानों के क्रमपरिवर्तन के विस्फोट की संख्या को समायोजित करने के लिए कथित तौर पर "सरल" कोड लिखने की कोशिश कर रहा है, मैं इस बात की सराहना करता हूं कि - यह इनपुट बदलावों के सभी को सही ढंग से संसाधित करता है; मामला, कम से कम 3 1 +3 2 +3 3 +3 4 = 120 रूपांतर।)
इसलिए, यह निर्दिष्ट करते हुए कि उम्मीद के 010.020.030.040
मुताबिक पिंग 8.16.24.32
किया जाएगा, पासिंग 010.020.030.080
को ping
एक आईपी पते के बजाय एक यूआरएल की तरह माना जाएगा - जैसे foo.bar.baz.com
कि (लेकिन दुख की बात नहीं है) मौजूद हो सकता है। दूसरे शब्दों में, यह उप डोमेन पिंग करने की कोशिश करता है 010
उप डोमेन पर 020
डोमेन पर 030
शीर्ष स्तर के डोमेन पर 080
। हालांकि, बाद से 080
एक वैध टीएलडी नहीं है (जैसे .com
, .net
, और उनके साथी), कनेक्शन सही दिशा में पहला कदम पर विफल रहता है।
एक ही बात होती है 090.010.010.010
जहां अमान्य चरित्र एक अलग ऑक्टेट में है। इसी तरह 0xf.0xf.0xf.0xf
पिंग करता है 15.15.15.15
, लेकिन 0xh1.0x1.0xg0.0f
असफल रहता है।
ओह ठीक है, मुझे लगता है कि आपको कई नंबर-बेस में धाराप्रवाह नहीं होने के लिए क्या मिलता है।
यह शायद आसान है और सुरक्षित है कि हमेशा 4-डॉटेड-क्वाड ("40q"? "क्वाड-क्वाड"? "प्यारा-क्यू"?) पतों का उपयोग करना सुनिश्चित करें।
इसलिए आगे बढ़ें और कुछ संख्याओं को जानें । आप पार्टियों में शामिल हो सकते हैं और अपना जीवन दिखा सकते हैं, और जैसा कि वे कहते हैं, 10 प्रकार के लोग हैं: वे जो द्विआधारी जानते हैं और जो नहीं जानते हैं।
आइए IPv6 पतों के बारे में भी न सोचें ; मुझे लगता है कि वे 111 मुहरों में से एक हैं !!!