2011-10-23 18 views
5

मुझे पता है कि एंड्रॉइड में कैसे विकसित किया जाए और अपाचे HTTP lib का उपयोग करें, लेकिन मैं कम जाना चाहता हूं, वायरलेस इंटरफ़ेस एडाप्टर को पकड़ना चाहता हूं और & को वायरलेस रूप से पैकेट प्राप्त करने में सक्षम होना चाहता हूं। मुझे यह पता है क्योंकि एंड्रॉइड बाजार में स्निफ़ेर एप्स हैं। मैंने चारों ओर देखा है और बहुत कुछ गुमराह किया है, लेकिन यह शुरू करने के तरीके पर कोई विचार नहीं लग रहा है। आश्चर्य की बात है कि किसी ने भी इस सवाल को एसओ से पहले भी नहीं पूछा है।एंड्रॉइड में पैकेट लेवल नेटवर्किंग

मुझे लगता है कि कोई एंड्रॉइड एपीआई नहीं है जो आपके लिए यह करता है। किसी भी ऐसे संसाधनों के लिए एंड्रॉइड या पोस्ट संदर्भों में पैकेट भेजने/प्राप्त करने का एक तरीका सुझाएं।

धन्यवाद!

नोट: मुझे पता है कि java.net api एंड्रॉइड में उपयोग किया जा सकता है (हालांकि मैंने इसे पहले उपयोग नहीं किया है) लेकिन इससे मुझे उस तरह की पहुंच नहीं मिलती है।

+0

यहां वास्तविक उद्देश्य क्या है? – EJP

+0

मैं एक ऐप बनाना चाहता हूं जो ब्रिज मोड में एक एक्सेस पॉइंट के माध्यम से बीएसएनएल (आईएसपी) सर्वर से कनेक्ट हो सकता है। इसके अलावा, कई अन्य रोचक चीजें भी की जा सकती हैं। – Rushil

+0

@ रुशिल, ब्रिज मोड को कुछ भी करने के साथ क्या करना है? आम तौर पर जब लोग "पुल मोड" के बारे में बात करते हैं तो यह एक डिवाइस रखने के संदर्भ में है जो एक एक्सेस पॉइंट के रूप में कार्य नहीं कर रहा है, जिसका उद्देश्य ईथरनेट के माध्यम से वायरलेस लैन तक पहुंच प्रदान करना है। क्या आप विज्ञापन-प्रसार वायरलेस के बारे में बात कर रहे हैं? यदि ऐसा है, तो [यह प्रश्न] देखें (http://stackoverflow.com/questions/1932150/can-android-do-peer-to-peer-ad-hoc-networking)। – mpontillo

उत्तर

2

मानक एसडीके/एनडीके के साथ ऐसा करने का कोई तरीका नहीं है।

रूट डिवाइस पर, आप संभवतः tcpdump, या अन्य libpcap- आधारित एप्लिकेशन में कॉल कर सकते हैं। जावा एप्लिकेशन को उत्पादन एंड्रॉइड डिवाइस पर आवश्यक विशेषाधिकार देने का कोई समर्थित तरीका नहीं है।

उदाहरण के लिए, this blog post वर्णन करता है कि एंड्रॉइड पर मूल पैकेट कैप्चर करने के लिए tcpdump का उपयोग कैसे करें।

+0

धन्यवाद! यह एक अच्छी शुरुआत है! लेकिन उस ब्लॉग पोस्ट ने कहा कि आपको एंड्रॉइड डिवाइस को पीसी से कनेक्ट करना होगा। क्या ऐसा ऐप बनाना संभव नहीं है जो पैकेट को कैप्चर और भेजने में सक्षम हो libpcap। मेरा मतलब है, एक जड़ वाले फोन पर .. ब्लॉग पोस्ट बहुत कुछ नहीं लगता था। – Rushil

+1

@ रुशिल, पीसी से जुड़े कुछ कारण हैं। (1) डिवाइस को रूट करने के लिए, अगर यह पहले से नहीं है रूट पर। (2) tcpdump बाइनरी को फोन पर धक्का देने के लिए। (3) tcpdump को चलाने के लिए 'adb shell' चलाने के लिए। रूट किए गए फोन पर, आप कस्टम कोड 'libpcap'-based' पर कॉल करने के लिए जावा कोड लिख सकते हैं बाइनरी जो आपको अपने जीयूआई में डेटा को वापस प्रारूप में प्राप्त करने के लिए डिज़ाइन करना होगा। बिंदु यह है कि यदि आपका एकमात्र लक्ष्य पैकेट को देखने के लिए है, तो आपको बस इतना करना है कि फोन रूट हो डीबगिंग, टीसीपीडम्प पुश करें, रूट के रूप में 'adb shell' चलाएं और' tcpdump' का उपयोग शुरू करें। – mpontillo

+0

@ रुशिल, के रूप में भी मैंने उल्लेख किया है कि जावा अनुप्रयोग रूट विशेषाधिकार देने वाले रूट डिवाइस पर भी समर्थित नहीं है। केवल आधे रास्ते समर्थित चीज (समुदाय द्वारा, देखें [एंड्रॉइडु] (http://androidsu.com/superuser/)) रूट के रूप में एक मनमाना मूल बाइनरी लॉन्च करना है। तो आप एक बाइनरी को एक स्थिर रूप से जुड़े 'libpcap' के अंदर ('tcpdump' के समान) के साथ पार-संकलित कर सकते हैं जिसे आप वह काम करने के लिए बुला सकते हैं जिसे आप करना चाहते थे। उदाहरण के लिए, आप 'stdout' पर एक्सएमएल प्रारूप परिणामों को आउटपुट करने के लिए प्रोग्राम को डिज़ाइन कर सकते हैं और इसे' stdin' पर कमांड दे सकते हैं। – mpontillo

1

क्या आपने एनडीके पर एक नज़र डाली है? शायद आप सी (++) में जो चाहते हैं वह कर सकते हैं।

+0

हां मैंने इसके बारे में सुना है, लेकिन मुझे पता नहीं है कि इसे कैसे स्थापित किया जाए।जटिल लगता है :-( – Rushil

1

एंड्रॉइड ओएस 4.0 या बाद में एक वीपीएन सेवा प्रदान करता है जिसके माध्यम से आप नेटवर्क यातायात की निगरानी कर सकते हैं। http://www.taosoftware.co.jp/en/android/packetcapture/ पर प्रदान किया गया एप्लिकेशन VpnService का उपयोग करता है जो डेटा को कैप्चर करता है।

+0

धन्यवाद! असल में मुझे ऐसे टूल बनाने में सक्षम होना चाहिए, तीसरे पक्ष के सॉफ्टवेयर का उपयोग न करें। फिर भी मैं इसे आज़माउंगा :-) – Rushil

+0

@ सैंडी - मैं वीपीएन सेवा देख रहा हूं लेकिन नेटवर्क यातायात की निगरानी करने में सक्षम नहीं हूं। ऐसा लगता है कि एक वीपीएन से कनेक्ट करने के लिए इस्तेमाल किया जाता है, एक के रूप में कार्य नहीं करना। क्या आपके पास ऐसा कोई भाग्य है? – brianestey

+0

@brianestey- मैं कोशिश कर रहा हूं लेकिन अभी भी कोई समाधान नहीं मिल रहा है। – saini