네트워크를 통한 안드로이드 디버거 연결 프로토콜의 흐름에 대한 설명이 필요합니다.

네트워크를 통한 안드로이드 디버거 연결 프로토콜의 흐름에 대한 설명이 필요합니다.

우리는 qemu 종류의 가상 플랫폼에서 Android 7.1을 부팅했습니다. 네트워크를 통해 ADB 디버거를 연결하려고 합니다. 플랫폼은 가상 플랫폼과 호스트 간의 통신을 위해 slirp를 사용합니다. 가상 플랫폼에서 실행되는 Android의 포트 5585를 호스트의 포트 15585에 바인딩했습니다.

Android가 부팅되면 Android 기기의 터미널을 사용하여 아래와 같이 adb 포트를 5585로 설정합니다. $ stop adbd $ setprop service.adb.tcp.port 5585 $ start adbd

우리는 Android SDK가 실행되는 머신을 하나 더 사용하고 있습니다. Android 시스템에서 adb tcpip 15585 adb connect :15585 명령을 실행합니다.

Android를 호스팅하는 가상 플랫폼에서 캡처된 패킷을 분석했을 때 포트 5585에서 ADB 연결 요청을 받고 있지만 Android의 스택이 연결 요청과 다시 통신할 수 없다는 것을 확인했습니다. Android 플랫폼에서 연결 요청을 시작한 시스템의 IP 주소를 확인하기 위해 ARP 요청이 나가고 있지만 응답을 받지 못하는 것을 볼 수 있습니다.

내 질문은 ARP 요청 응답을 받지 못할 때까지 Android 데몬이 응답하지 않는지 여부입니다. 또는 데몬은 ARP 요청이 응답을 받지 않고도 연결 요청에 계속 응답할 수 있습니까?

관련 정보