2011-03-18 14 views
5

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

तो:

  • पहुँच बिंदु मोड में फोन वाईफ़ाई; ओपन वाईफाई नेटवर्क (यह टिडबिट काम करता है - हाँ मुझे पता है कि यह आधिकारिक तौर पर समर्थित नहीं है लेकिन फिर मुझे इस ऐप को खुले बाजार में रखने का कोई इरादा नहीं है या नहीं, यह मेरे फोन पर काम करता है और यह मेरे लिए काफी अच्छा है)।

  • ग्राहक फोन से कनेक्ट कर सकते हैं (उदा अपने लैपटॉप: यह भी काम करता है)।

  • जब ग्राहक किसी भी यादृच्छिक सर्वर से एक http कनेक्शन खोलने की कोशिश करता है, यह मेरा एप्लिकेशन द्वारा रोक और एक स्थानीय वेब सर्वर द्वारा नियंत्रित किया जाना है। यह मुद्दा है कि मैं फंस गया हूँ।

वेब सर्वर भाग बहुत कठिन नहीं होना चाहिए; वहां उपलब्ध हैं (ओपन-सोर्स) वेब सर्वर। लेकिन उस वेब सर्वर पर यातायात प्राप्त करना, समस्या है।

व्यवहार मैं के बाद हूँ, एक सा क्या आप जब कुछ खुले हॉटस्पॉट से कनेक्ट होने के लिए, होटल हॉटस्पॉट को के समान है कि तब एक लॉगिन पृष्ठ पर रीडायरेक्ट। कनेक्शन अनुरोध में यह अवरोध (मुझे संदेह है कि मुझे DNS अनुरोधों को देखना है?) जो मैं बाद में हूं।

मैंने ऐसा ऐप देखा है जो ऐसा कर रहा है लेकिन उन्हें फोन को रूट करने की आवश्यकता है। मैं फोन को रूट किए बिना ऐसा करने का एक तरीका ढूंढने की उम्मीद कर रहा हूं।

उत्तर

4

वाईफ़ाई hotspots आमतौर पर IPTables का उपयोग बंदरगाह एक स्थानीय वेब सर्वर करने के लिए 80/443 यातायात पुनर्निर्देशित करना होगा।

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

IPTables केवल हालांकि जड़ें एंड्रॉयड उपकरणों पर पहुँचा जा सकता है।

और मुझे संदेह है कि एंड्रॉइड पर कई प्रॉक्सी सर्वर उपलब्ध हैं, इसलिए आपको नेटवर्क कनेक्शन पर प्रॉक्सी सर्वर पर HTTP यातायात भेजना होगा।

+1

मुझे पहले से ही डर था ... भले ही यह तकनीकी रूप से समाधान न हो, मैं इस प्रश्न को चिह्नित करूंगा उत्तर के रूप में। – Wouter

+0

यदि यह समाधान अभी भी सही है, तो क्या यह आईओएस पर भी लागू होगा? (क्या आपको आईपीटीबल्स में एक समान प्रोग्राम स्थापित करने की आवश्यकता होगी?) – Andy

+0

मैं आईओएस डेवलपर नहीं हूं, लेकिन जो कुछ मैं दूसरों से सुनता हूं (और सामान्य ज्ञान), आईओएस एक ऐप क्या कर सकता है, इस पर अधिक प्रतिबंधित है। तो अगर एंड्रॉइड भी इसकी अनुमति नहीं देता है, तो आप अपने गधे को शर्त लगा सकते हैं आईओएस आपको वेब ट्रैफिक को फिर से शुरू करने के विचार पर हंस जाएगा। – Squirrelkiller

2

जैसा कहा गया है, आप IPTables की आवश्यकता होगी, लेकिन आप भी Squid की तरह, एक प्रॉक्सी सर्वर की आवश्यकता होगी।

गूगल "व्यंग्य के साथ पारदर्शी प्रॉक्सी", या यहाँ की जाँच करें:
Linux: Setup a transparent proxy with Squid in three easy steps

2

आप एक प्रॉक्सी है की जरूरत नहीं है, तो आप सिर्फ एक पूर्ण LAMP ढेर आपके डिवाइस और iptables पर की जरूरत है, तो आप सभी पैकेट चिह्नित कर सकते हैं जिन्हें आपके स्थानीय पृष्ठ पर आगे बढ़ने के लिए प्रमाणीकृत नहीं किया गया है, फिर पते का प्रमाणीकरण हो जाने के बाद php का उपयोग उस आईपी पते के लिए नियम बदलता है, यदि आप चाहें तो मैक पते के लिए भी ऐसा ही कर सकते हैं, फिर आपको समय-समय पर एक डेमॉन की भी आवश्यकता होगी प्रत्येक अपवाद

संबंधित मुद्दे