Android 기기에서 패킷 손실을 어떻게 시뮬레이트합니까?


11

루팅 된 Android 기기에서 패킷 손실을 시뮬레이션하여 여러 레벨이 비디오 스트리밍 품질에 어떤 영향을 미치는지 확인하고 싶습니다. 나는 성공없이 netem과 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".

형식이 잘못되었거나 어떻게 든 netem 지원을 추가 할 수 있습니까?

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.

안드로이드에 다른 대안이 있습니까?


3
좋은 질문! 내 생각 : 대안으로, 라우터가 서비스 품질 또는 이와 유사한 경우 Wi-Fi 라우터에 연결하고 연결을 조절할 수 있습니까?
Bryan Denny

종류 관련의, 여기에 어떻게 캡처 패킷에 뿌리 안드로이드 장치에 있습니다 : vbsteven.be/blog/...
브라이언 데니

라우터 구성은 적절한 방법 일 것 입니다. WANem 을 사용하여 해당 시뮬레이션을 구현했습니다 . 그러나 네트워크 구성이나 해당 문제에 대한 네트워크 인터페이스에 의존하지 않는 이식 가능한 방법을 원합니다. 기본적으로 비디오 스트리밍을 실행하고 패킷 손실을 늘리고 동일한 비디오를 다시 실행하는 단위 테스트를 원합니다.
fejd

답변:


2

장치가 루팅되었으므로 프록시를 설치할 수 있습니다. TransparentProxy 사용했습니다 . 그런 다음 로컬 네트워크의 다른 컴퓨터에서 프록시를 설정하십시오. TransparentProxy를 해당 프록시를 가리킨 다음 프록시를 조절로 설정하십시오. 작동 할 수있는 프록시로는 CharlesProxy 또는 Service Capture가 있습니다.

그래도 작동하지 않으면 라우터 수준에서 올 수 있습니다. BSD 또는 Linux를 실행하는 머신은 라우터로 작동 할 수 있습니다. 또는 가상 어플라이언스 나 부팅 가능한 CD로 구할 수 있습니다.


2

표준 Android 개발자 도구의 에뮬레이터 제어 기능을 사용하여 네트워크 대기 시간 및 속도를 설정할 수 있습니다.

이클립스를 사용하는 경우 : Window \ Open Perspective \ DDMS를 선택하십시오. 화면에 "Emulator Control"이라는 탭이 나타납니다. 이 탭에는 속도 및 대기 시간 옵션이 있습니다. 맨 위에있는 '전화 통신 설정'에는 속도 및 대기 시간이 선택되어 있습니다.

에뮬레이터 설정에서 스크립팅을 포함하여 이러한 설정을 수정하는 다른 방법이 있지만 설정에 액세스하는 가장 간단한 방법입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.