मैं अपने एंड्रॉइड एमुलेटर से भेजे गए और प्राप्त किए गए नेटवर्क ट्रैफ़िक की निगरानी कैसे करूं?
मैं अपने एंड्रॉइड एमुलेटर से भेजे गए और प्राप्त किए गए नेटवर्क ट्रैफ़िक की निगरानी कैसे करूं?
जवाबों:
एंड्रॉइड एमुलेटर से सीधे नेटवर्क ट्रैफ़िक कैप्चर करने के दो तरीके हैं :
एमआर पर एआरएम-संगत tcpdump बाइनरी कॉपी और चलाएं , एसडी कार्ड में आउटपुट लिख रहा है, शायद (जैसे tcpdump -s0 -w /sdcard/emulator.cap
)।
emulator -tcpdump emulator.cap -avd my_avd
अपने पीसी पर एक स्थानीय फ़ाइल के लिए सभी एमुलेटर के ट्रैफ़िक को लिखने के लिए चलाएँ
दोनों स्थितियों में आप सामान्य रूप से tcpdump या Wireshark के साथ pcap फ़ाइल का विश्लेषण कर सकते हैं।
The -tcpdump flag is not supported in QEMU2 yet and will be ignored.
चेतावनी मिल रही है , तो इस तरह से अपने कमांड में क्लासिक जोड़ें emulator -tcpdump emulator.cap -avd my_avd -engine classic
। यह पदावनत एमुलेटर इंजन को बाध्य करेगा, लेकिन जब तक वे समस्या को ठीक नहीं करते तब तक काम करना चाहिए।
avd
स्थित है
एमुलेटर से http अनुरोधों की निगरानी के लिए http प्रॉक्सी का उपयोग करना भी संभव है। एंड्रॉइड ट्रैफ़िक की निगरानी के लिए -http-proxy
प्रॉक्सी (उदाहरण burp ) सेट करने के लिए एक नया एमुलेटर शुरू करते समय आप झंडा पास कर सकते हैं । उदाहरण उपयोग ./emulator -http-proxy localhost:8080 -avd android2.2
। ध्यान दें कि मेरे उदाहरण में मैं Burp का उपयोग कर रहा हूं, और यह 8080 पोर्ट सुन रहा है। अधिक जानकारी यहां पाई जा सकती है ।
ओएस एक्स के लिए आप चार्ल्स का उपयोग कर सकते हैं , यह सरल और उपयोग करने में आसान है।
अधिक जानकारी के लिए, कृपया Android एमुलेटर और चार्ल्स प्रॉक्सी ब्लॉग पोस्ट को देखें।
Charles
पहले नहीं जानता । लेकिन जहाँ तक मैं देख सकता हूँ, यह HTTP- विशिष्ट है। लेकिन ओपी का सवाल यह नहीं है।
हां, वायरशर्क काम करेगा।
मुझे नहीं लगता कि पूरी तरह से एमुलेटर ट्रैफ़िक को फ़िल्टर करने का कोई आसान तरीका है, क्योंकि यह उसी src आईपी से आ रहा है।
शायद सबसे अच्छा तरीका बहुत नंगे वीएमवेयर वातावरण स्थापित करना होगा और केवल एमुलेटर को वहां चलाना होगा, कम से कम उस तरह से बहुत अधिक पृष्ठभूमि यातायात नहीं होगा।
Http ट्रैफ़िक की निगरानी के लिए आप फ़िडलर का उपयोग कर सकते हैं :
एंड्रॉइड एमुलेटर ट्रैफिक को कैप्चर करने के लिए अब सीधे Wireshark का उपयोग करना संभव है। वहाँ एक है extcap प्लगइन बुलाया androiddump जो संभव बनाता है। आपको tcpdump
एमुलेटर पर चलने वाली सिस्टम छवि में एक निष्पादन योग्य होना चाहिए (अधिकांश वर्तमान छवियों में यह है, एपीआई 24 और एपीआई 27 छवियों के साथ परीक्षण किया गया है) और adbd
मेजबान पर रूट के रूप में चल रहा है (बस रन adb root
)। Wireshark (Qt संस्करण में केवल उपलब्ध इंटरफेस की सूची में, पदावनत GTK + के पास नहीं है) या tshark -D
ब्लूटूथ, Logcat, या वाईफ़ाई ट्रैफ़िक को सूँघने की अनुमति देने के लिए कई Android इंटरफेस होने चाहिए, जैसे उदाहरण:
android-wifi-tcpdump-emulator-5554 (Android WiFi Android_SDK_built_for_x86 emulator-5554)
आप कमांड के साथ एमुलेटर शुरू कर सकते हैं -avd Adfmf -http-proxy http://SYSTEM_IP:PORT
। मैंने HTTP विश्लेषक का उपयोग किया है, लेकिन इसे किसी और चीज़ के लिए काम करना चाहिए। अधिक विवरण यहां देखे जा सकते हैं:
http://stick2code.blogspot.in/2014/04/intercept-http-requests-sent-from-app.html
आप http://docs.mitmproxy.org/en/stable/install.html का उपयोग कर सकते हैं
इसका सेटअप आसान है और इसके लिए किसी भी अतिरिक्त ट्विक्स की आवश्यकता नहीं होगी।
मैं विभिन्न टूल से गुजरता हूं लेकिन यह वास्तव में अच्छा और आसान है।
mitmproxy
पहले नहीं जानता । लेकिन जहाँ तक मैं देख सकता हूँ, यह HTTP- विशिष्ट है। लेकिन ओपी का सवाल यह नहीं है।
आप एंड्रॉइड स्टूडियो से नेटवर्क ट्रैफिक की निगरानी कर सकते हैं। Android मॉनिटर पर जाएं और नेटवर्क टैब खोलें।
http://developer.android.com/tools/debugging/ddms.html
अद्यतन: Monitor एंड्रॉइड स्टूडियो 3.1 में एंड्रॉइड डिवाइस मॉनिटर को हटा दिया गया था। Https://developer.android.com/studio/profile/monitor में और देखें
मेरा सुझाव है कि आप Wireshark का उपयोग करें ।
कदम:
- तारों को स्थापित करें।
- उस नेटवर्क कनेक्शन का चयन करें जिसे आप कॉल के लिए उपयोग कर रहे हैं (उदाहरण के लिए, यदि आप इसका उपयोग कर रहे हैं तो वाईफाई का चयन करें)
- कई अनुरोध और प्रतिक्रियाएं होंगी, अतिरिक्त एप्लिकेशन बंद होंगे।
- आमतौर पर अनुरोध हरे रंग में होते हैं, एक बार जब आप अपना अनुरोध प्राप्त करते हैं, तो गंतव्य पते की प्रतिलिपि बनाएँ और गंतव्य पते
ip.dst==52.187.182.185
को डालकर शीर्ष पर फ़िल्टर का उपयोग करें ।
आप विशिष्ट ट्रैफ़िक प्राप्त करने के लिए यहां उल्लेखित अन्य फ़िल्टरिंग तकनीकों का उपयोग कर सकते हैं ।