एंड्रॉइड ब्राउज़र में मेरे आदि / मेजबान परिवर्तन को अनदेखा क्यों करता है?


19

मैंने /sysजैसा rwकहा है, एक प्रविष्टि etc/hosts(जैसे 10.0.0.1 x.com www.x.com) में जोड़ा और अपने डिवाइस को रिबूट किया।

रिबूट करने के बाद, अगर मैं जांच करता हूं etc/hosts, तो प्रवेश ठीक है। यदि मैं पिंग करता हूं x.com, तो यह मेरे द्वारा दर्ज किए गए सही आईपी पते को पिंग करता है।

लेकिन, अगर मैं एक वेब ब्राउज़र (या तो स्टॉक या डॉल्फिन) खोलता हूं, और ब्राउज़ करता हूं, तो x.comयह उस आईपी पते पर जाएगा जो डीएनएस को जाता है।

क्या हो रहा है?

(मेरा फोन नेक्सस वन है, जो एंड्रॉयड 2.3.7 पर आधारित कस्टम सियानोजेन 7.1 रोम चला रहा है)

अपडेट:
ऐप ' LAN Droid ' पर मुझे एडिट किया हुआ पता मिलता है (इसलिए 10.0.0.1) बस ठीक है। ऐसा लगता है कि यह केवल ब्राउज़र है जहां यह गलत व्यवहार करता है।


बस जिज्ञासु: क्या होगा अगर आप इसे दूसरे तरीके से करते हैं, और इसके बजाय एक स्थानीय डोमेन (या कुछ विज्ञापन साइट) स्थापित करने के लिए स्थानीयहोस्ट हो सकते हैं? क्या यह लोड करने में विफल रहता है? और क्या यह वास्तव में ऐसा छोटा डोमेन नाम है जैसे आपके उदाहरण में इस्तेमाल किया गया है? (नहीं-तो-मजेदार-तथ्य: इंटरनेट एक्सप्लोरर ने दो-अक्षर डोमेन के लिए कुकीज़ स्वीकार करना बंद कर दिया है । बेशक, आपकी समस्या से असंबंधित है, लेकिन हो सकता है कि कुछ ब्राउज़रों में छोटे डोमेन नामों की अन्य विषम सीमाएँ हैं? मुझे लगता है, हालांकि नहीं।)
अर्जन

2
क्या आप ऐसा कर सकते हैं - ls -l /etc/hostsसंभवतः अनुमतियाँ / स्वामित्व समस्या?
t0mm13b

@ t0mm13b "-rw-r
r--

@ t0mm13b तुम पर हाजिर हो! मेरे मामले में यह अनुमति थी। chmod 644 /system/etc/hostsइसे
छाँट

जवाबों:


6

वास्तव में की तरह यह लगता है यह , पिंग काम करने के लिए, लेकिन ब्राउज़र नहीं नीचे। उनका अंतिम समाधान नीचे उद्धृत किया गया है:

बेवकूफ सवाल, लेकिन क्या आप हैंडसेट पर फ़ाइल को संपादित कर रहे हैं या केवल उस फ़ाइल को आगे बढ़ा रहे हैं जिसे आपने यहां पोस्ट किया है? आपने जो पोस्ट किया है वह डॉस फॉर्मेट में है, इसलिए इसमें लाइन के अंत में अतिरिक्त लाइनफीड कैरेक्टर हैं जो एक लिनक्स सिस्टम को भ्रमित कर सकते हैं।

मुझे नहीं पता कि आपने इसे संशोधित करने के लिए क्या उपयोग किया है, लेकिन आप यह जांचना चाहेंगे कि यह किस तरह का लाइनफीड / न्यूलाइन अक्षरों का उपयोग कर रहा है।


टर्मिनल एमुलेटर पर vi के साथ संपादित किया गया। ff=unixअब जबरदस्ती करने की कोशिश की और set listकिसी भी डॉस लाइन को तोड़ने के लिए ... यहां तक ​​कि आगे बढ़े और एक regexp चलाएं जैसे कि कोई डॉस लाइन ब्रेक था, कुछ भी नहीं मिला।
gcb

4

यकीन नहीं होता है कि अगर यह मदद करता है, लेकिन मुझे एक अनदेखा होस्ट फ़ाइल की समस्या थी और इसे इस थ्रेड पर एक आदमी द्वारा हल किया गया था - इसका उत्तर फ़ाइल के अंत में एक नई लाइन डालना है।


2

क्या आप स्ट्रेस को स्थापित कर सकते हैं और ब्राउजर पर स्टिंग के साथ पिंग पर चल रहे आउटपुट की तुलना यह देखने के लिए कर सकते हैं कि DNS लुकअप को अलग-अलग तरीके से क्यों हैंडल किया जा रहा है?

क्या आप सुनिश्चित हैं कि लगातार कैशिंग नहीं चल रही है? आपके डोमेन रिकॉर्ड पर TTL क्या है?

एंड्रॉइड /etc/resolv.conf का उपयोग करना प्रकट नहीं होता है, लेकिन हो सकता है कि कुछ गुण हैं जो नियंत्रित करते हैं कि कौन से एप्लिकेशन / etc / होस्ट का उपयोग करते हैं और जो सीधे DNS लुकअप में जाते हैं। https://groups.google.com/forum/?fromgroups#!topic/android-platform/K2Wr4WaEneI


अच्छे अंक। TTL 1h है, मेरे पास जो भी नियम है, उसे पकड़ने के लिए डिफ़ॉल्ट है। G.groups धागा ज्यादातर DNS प्रश्नों के दौरान किस नामवर को हिट करने के निर्णय के बारे में है, यह तर्क आदि / मेजबानों के बाद होता है। मुझे उम्मीद है। अब मैं स्ट्रेस चलाऊंगा (पहले कैसे पता करें) और वापस रिपोर्ट करें।
जीसीबी

2

यदि आप एक विंडोज़ मशीन पर मेजबानों की फाइल बना रहे हैं, तो सुनिश्चित करें कि प्रत्येक पंक्ति को केवल एलएफ (नहीं [सीआर] [एलएफ], केवल [एलएफ]) द्वारा अलग किया जाता है । आप इसे सत्यापित कर सकते हैं और नोटपैड ++ का उपयोग करके एक उचित होस्ट फ़ाइलें बना सकते हैं।


0

मुझे लगता है कि आपको अपने एंड्रॉइड पर DNS को फ्लश करने की आवश्यकता है इस प्रश्न की जांच करें /programming/2101762/android-flush-dns , विशेष रूप से "सेटिंग में जाएं -> एप्लिकेशन -> नेटवर्क स्थान -> डेटा साफ़ करें।"


Android 2.3.7 पर भी यह विकल्प नहीं है। लेकिन फोन महीनों के लिए आदि / मेजबानों पर इस बदलाव के साथ है। और मैं इसे अक्सर रिबूट करता हूं ... मुझे उम्मीद है कि DNS किसी भी कारण से महीनों के लिए कैश नहीं किया गया है।
जीसीबी

0

मेरा संदेह यह होगा कि ब्राउज़र प्रॉक्सी के माध्यम से काम करने के लिए कॉन्फ़िगर किया गया है।

आप netstat -n का उपयोग करके या / proc / net / tcp (या बेहतर अभी तक, / proc / # browser_pid # / net / tcp) में देखकर बता सकते हैं कि यह वास्तव में किस पते से जुड़ रहा है। यदि यह आपकी वेबसाइट के पते से मेल नहीं खाता है तो आप इसकी मध्यस्थता से गुजर रहे हैं।


-2

मैं आम तौर पर कहूंगा (लेकिन यह आपके लिए लागू नहीं होता है, अफसोस):

यदि परिवर्तन पर किसी का ध्यान नहीं जाता है तो केवल रिबूट का प्रयास करें क्योंकि हो सकता है कि Dalvik मशीन का उदाहरण या अंतर्निहित सिस्टम पूर्व DNS अनुरोध को कैश कर दिया हो।

आप AdAway को अपनी मेजबानों फ़ाइल में मैन्युअल रूप से प्रविष्टियाँ जोड़ने के लिए कोशिश कर सकते हैं (यदि आप मैन्युअल रूप से ऐसा ही करते हैं तो यह जाँच करें)।

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