De proxy van een Android-telefoon via USB gebruiken met adb-forwarding
Begrijp een adb-forward-verbinding van een laptop naar een HTTP-proxy op de telefoon, inclusief loopback-adressen, mobiele uitgang en de aparte SSH SOCKS-variant.
Als een geautoriseerd Android-apparaat al een HTTP-proxy draait die via adb op poort 8080 bereikbaar is, stuur dan een laptoppoort daarnaartoe door:
adb -s DEVICE_SERIAL forward tcp:6400 tcp:8080
Gebruik het werkelijke serienummer van het apparaat en stel daarna de HTTP-proxy van de laptopbrowser in op 127.0.0.1:6400. De eerste poort is het eindpunt van de laptop; de tweede is de dienst van de telefoon. adb levert het TCP-pad, niet het proxyprotocol.
laptop browser
-> laptop 127.0.0.1:6400
-> adb USB forwarding
-> phone TCP port 8080
-> phone's outbound network
De proxy van de telefoon moet de gevraagde bewerkingen ondersteunen, waaronder CONNECT voor HTTPS in de browser. Gebruik USB-foutopsporing alleen met het geautoriseerde apparaat en een vertrouwde computer. Dit pad vereist niet dat de provider ongevraagde internetverbindingen naar de telefoon toestaat.
Controleer de uitgang apart van USB-bereikbaarheid. De proxy gebruikt het gekozen uitgaande netwerk van de telefoon, tenzij de app een ander netwerk bindt. Actief Wi-Fi, een VPN of expliciete app-routering kunnen de uitgang anders maken dan mobiele data.
Als de telefoon in plaats daarvan een SSH-server draait, stuur die poort dan door en maak SOCKS op de laptop:
adb -s DEVICE_SERIAL forward tcp:2222 tcp:2222
ssh -N -D 127.0.0.1:8899 -p 2222 [email protected]
Hier gebruikt de browser SOCKS op 127.0.0.1:8899, en SSH opent bestemmingsverbindingen op de telefoon. Het is een alternatief voor het direct doorsturen van de HTTP-proxy; geen van beide opstellingen vereist een openbare luisteraar.
Verwijder na afloop het specifieke adb-item, bijvoorbeeld adb -s DEVICE_SERIAL forward --remove tcp:6400. Het sluiten van de browser verwijdert de doorstuurstatus niet.