adb 포워딩으로 USB를 통해 Android 휴대폰 프록시 사용하기
노트북에서 휴대폰에서 호스팅되는 HTTP 프록시로 이어지는 adb 포워드 연결을 루프백 주소, 셀룰러 이그레스, 별도의 SSH SOCKS 변형과 함께 이해합니다.
승인된 Android 기기가 이미 adb를 통해 8080 포트에서 접근 가능한 HTTP 프록시를 실행 중이라면 노트북 포트를 그쪽으로 전달하십시오:
adb -s DEVICE_SERIAL forward tcp:6400 tcp:8080
기기의 실제 시리얼을 사용하고, 노트북 브라우저의 HTTP 프록시를 127.0.0.1:6400로 설정하십시오. 첫 번째 포트는 노트북 쪽 끝점이고, 두 번째는 휴대폰의 서비스입니다. adb는 TCP 경로를 제공하며 프록시 프로토콜을 제공하지 않습니다.
laptop browser
-> laptop 127.0.0.1:6400
-> adb USB forwarding
-> phone TCP port 8080
-> phone's outbound network
휴대폰 프록시는 브라우저 HTTPS용 CONNECT를 포함해 요청된 작업을 지원해야 합니다. USB 디버깅은 승인된 기기와 신뢰할 수 있는 컴퓨터에서만 사용하십시오. 이 경로는 통신사가 휴대폰으로의 요청되지 않은 인터넷 연결을 허용할 것을 요구하지 않습니다.
USB 도달 가능성과 별개로 이그레스를 확인하십시오. 프록시는 애플리케이션이 다른 네트워크를 바인딩하지 않는 한 휴대폰이 선택한 아웃바운드 네트워크를 사용합니다. 활성 Wi-Fi, VPN 또는 명시적 앱 라우팅은 이그레스를 모바일 데이터와 다르게 만들 수 있습니다.
휴대폰이 대신 SSH 서버를 실행한다면 해당 포트를 전달하고 노트북에서 SOCKS를 만드십시오:
adb -s DEVICE_SERIAL forward tcp:2222 tcp:2222
ssh -N -D 127.0.0.1:8899 -p 2222 [email protected]
여기서 브라우저는 127.0.0.1:8899에서 SOCKS를 사용하고, SSH는 휴대폰에서 목적지 연결을 엽니다. HTTP 프록시를 직접 전달하는 대안이며, 두 구성 모두 공용 리스너가 필요하지 않습니다.
작업을 마치면 해당 adb 항목을 제거하십시오. 예를 들어 adb -s DEVICE_SERIAL forward --remove tcp:6400입니다. 브라우저를 닫아도 포워딩 상태는 제거되지 않습니다.