Bagaimana cara mensimulasikan kehilangan paket pada perangkat Android?

11

Saya ingin mensimulasikan kehilangan paket pada perangkat Android yang di-rooting untuk melihat bagaimana tingkat yang berbeda mempengaruhi kualitas streaming video. Saya sudah mencoba netem dan iptables, tanpa hasil:

netem :

# 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".

Apakah formatnya salah atau apakah mungkin menambahkan dukungan netem entah bagaimana?

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.

Apakah ada alternatif lain di Android?

fejd
sumber
3
Pertanyaan bagus! Pikir saya: sebagai alternatif, mungkin terhubung ke router wifi dan throttle koneksi di sana jika router Anda memiliki kualitas layanan atau serupa?
Bryan Denny
Agak terkait, di sini adalah cara untuk menangkap paket pada perangkat Android yang di-root: vbsteven.be/blog/…
Bryan Denny
Konfigurasi router mungkin cara yang tepat untuk melakukannya, dan saya punya simulasi di tempat itu dengan menggunakan WANem . Namun, saya ingin memiliki cara portabel yang tidak bergantung pada konfigurasi jaringan, atau antarmuka jaringan dalam hal ini. Pada dasarnya saya ingin melakukan unit test di mana saya menjalankan streaming video, menambah kehilangan paket dan menjalankan video yang sama lagi.
fejd

Jawaban:

2

Karena perangkat Anda di-rooting, Anda dapat menginstal Proxy. Saya telah menggunakan TransparentProxy . Kemudian atur proxy di komputer lain di jaringan lokal Anda. Arahkan TransparentProxy ke proxy itu dan kemudian set Proxy Anda ke throttle. Beberapa proksi yang mungkin berfungsi termasuk CharlesProxy atau Service Capture .

Jika itu tidak berhasil maka Anda bisa datang dari tingkat router. Mesin yang menjalankan BSD atau Linux dapat berfungsi sebagai router. Atau Anda bisa mendapatkan alat Virtual atau CD bootable untuk melakukannya untuk Anda.

Jim McKeeth
sumber
2

Dimungkinkan untuk mengatur latensi dan kecepatan jaringan menggunakan fungsi kontrol emulator dari alat Pengembang Android standar.

Jika menggunakan eclipse: Pilih Window \ Open Perspective \ DDMS Pada layar Anda akan melihat tab bernama "Kontrol Emulator". Di tab ini, Anda akan menemukan opsi Kecepatan dan Latensi. 'Pengaturan Telephony' di bagian paling atas memiliki pilihan kecepatan dan latensi.

Ada cara lain untuk mengubah pengaturan ini (termasuk membuat skrip di pengaturan emulator Anda), tetapi ini adalah cara paling sederhana untuk mengakses pengaturan.

Booger
sumber