मैं Android डिवाइस पर पैकेट नुकसान का अनुकरण कैसे करूं?


11

मैं एक रूट किए गए एंड्रॉइड डिवाइस पर पैकेट लॉस का अनुकरण करना चाहता हूं, यह देखने के लिए कि विभिन्न स्तर वीडियो स्ट्रीमिंग गुणवत्ता को कैसे प्रभावित करते हैं। मैंने सफलता के बिना नेटम और iptables की कोशिश की है:

नेटम :

# tc qdisc change dev rmnet0 root netem loss 0.1%
tc qdisc change dev rmnet0 root netem loss 0.1%
Android does not support qdisc 'netem'
Garbage instead of arguments "loss ...". Try "tc qdisc help".

क्या प्रारूप गलत है या क्या नेटम समर्थन को किसी तरह जोड़ना संभव है?

iptables :

# iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
iptables v1.3.7: Couldn't find match `statistic'

Try `iptables -h' or 'iptables --help' for more information.

क्या Android में कोई अन्य विकल्प है?


3
अच्छा प्रश्न! मेरा विचार: एक विकल्प के रूप में, शायद एक वाईफाई राउटर से कनेक्ट करें और वहां कनेक्शन को थ्रॉटल करें यदि आपका राउटर सेवा की गुणवत्ता या समान है?
ब्रायन डेनी

: संबंधित का प्रकार है, तो यहां पर कब्जा पैकेट के लिए एक जड़ें Android डिवाइस पर है vbsteven.be/blog/...
ब्रायन डेनी

राउटर कॉन्फ़िगरेशन शायद इसे करने का उचित तरीका है, और मेरे पास वानीम का उपयोग करके उस सिमुलेशन को जगह है । हालाँकि, मैं एक पोर्टेबल तरीका रखना चाहूंगा जो नेटवर्क कॉन्फ़िगरेशन या उस मामले के लिए नेटवर्क इंटरफ़ेस पर निर्भर न हो। मूल रूप से मैं एक इकाई परीक्षण करना चाहता हूं जहां मैं वीडियो स्ट्रीमिंग चलाता हूं, पैकेट नुकसान बढ़ाता हूं और फिर से उसी वीडियो को चलाता हूं।
fejd 8

जवाबों:


2

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

अगर वह काम नहीं करता है, तो आप राउटर स्तर से उस पर आ सकते हैं। BSD या Linux चलाने वाली मशीन राउटर के रूप में कार्य कर सकती है। या आप इसे करने के लिए एक आभासी उपकरण या बूट करने योग्य सीडी प्राप्त कर सकते हैं।


2

मानक Android डेवलपर टूल के एमुलेटर नियंत्रण कार्यों का उपयोग करके नेटवर्क विलंबता और गति सेट करना संभव है।

यदि ग्रहण का उपयोग कर रहे हैं: विंडो \ ओपन पर्सपेक्टिव \ डीडीएमएस का चयन करें स्क्रीन पर आपको "एमुलेटर कंट्रोल" नामक एक टैब दिखाई देगा। इस टैब में, आपको स्पीड और लेटेंसी विकल्प मिलेंगे। शीर्ष पर 'टेलीफोनी सेटिंग्स' की गति और विलंबता चयन हैं।

इन सेटिंग्स को संशोधित करने के अन्य तरीके हैं (उन्हें अपने एमुलेटर सेटअप में स्क्रिप्टिंग सहित), लेकिन सेटिंग्स तक पहुंचने का यह सबसे सरल तरीका है।


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