सवाल आईपी ​​पता 0.0.0.0 और 127.0.0.1 के बीच क्या अंतर है?


मुझे पता है कि 127.0.0.1 ~ 127.255.255.254 अधिकांश आधुनिक ऑपरेटिंग सिस्टम के लिए लूपबैक आईपी पते हैं, और इन आईपी पते का उपयोग हमारे अपने कंप्यूटर के संदर्भ में किया जा सकता है।

लेकिन 0.0.0.0 क्या है? ऐसा लगता है कि यह स्थानीय कंप्यूटर को भी संदर्भित करता है, तो क्या है अंतर?

और, क्या आप मेरे लिए निम्नलिखित आईपी कनेक्शन समझा सकते हैं:

screenshot of netstat -an output


207
2017-10-25 07:22


मूल


इस प्रश्न पर भी एक नज़र डालें, क्योंकि यह बताता है कि 0.0.0.0 क्या है (और नहीं): serverfault.com/questions/228629/... - Ellie Kesselman
एक आधुनिक ऑपरेटिंग सिस्टम का उपयोग किया जाएगा ::1 लूपबैक पता के रूप में। - kasperd


जवाब:


एकमात्र चीज यह है कि आप यह नहीं कह रहे हैं कि "सभी पतों तक पहुंच होनी चाहिए" - यह आपके फ़ायरवॉल और / या सर्वर सॉफ़्टवेयर और / या अन्य सुरक्षा परतों जैसे टीसीपीवापर में किया जाता है।

0.0.0.0, इस संदर्भ में, "स्थानीय मशीन पर सभी आईपी पते" का अर्थ है (वास्तव में, "स्थानीय मशीन पर सभी आईपीवी 4 पते")। इसलिए, यदि आपकी वेबसर्वर मशीन में दो आईपी पते हैं, तो 1 9 2.168.1.1 और 10.1.2.1, और आप 0.0.0.0 को सुनने के लिए अपाचे जैसे वेबसर्वर डिमन की अनुमति देते हैं, तो यह उन दोनों आईपी पते पर पहुंच योग्य होगा। लेकिन केवल उन आईपी पते और वेब पोर्ट से संपर्क करने के लिए क्या कर सकते हैं।

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


143
2017-10-25 08:55



तो आप का मतलब है कि Webverver की सॉकेट किसी भी उपलब्ध पतों से बंधी है जब यह 0.0.0.0 पर सुनती है? - onmyway133
0.0.0.0 डिफ़ॉल्ट मार्ग का मतलब है केवल अगर यह उपसर्ग के साथ है /0 (या नेटमास्क 0.0.0.0) - minmaxavg
ध्यान देने योग्य: यदि कुछ प्रक्रिया 0.0.0.0 पर सुनती है, तो यह सभी मशीन के नेटवर्क इंटरफेस के आईपी एड्रेस पर पहुंच योग्य होगी जिसमें लूप बैक इंटरफ़ेस का वर्तमान कॉन्फ़िगर किया गया पता शामिल है। लेकिन अगर प्रक्रिया केवल लूपबैक पते के पोर्ट <portNumber> पर सुनती है, उदा। 127.0.0.1, और फिर प्रक्रिया केवल पहुंच योग्य है एक ही मशीन से द्वारा बिल्कुल 127.0.0.1 लक्ष्यीकरण: <portNumber>। प्रयत्न इस पायथन उपकरण  खेलने के लिए! - Gab是好人


जब 0.0.0.0 पर कोई सेवा सुन रही है तो इसका मतलब यह है कि 127.0.0.1 को सुनते समय सेवा सभी कॉन्फ़िगर किए गए नेटवर्क इंटरफेस पर सुन रही है, यह सेवा केवल लूपबैक इंटरफ़ेस से जुड़ी है (केवल स्थानीय मशीन पर उपलब्ध है)


75
2017-10-25 07:33





आईपी ​​पता 0.0.0.0 इसका उपयोग करने के आधार पर बहुत अलग अर्थ हो सकते हैं।

  • यह 0.0.0.0/8 सबनेट में किसी भी अन्य पते के साथ वास्तविक नेटवर्क इंटरफ़ेस को दिया जाने वाला एक मान्य पता नहीं है (यानी किसी भी पते से शुरू हो रहा है 0.)।
  • इसे किसी भी आईपी पैकेट पर स्रोत पते के रूप में उपयोग नहीं किया जा सकता है, जब तक कि ऐसा तब न हो जब कंप्यूटर अभी भी अपना स्वयं का आईपी पता नहीं जानता है और यह एक (क्लासिक उदाहरण: डीएचसीपी) हासिल करने की कोशिश कर रहा है।
  • यदि रूटिंग तालिका में उपयोग किया जाता है, तो यह डिफ़ॉल्ट गेटवे की पहचान करता है; 0.0.0.0 का मार्ग डिफ़ॉल्ट है, यानी जब कोई गंतव्य पता के लिए कोई और विशिष्ट मार्ग उपलब्ध नहीं होता है।
  • आखिरकार, जब के उत्पादन में देखा गया netstat कमांड (जो आपने पूछा है), इसका मतलब है कि दिए गए सॉकेट कंप्यूटर के सभी उपलब्ध आईपी पतों पर सुन रहा है; जब एक कंप्यूटर में एक से अधिक आईपी पते होते हैं, तो एक सॉकेट केवल एक विशिष्ट पते और पोर्ट जोड़ी, या एक बंदरगाह के लिए बाध्य किया जा सकता है और सब पतों; यदि आप वहां एक आईपी पता देखते हैं, तो इसका मतलब है कि सॉकेट केवल उस बंदरगाह पर और उस विशिष्ट पते पर सुन रहा है; अगर आप देखें 0.0.0.0, इसका मतलब है कि यह उस बंदरगाह पर सुन रहा है सब मशीन के पते, लूपबैक एक सहित (127.0.0.1)।

38
2017-08-12 06:45



यदि आप 0.0.0.0 कर्ल करते हैं तो इसका क्या अर्थ है? क्या कर्ल वास्तव में उपलब्ध इंटरफेस के माध्यम से एक अनुरोध भेज रहा है और भेज रहा है? यह कैसे पता चलता है कि कौन सा इंटरफ़ेस सही है? मैं समझता हूं कि एक सर्वर सभी इंटरफेस पर कैसे सुन सकता है, लेकिन क्लाइंट के लिए सभी इंटरफेस का अनुरोध करने के लिए तंत्र क्या है जैसे कि जब मैं कर्ल 0.0.0.0 या कर्ल [::] करता हूं। - CMCDragonkai
ओएस आपको ऐसा करने से रोक देगा, क्योंकि यह नेटवर्किंग परिप्रेक्ष्य से ही समझ में नहीं आता है। की कोशिश कर रहा है ping 0.0.0.0 एक विंडोज सिस्टम पर एक त्रुटि संदेश में परिणाम। - Massimo
curl 0.0.0.0 पैदावार connection refusedआर्क लिनक्स पर। ping 0.0.0.0दूसरी ओर, के लिए एक उपनाम लगता है ping 127.0.0.1 जो ठीक काम करता है। - Matthias Braun
@ माथियासब्राउन द connection refused हो सकता है क्योंकि डिफ़ॉल्ट रूप से कर्ल पोर्ट 80 / टीसीपी से कनेक्ट करने का प्रयास करें। अपने खुले बंदरगाहों को खोजने का प्रयास करें nmap -sV localhost और फिर उदाहरण के लिए यदि 631 / टीसीपी: curl 0.0.0.0:631। - Pablo Bianchi


ली बी का जवाब सही है, लेकिन यदि आप रुचि रखते हैं तो यहां कुछ प्रासंगिक आरएफसी हैं।

0.0.0.0:

से RFC1122, खंड 3.1.2.3:

अब हम कक्षा ए, बी के लिए महत्वपूर्ण विशेष मामलों का सारांश देते हैं,               और आईपी पते, आईपी के लिए निम्नलिखित नोटेशन का उपयोग कर               पता:

            { <Network-number>, <Host-number> }

        or
            { <Network-number>, <Subnet-number>, <Host-number> }

...

          (a)  { 0, 0 }

             This host on this network.  MUST NOT be sent, except as
             a source address as part of an initialization procedure
             by which the host learns its own IP address.

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

127.0.0.1:

से RFC5735:

127.0.0.0/8 - यह ब्लॉक इंटरनेट होस्ट लूपबैक पता के रूप में उपयोग के लिए असाइन किया गया है। इस ब्लॉक के भीतर कहीं भी एक पते पर एक उच्च स्तरीय प्रोटोकॉल द्वारा भेजा गया एक डेटाग्राम मेजबान के अंदर वापस लूप्स। यह आमतौर पर लूपबैक के लिए केवल 127.0.0.1/32 का उपयोग करके कार्यान्वित किया जाता है। जैसा कि [आरएफसी 1122] में वर्णित है, खंड 3.2.1.3, पूरे 127.0.0.0/8 ब्लॉक के भीतर पते किसी भी नेटवर्क पर वैध रूप से प्रकट नहीं होते हैं।

0.0.0.0 और लूपबैक पता 127.0.0.1 के बीच का अंतर यह है कि लूपबैक पता मेजबान के भीतर पूरी तरह से काम कर रहे आईपी इंटरफ़ेस को अनुमति देने के लिए डिज़ाइन किया गया है, भले ही नेटवर्किंग सेटअप शेष, यदि कोई हो, जैसा दिखता है। लूपबैक डिवाइस पर भेजा गया कोई भी ट्रैफिक तुरंत प्राप्त होता है। यह इतना नहीं है कि लूपबैक नेटवर्क आपके स्वयं के मेजबान को "संदर्भित करता है" ... ऐसा लगता है कि आपके होस्ट में मिनी नेटवर्क सेगमेंट है जो डिवाइस, प्रोसेस और सॉकेट और खोल सकता है और कनेक्ट हो सकता है।


26
2017-08-12 06:20





सरल शब्दों में: 0.0.0.0 को सुनना मतलब है कि कहीं भी इस कंप्यूटर से नेटवर्क तक पहुंच है, उदाहरण के लिए, स्थानीय नेटवर्क से या इंटरनेट से, इस कंप्यूटर से, 127.0.0.1 को सुनते समय, केवल इस कंप्यूटर से सुनना है


3
2017-12-28 10:28