Http के साथ और बिना पिंग के बीच अंतर: //


46

मैं अपनी वेबसाइट को पिंग करने की कोशिश कर रहा हूं http://www.example.com/और यह एक अज्ञात आईपी पते और टाइम आउट का समाधान करता है।

PING http://www.example.com/ (198.105.254.228): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2

लेकिन जब मैं example.comयह काम करता है

यह क्या है कि मैं यहाँ याद कर रहा हूँ?


32
यहाँ भ्रामक यह है कि पिंग को होस्टनाम के रूप में भी हल करने में सक्षम नहीं होना चाहिए, बहुत कम भेजने में विफल आईसीएमपी पैकेट। आप किस ओएस / संस्करण पर हैं?
शराबी

11
मैं माफी माँगता हूँ, लेकिन मैंने कारणों के संयोजन के कारण इसे नीचे वोट किया - एक प्रश्न के साथ नया उपयोगकर्ता जिसमें पिंग से स्पष्ट रूप से गलत आउटपुट के साथ उनकी वेबसाइट पर एक URL होता है। सभी अधिकारों द्वारा, यह URL पर ट्रैफ़िक चलाने का एक प्रयास है। जब तक हम यह पता नहीं लगा सकते हैं कि किस ऑपरेटिंग सिस्टम में पिंग का एक संस्करण है 1) जानता है कि एक URL क्या है, और 2) प्रत्येक बार के लिए icmp_seq नंबर की पहचान करता है।
डॉन बेंटन


25
लोग हैं, जो downvoted क्योंकि वे DNS सेवाओं कि विफल लुकअप अपहरण देखते हैं पता नहीं था करने के लिए, पता नहीं था pingऔर getaddrinfo()और दोस्तों स्लैश के माध्यम से पारित, नहीं पता था कि 56 data bytesएक आम डिफ़ॉल्ट, आदि .: कृपया निशानी के रूप में ले रहा है मदद करने की कोशिश करने से पहले चीजों के बारे में जानने के आपके प्रयासों की सराहना की जाएगी।
रसलिस

5
@ Resultsc areιᴇ007 पिंग परिणाम वास्तविक हैं, मैं ठीक उसी समय देखता हूं जब मैं ओएस एक्स पर टाइमवर्नर केबल डीएनएस के साथ एक अवैध होस्टनाम पिंग करता हूं।
हंटर डोलन

जवाबों:


108

मैं अपनी वेबसाइट http://www.example.com/ को पिंग करने का प्रयास कर रहा हूं और यह एक अज्ञात आईपी पते और टाइम आउट का समाधान करता है।

PING http://www.example.com/ (198.105.254.228): 56 data bytes
Request timeout for icmp_seq 0

पिंग करने का तर्क एक होस्टनाम (या आईपी पता) है।

तो निम्नलिखित सभी काम करेंगे:

ping example.com
ping www.example.com
ping 127.0.0.1

दूसरी ओर,

ping http://www.example.com/

http://www.example.com/ के रूप में काम नहीं करेगा एक HTTP यूनिफ़ॉर्म रिसोर्स लोकेटर (URL) एक मान्य होस्टनाम नहीं है (हालांकि इसका एक हिस्सा एक होस्टनाम है)।

एक HTTP URL 4 भागों से बना है:

  • योजना - हमेशा मौजूद
  • होस्टनाम - हमेशा मौजूद
  • पथ या स्टेम - हमेशा मौजूद होता है लेकिन कभी-कभी अशक्त होता है
  • पैरामीटर - वैकल्पिक

पिंग आमतौर पर मान्य गंतव्य होस्टनाम के रूप में URL को नहीं पहचानता।

नोट :

  • सभी URL में ऊपर उल्लेखित प्रारूप नहीं है।

  • एक पूर्ण URL में एक नामकरण स्कीम निर्दिष्ट होती है, जिसके बाद एक स्ट्रिंग होती है, जिसका प्रारूप नामकरण योजना का कार्य होता है।

  • URL का प्रारूप IETF विनिर्देशन यूनिफ़ॉर्म रिसोर्स लोकेटर (URL) में परिभाषित किया गया है


डीएनएस अपहरण

ऊपर का अपवाद तब हो सकता है यदि DNS सर्वर (जो आईपी पते पर होस्टनाम का समाधान करता है) एक वैध आईपी पते को वापस करने के लिए कॉन्फ़िगर किया गया है, भले ही एक अवैध होस्टनाम की आपूर्ति की गई हो।

ऐसा तब हो सकता है जब कोई ISP आपके DNS प्रश्नों को हाईजैक कर रहा हो।

उत्तर से, मैं किसी भी प्रकार के यादृच्छिक होस्टनाम के लिए IP 198.105.254.228 पर हल क्यों कर रहा हूं? माइकल हैम्पटन द्वारा :

वे खोज परिणामों और विज्ञापन प्रदान करने वाली एक सफेद लेबल सेवा के लिए बिना डोमेन के अनुरोधों को पुनर्निर्देशित करके "मददगार" बनने की कोशिश कर रहे हैं , जिसमें से सभी को राजस्व का एक हिस्सा मिलता है।

सौभाग्य से उनके पास एक प्राथमिकताएं पृष्ठ हैं जहां आप इसे बंद कर सकते हैं।


33

जब आप पिंग कमांड को एक स्ट्रिंग के साथ चलाते हैं जो कि IP पता नहीं है, तो पहले आपको उस होस्ट के IP पते को हल करने की आवश्यकता है जिसे आप पिंग करने का प्रयास कर रहे हैं।

जब आप चलते हैं:

$ ping example.com

DNS सर्वर वेबसाइट को होस्ट करने वाले सर्वर का आईपी पता लौटाता है।

हालाँकि जब आप प्रोटोकॉल और उपसर्ग को बनाते हैं, तो एक मानक http URL बनाने के लिए, जो सभी DNS सर्वर को हल करने के लिए भेजा जाता है।

इसलिए DNS सर्वर के बजाय रिकॉर्ड खोजने के लिए example.comयह रिकॉर्ड के लिए दिखता है http://example.com/जो एक मान्य होस्टनाम नहीं है।

बहुत सारे डीएनएस सर्वर कुछ भी नहीं के साथ वापस आ जाएंगे। उस स्थिति में पिंग कमांड केवल DNS रिज़ॉल्यूशन त्रुटि के साथ त्रुटि करेगा।

हालाँकि आपका DNS सर्वर IP एड्रेस लौटाता है 123.456.789.000। यह पता टाइम वार्नर केबल द्वारा एक सुझाव सेवा के रूप में प्रकट होता है जो उन उपयोगकर्ताओं की मदद करने के लिए है जिन्होंने अपने ब्राउज़र में url को गलत किया था।

लेकिन पिंग कमांड इसे शाब्दिक रूप से लेता है और मानता है कि होस्टनाम http://example.com/(जो एक मान्य होस्टनाम नहीं है) पते को हल करता है 123.456.789.000

कारण है कि पिंग कमांड समय के बाद बाहर है क्योंकि 123.456.789.000ICMP अनुरोधों का जवाब नहीं है।


5
यह इंगित करने के लायक है कि समुदाय बॉट द्वारा वास्तविक डोमेन / आईपी को संपादित किया गया था। "123.456.789.000" मूल रूप से आईपी पता था जिसे TWC के डीएनएस ने बाहर फेंक दिया था जब आपने एक गैर-मौजूद होस्टनाम को हल करने का प्रयास किया था।
हंटर डोलन

1
बॉट को पता नहीं है कि स्वचालित संपादन कैसे किया जाता है; मैं कहूंगा कि यह एक संपादन है जो एक अनाम उपयोगकर्ता द्वारा सुझाया गया था।
लेओ लम

संपादन एक अनाम उपयोगकर्ता द्वारा प्रस्तावित किया गया था और खुद और एक अन्य उपयोगकर्ता द्वारा अनुमोदित किया गया था।
डेविडपोस्टिल

21

Http: // का अर्थ है हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल, वेब पेजों तक पहुंचने के लिए इस्तेमाल किया जाने वाला प्रोटोकॉल। किसी सर्वर को पिंग करना HTTP का उपयोग नहीं करता है, लेकिन इसके बजाय एक ICMP (इंटरनेट कंट्रोल मैसेज प्रोटोकॉल) संदेश होता है, इसलिए http: // इस संदर्भ में कोई मतलब नहीं रखता है।


मैं कहता हूं कि यह किसी ऐसे व्यक्ति के लिए स्पष्ट नहीं है जो पहले से नहीं जानता है, लेकिन अब जब आप KJ4TIP के उत्तर से जानकारी जानते हैं, तो आउटपुट Request timeout for icmp_seq 0देखें : आप ICMP को देख सकते हैं, जिसका अर्थ है ICMP अनुक्रम 0, 1, 2 ...
टायलर कोलियर

0

आप वैसे भी 'पिंग' का उपयोग क्यों करेंगे। यदि 'पिंग' ट्रैफ़िक को रोकने के तरीके में फ़ायरवॉल है तो यह काम नहीं करेगा।

मेरी राय में अगर आपका वेब सर्वर परीक्षण करने जा रहा है, तो 'टेलनेट' का उपयोग करना बेहतर है, तो आप मेजबान और उस पोर्ट को सुन सकते हैं जिसका वह परीक्षण कर सकता है।

उदाहरण: खाली स्क्रीन पर अपने वेब सर्वर टेलनेट www.mywebserver.com 80 का परीक्षण करने के लिए , 'प्राप्त करें' और फिर 'दर्ज करें' टाइप करें और आपको वेब सर्वर से वापस http प्रतिक्रिया का ढेर मिलना चाहिए। ( उदाहरण: HTTP / 1.1 400 खराब अनुरोध ... )

यह मुझे बताता है कि न केवल सर्वर 'अप' है, बल्कि यह पोर्ट 80 पर भी सुन और जवाब दे रहा है। (मुझे अपने वेब सर्वर के माध्यम से पोर्ट 80 को जाने देने के लिए किसी भी फायरवॉल की उम्मीद है)

इसी तरह Similarly टेलनेट ’मेल सर्वर, एफटीपी और सिर्फ किसी भी चीज के परीक्षण के लिए काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.