एक वेब ब्राउज़र को कैसे पता चलता है कि गंतव्य http या https है?


8

मैं वेब ट्रैफ़िक का विश्लेषण करने के लिए विंडसर का उपयोग करता हूं।

जब मैं अपना वेब ब्राउज़र खोलता हूं और पते में टाइप करता हूं: stackexchange.com, तो यह पहली बार DNS क्वेरी करता है, एक उत्तर प्राप्त करता है, और फिर पोर्ट 80 पर उचित आईपी पते पर एक टीसीपी सिंट पैकेट भेजता है।

लेकिन जब मैं www.paypal.com में टाइप करता हूं, तो यह वही करता है लेकिन टीसीपी सिन पैकेट को सीधे 443 पोर्ट पर भेज दिया जाता है।

DNS उत्तर में गंतव्य पोर्ट शामिल नहीं दिखता है, न ही मेरे ब्राउज़र और लक्ष्य साइट के बीच कोई प्रोटोकॉल बातचीत है। मेरा ब्राउज़र गंतव्य बंदरगाह को कैसे जानता है?

ध्यान दें कि मैं http://stackexchange.com या https://www.paypal.com टाइप नहीं करता , लेकिन केवल stackexchange.com और www.paypal.com।


ब्राउज़र्स कैसे काम करते हैं, इस बारे में प्रश्न यहां दिए गए विषय हैं। आप सुपर यूजर चाहते हैं ।
एले

यहाँ सवाल ऑफ-टॉपिक है लेकिन, आपको संकेत देने के लिए, DNS प्रोटोकॉल को परिभाषित नहीं करता है, इसलिए वहां न देखें।
शाहर

यह लगभग ऐसा लगता है जैसे paypal.com एक "विशेष मामला" है ?! आम तौर पर , यदि आप टाइप करते हैं www.example.com, तो ब्राउज़र पोर्ट 80 पर "http" का अनुरोध करेगा। यह तब आपको https (पोर्ट 443) पर पुनर्निर्देशित करने के लिए वेबसाइट पर निर्भर होगा, या अनुरोध को पूरी तरह से अस्वीकार कर देगा। हालांकि, पेपैल के साथ, सभी कैश स्पष्ट होने के बावजूद, "https" के लिए कोई पुनर्निर्देशन नहीं है जहाँ तक मैं देख सकता हूँ? ब्राउज़र टाइप किए गए अनुरोध को रद्द / परिवर्तित करने के लिए प्रकट होता है, इसलिए बहुत ही पहला अनुरोध "https" के लिए है! यह एक अच्छा सुरक्षा सुविधा होगा यदि यह वास्तव में क्या हो रहा है? क्रोम इंस्पेक्टर में परीक्षण किया गया।
MrWhite

दिलचस्प है कि मैं "http" को "https" के लिए www.paypal.comसफारी और फ़ायरफ़ॉक्स में रीडायरेक्ट करता हूं , लेकिन क्रोम या ओपेरा में नहीं। मेरे लिए ऐसा लगता है कि यह शायद इन ब्राउज़रों का एक विशेष "फीचर" है?
MrWhite

3
@ w3dk शायद वे HSTS scotthelme.co.uk/hsts-the-missing-link-in-tls
scipilot

जवाबों:


7

आपका ब्राउज़र साइट के साथ पिछले इंटरैक्शन से पोर्ट और प्रोटोकॉल को याद करता है।

पेपैल HTTP सख्त परिवहन सुरक्षा का उपयोग करता है। इसका मतलब है कि सर्वर ने (शायद पोर्ट 80 के माध्यम से) एक प्रतिक्रिया हेडर भेजा था, Strict-Transport-Security:max-age=63072000इससे पहले कि आप भी देखना शुरू कर दें। दिखाई गई आयु सेकंडों में है। इसलिए पोर्ट 80 पर जाने के बाद अगले दो वर्षों के लिए ब्राउज़र को फिर से पोर्ट 80 पर नहीं जाना होगा; इसे 443 पोर्ट पर जाना चाहिए। वास्तव में पोर्ट 443 की बाद की यात्राओं को एक ही निर्देश प्राप्त होगा, इसलिए यह उन लोगों के लिए अनिश्चित काल के लिए लागू होता है जो हर साल पेपैल का उपयोग करते हैं।

यह पिछली योजना पर एक सुधार है जहां 80 को पोर्ट करने के प्रत्येक अनुरोध को 443 को पोर्ट करने के लिए पुनर्निर्देशित किया गया था जो धीमा था। रीडायरेक्ट पर निर्भर होना भी कम सुरक्षित था क्योंकि ब्राउज़र को कोई आपत्ति नहीं होगी यदि पेपैल (या बल्कि एक MITM हमलावर पेपैल दे रहा है) अचानक HTTPS से HTTP में परिवर्तित हो जाता है, यदि रीडायरेक्ट का उपयोग किया जाता है। HTTP स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी के तहत, इस तरह के हमले से और भी बहुत कुछ ख़त्म हो जाएगा क्योंकि हमलावर को ब्राउज़र से बात करने के लिए HTTPS का उपयोग करने के लिए मजबूर किया जाएगा, लेकिन उनके पास पेपैल को जारी किए गए किसी भी HTTPS सर्वर प्रमाणपत्र तक पहुंच नहीं है।


जवाब के लिए धन्यवाद! यह देखते हुए, जहां तक ​​मुझे याद है, पिछली बार जब मैंने पेपाल का दौरा किया था, उस दिन के बारे में था जब मैंने शुरू में सवाल पूछा था, स्वचालित पुनर्निर्देशन समाप्त हो जाना चाहिए। हालाँकि, मैंने अभी प्रयोग वापस लिया और फिर से 443 को पोर्ट करने का अनुरोध तत्काल था। क्या मैं यह सत्यापित करने के लिए कुछ कर सकता हूं कि आपका उत्तर सही है (शायद ट्रैक ने हेडर को बचाया और इसे मेरे ब्राउज़र के इतिहास से मिटा दिया)? अगर यह प्रासंगिक है तो मैं विंडोज 7 के लिए फ़ायरफ़ॉक्स 49.0.2 का उपयोग कर रहा हूं।
19

@ अयादा - मैंने अपने उत्तर के लिए अनुसंधान करने के लिए क्रोम का उपयोग किया। बेझिझक ऐसा ही करें। उपकरण - अधिक उपकरण - डेवलपर उपकरण - नेटवर्क - एक अनुरोध चुनें - हेडर।
Jirka Hanika

@ अयाद उन लोगों में से एक हैं जिन्होंने HSTS का आविष्कार किया था जो कि पेपाल से है। मैं शर्त लगाता हूं कि वे इसे लंबे समय तक उपयोग करते हैं - यहां तक ​​कि पूर्व-मानक भी। कोई भी नहीं जानता कि पेपैल साइट एक्स द्वारा वर्षों पहले दिए गए प्रभावी अधिकतम-आयु मूल्य क्या था। यदि आप पर्याप्त देखभाल करते हैं तो आप इसे अपने ब्राउज़र के रिकॉर्ड से डिकोड कर सकते हैं। इसके अलावा, पूरे पेपल साइट की कोई भी यात्रा गिनती होगी, यहां तक ​​कि एक असंबंधित पृष्ठ पर एक विज्ञापन भी होगा।
21:15 बजे जिरका हनिका

2
समझ गया! मैंने इतिहास आइटम www.paypal.com के राइट-क्लिक संदर्भ मेनू के माध्यम से "इस साइट के बारे में भूल जाओ" पर क्लिक किया और फिर प्रयोग को वापस ले लिया (www.paypal.com के बिना http: // या https: // उपसर्ग पर जाएँ, Wireshark के साथ) सुन)। सबसे पहला अनुरोध HTTP का था। ऐसा लगता है कि आप सही हैं।
आद्या

0

ब्राउज़र आमतौर पर पहले HTTP की कोशिश करता है, फिर HTTPS पर रीडायरेक्ट हो जाता है। यह सामान्य मामला है, लेकिन केवल एक ही नहीं है।

क्रोम और फ़ायरफ़ॉक्स HTTP सख्त परिवहन सुरक्षा प्रीलोड सूचियों की धारणा का समर्थन करते हैं जो उन साइटों की सूची हैं जिन्हें केवल एचटीटीपीएस के माध्यम से संपर्क किया जाना चाहिए, भले ही एक HTTP यूआरएल के साथ संदर्भित हो।

अधिक विस्तृत जानकारी यहाँ मिल सकती है


0

Google Chrome, मोज़िला फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर / माइक्रोसॉफ्ट एज ने इस सीमा को "एचएसटीएस प्रीलोडेड लिस्ट" को लागू करके संबोधित किया है, जो एक सूची है जिसमें एचएसटीएस का समर्थन करने वाली ज्ञात साइटें हैं। तो, आपके ब्राउज़र से अनुरोध सीधे https पर संबंधित HSTS कॉन्फ़िगर सर्वर डोमेन पर जाता है।

अन्यथा, http अनुरोध होना चाहिए और सर्वर को https (HSTS के मामले में, सर्वर हेडर के साथ प्रतिक्रिया करता है - केवल HTTPS: स्ट्रिक्ट-ट्रांसपोर्ट-सिक्योरिटी: अधिकतम आयु = 31536000) का उपयोग करना होगा।


-1

वेबसर्वर हमेशा पोर्ट 80 के लिए पूछेगा, इसलिए सभी ssl सेवा के बाद अपना सर्वर साइड, जब कोई क्लाइंट आपसे कनेक्ट होता है, तो सर्वर एक सुरक्षित या "https" के लिए कंसीलर को रीडायरेक्ट करता है।


वेब ब्राउज़र हमेशा पोर्ट 80 के लिए नहीं पूछेगा। आप पते की शुरुआत में इसे हमेशा 443 या शारीरिक रूप से टाइप करने के लिए https: // कॉन्फ़िगर कर सकते हैं। आपके पास प्लगइन्स भी हो सकते हैं जो https अनुरोधों को मजबूर करते हैं।
मैथ्यू विलियम्स

डिफ़ॉल्ट रूप से और पहली बार में यह है, निश्चित रूप से आप इसे अपनी इच्छानुसार बदल सकते हैं, लेकिन प्रक्रिया यह है।
अलेजांद्रा मोरेनो

बस यह सुनिश्चित करना था कि बिंदु बनाया गया था। सेटअप के बावजूद आपको हमेशा यह डिफ़ॉल्ट अनुरोध करना पड़ता था।
मैथ्यू विलियम्स

नहीं, यह मामला नहीं होगा। दूसरे उदाहरण में, DNS प्रतिसाद प्राप्त करने के बाद भेजा गया पहला पहला पैकेट गंतव्य पोर्ट 443 के साथ एक टीसीपी सिन पैकेट है। यदि पोर्ट 80 डिफ़ॉल्ट था, तो इसे Wireshark द्वारा कैप्चर किया जाएगा और किसी भी सर्वर-साइड पुनर्निर्देशन से पहले प्रदर्शित किया जा सकता है।
आद्या १ah

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