क्या iPhone पर होस्ट फ़ाइल मौजूद है? इसे कैसे बदलें? [बन्द है]


104

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

अब मुझे अपने iPhone के साथ इसका परीक्षण करने की आवश्यकता है, समस्या यह है कि मेरा iPhone dns के लिए अनुपलब्ध कॉन्फ़िगरेशन के कारण उस सर्वर को नहीं पहचानता है।

मेरे मैक या विंडोज पर, मैं बस: 192.168.0.20 http://www.google.comहोस्ट फ़ाइल में जोड़ता हूं ।

अब मैं अपने iPhone को URL कैसे पता करूँ http://www.google.com?


अपने iPhone को जेलब्रेक करें, iFile डाउनलोड करें, टेक्स्ट व्यूअर में /etc/फाइल को नेविगेट और खोलें hosts। अब आप इसे संपादित कर सकते हैं।

OSX और चार्ल्स वेब प्रॉक्सी तैनाती के
jfroom

1
OSX iOS सिम्युलेटर और अपने / etc / मेजबान फ़ाइल को अपडेट करें।
dmarvasti

वैकल्पिक रूप से: Bonjour (sudo apt-get install avahi-daemon avahi-utils) स्थापित करें और hostname.local द्वारा iphone / ipad के माध्यम से एक्सेस करें
Saaa Tomislav Mataić

मुझे आश्चर्य नहीं हुआ कि मैं इस तरह का उत्तर नहीं देख पाया, जो मेरे लिए काम करता है: stackoverflow.com/a/41857012/470749
रयान

जवाबों:


37

यह सीधे आपके प्रश्न का उत्तर नहीं देता है, लेकिन यह आपकी समस्या को हल करता है ...

आपके पास क्या राउटर है? आपका राउटर फर्मवेयर आपको अपने स्थानीय नेटवर्क के लिए DNS रिकॉर्ड सेट करने की अनुमति दे सकता है। यह मैं टमाटर फर्मवेयर के साथ करता हूं


धन्यवाद, यह वही है जो मैंने इस मुद्दे को हल करने के लिए किया था;)
होआंग फाम

मैंने इस दृष्टिकोण का उपयोग किया, सिवाय इसके कि मैं pfsense का उपयोग कर रहा हूं।
कोडविज़

यह कैसे काम करेगा, मैं भी एक ही मुद्दा है, मैं सिस्को wrt रूटर पर हूँ
Amitg2k12

82

यहां एक और विकल्प है कि आप अपने iPhone को प्रॉक्सी के जरिए कनेक्ट कर सकते हैं। यहाँ एक उदाहरण है कि इसे फिडलर के साथ कैसे किया जाए (यह बहुत आसान है):

http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

उस स्थिति में कोई भी dns आपके iPhone को देखता है मशीन के होस्ट फ़ाइल का उपयोग करेगा Fiddler चल रहा है। ध्यान दें , हालांकि, आपको एक नाम का उपयोग करना होगा जिसे DNS के माध्यम से हल किया जाएगा। example.local, उदाहरण के लिए, काम नहीं करेगा। example.xyzया example.devहोगा।


3
यह सबसे सरल उपाय है। मुझे ये सोचना चाहिए था !!
जंपलोड

1
बहुत बढ़िया। यह मेरे लिए एक इलाज का काम करता है!
स्निफर डिक्

1
एक ही चीज़ ऑक्स
antonj

2
OSX और चार्ल्स वेब प्रॉक्सी तैनाती के
4

1
यह किसी भी मोबाइल ऐप के विकास के लिए शस्त्रागार में एक महान उपकरण है - न कि केवल DNS लुकअप के लिए
जोशुआविद

32

प्रोग्रामिंग संबंधित नहीं है, लेकिन मैं वैसे भी जवाब दूंगा। इसमें है /etc/hosts

आप इसे एक साधारण टेक्स्ट एडिटर जैसे बदल सकते हैं nano

(जाहिर है कि आपको इसके लिए जेलब्रेक iPhone की आवश्यकता होगी)


3
आप वेनिला iphone पर नैनो का उपयोग सीधे / etc / मेजबान के लिए नहीं कर सकते। मेरा मानना ​​है कि एक ऐसे ऐप के बारे में है जो वितरित किया जाएगा, जिस स्थिति में आप अपने सैंडबॉक्स के बाहर फ़ाइलों के साथ गड़बड़ नहीं कर सकते।
Jaanus

@ जानूस: बेशक मेरा मतलब जेलब्रेक वाले आईफोन से था। और उन्होंने ऐप के पुनर्वितरित होने के बारे में कभी कुछ नहीं कहा; उन्होंने बस उल्लेख किया कि उन्हें अपने iphone पर यह परीक्षण करने की आवश्यकता थी, जिसमें एक समस्या थी।
थॉमस बोनीनी

16
मुझे समझ में नहीं आता है। उत्तर तकनीकी रूप से सही और अच्छी तरह से लिखा गया है।
थॉमस बोनीनी

2
मैं संपादन के लिए कुछ कर्म बहाल करूँगा; अगर डाउन-वोट का इस्तेमाल 'वितरित ऐप के लिए निहित ' के कारण किया गया था, तो जबकि मैं उन्हें समझ सकता हूं, मुझे लगता है कि डाउनवोटर्स को यह समझाने के लिए एक टिप्पणी छोड़नी चाहिए।
डेविड कहते हैं

2
मुझे लगता है कि उसे केवल मेजबानों की फाइल बदलने की ज़रूरत है ताकि वह अपने ऐप का परीक्षण कर सके। एक बार परीक्षण करने के बाद, उसे मेजबानों की फ़ाइल को बदलने की आवश्यकता नहीं होनी चाहिए। यहाँ जेलब्रेकिंग की सलाह देने के लिए पूरी तरह से स्वीकार्य है!
मोंगस पोंग Mong

14

मैंने अपने iPhone की 'होस्ट' फ़ाइल को सफलतापूर्वक (जेलब्रोकन आईओएस 4.0 पर) संपादित किया।

  • ओपनएसएसएच स्थापितCydia के माध्यम से iPhone पर गया
  • FileZilla जैसे SFTP क्लाइंट का उपयोग करनाअपने कंप्यूटर पर , मैं अपने iPhone से जुड़ा
    • पता: [अपने फोन के आईपी पते या होस्टनाम का उपयोग करें, जैसे। simophone.local]
    • उपयोगकर्ता नाम: root
    • कुंजिका: alpine
  • /etc/hostsफ़ाइल स्थित है
  • मेरे कंप्यूटर पर एक बैकअप बनाया (यदि मैं बाद में अपने परिवर्तनों को वापस करना चाहता हूं)
  • एक सभ्य पाठ संपादक (जैसे नोटपैड ++ ) में मेजबान फ़ाइल को संपादित किया । होस्ट फ़ाइल की व्याख्या के लिए यहां देखें ।
  • IPhone पर होस्ट्स फ़ाइल को अधिलेखित करके, परिवर्तन अपलोड किए गए

फ़ोन कुछ वेबपृष्ठों और DNS क्वेरीज़ को कैश करता है, इसलिए कैश को रीबूट या क्लियर करने से मदद मिल सकती है। आशा है कि किसी की मदद करता है।

साइमन।


1
@ साइमन मैंने उसी चरणों का पालन किया, लेकिन यह काम नहीं किया। तब मैंने एन्कोडिंग सेटिंग्स बदलने की कोशिश की, और मिल गया! इससे पहले कि आप इसे बचाने के लिए आपको अपनी मेजबान फ़ाइल को एएनएसआई को नोटपैड ++ में बदलना पड़े। जिनके लिए होस्ट फ़ाइल काम करने में विफल रही; " एन्कोडिंग " मेनू के तहत " एएनएसआई में कनवर्ट करें" पर क्लिक करें ।
त्रिकप्लान

2
आप कंप्यूटर का उपयोग किए बिना अपने डिवाइस पर होस्ट्स फ़ाइल को संपादित करने के लिए Cydia से iFile ऐप का उपयोग कर सकते हैं। विज्ञापन @ m
kirb

2
.. और अल्पाइन से डिफ़ॉल्ट पासवर्ड को कुछ और बदल दें!
तीये की

7

यह मौजूद हो सकता है, लेकिन आप इसे गैर-जेलब्रेक किए गए iPhone पर नहीं बदल सकते।

यह मानते हुए कि आपका विकास वेबसर्वर एक मैक पर है, तो आप इसके MyMac.local.बजाय केवल इसके बोनजोर नाम (जैसे ) का उपयोग क्यों नहीं करते हैं myrealwebserverontheinternet.com?


सभी वेब सेवाएँ मेरे LAN नेटवर्क के भीतर एक सर्वर में मौजूद हैं। मेरे पास एक डोमेन नाम है और मैं अपने डोमेन नाम को इस सर्वर पर भी मैप करना चाहूंगा। और किसी को पता है कि कोई व्यक्ति आपको अपने सभी वेबसर्विसेज के लिए एक पता देता है, वह आपसे इस पते का उपयोग करके इन सेवाओं को क्वेरी करने के लिए कहता है, वह आपको दिखा सकता है कि कैसे मैक, विंडोज़ पर होस्ट फ़ाइल को जोड़ सकते हैं, लेकिन नहीं iphone: -s
Hoang Pham

6

यदि कोई अन्य व्यक्ति इस पृष्ठ पर आता है, तो आप इसे डोमेन के बजाय URL अनुरोध में Ip पते का उपयोग करके भी हल कर सकते हैं:

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

फिर आप मैन्युअल रूप से होस्ट निर्दिष्ट करें:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

जहां तक ​​सर्वर का सवाल है, यह ठीक उसी तरह का व्यवहार करेगा जैसे आपने इस्तेमाल किया था http://myserver/mypage.php , सिवाय इसके कि आईफोन को डीएनएस लुकअप नहीं करना होगा।

100% सार्वजनिक एपीआई।


2
हालाँकि यह केवल पहले अनुरोध के लिए काम करेगा, अगर mypage.php myserver के लिए कोई अन्य अनुरोध करता है तो ऐप रूपांतरण नहीं करेगा।
htafoya

यदि आप कुकी का उपयोग करने का इरादा नहीं रखते हैं तो यह दृष्टिकोण अच्छा है।
डेजुन

नाह। यह भी काम नहीं किया। हम SSL पिनिंग का उपयोग कर रहे हैं, इसलिए डोमेन बेमेल ने इसे गड़बड़ कर दिया: '017-07-13 10: 21: 42.244723-0400 ApperName [1015: 449748] libMobileGestalt MobileGestaltSort.m: 153: pid 1015 (ApperName) में सैंडबॉक्स एक्सेस नहीं है। frZQaeyWLUvLjeuEK43hmg नहीं है और उचित रूप से 2017/07/13 10 हकदार: 21: 42.244886-0,400 UnionBank [1015: 449,748] libMobileGestalt MobileGestalt.c: 550: InverseDeviceID तक पहुंच नहीं है (देखें <rdar: // समस्या / 11,744,455>)
codeslapper

5

फोन पर डीएनएस न बदलें। इसके बजाय, वाईफाई से स्थानीय नेटवर्क से कनेक्ट करें और आप सभी सेट हैं।

मेरे कार्यालय में, हमारे पास आंतरिक DNS के साथ आंतरिक सर्वर हैं जो इंटरनेट के संपर्क में नहीं हैं। मैं सिर्फ iPhone के साथ कार्यालय वाईफाई से जुड़ता हूं और फिर उन्हें ठीक से एक्सेस कर सकता हूं।

YMMV, लेकिन फोन DNS को कॉन्फ़िगर करने के बजाय, यह मुझे लगता है कि बस स्थानीय आंतरिक DNS और वाईफाई स्थापित करना एक क्लीनर और आसान समाधान है।


1

नहीं, एक iPhone एप्लिकेशन केवल अपने छोटे सैंडबॉक्स के भीतर सामान बदल सकता है। (और यहां तक ​​कि ऐसी चीजें भी हैं जिन्हें आप मक्खी पर नहीं बदल सकते।)

आपका सबसे अच्छा शर्त शायद होस्टनाम के बजाय सर्वर आईपी पते का उपयोग करना है। थोड़ा कठिन है, लेकिन इतना कठिन नहीं है कि अगर आपको केवल एक पते को हल करने की आवश्यकता है, तो अपने मैक पर एक डीएनएस सर्वर डालें और इसका उपयोग करने के लिए अपने आईफोन को कॉन्फ़िगर करें।

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