Använda en Android-telefons proxy över USB med adb-vidarebefordran
Förstå en adb-forward-anslutning från en bärbar dator till en HTTP-proxy på telefonen, inklusive loopback-adresser, mobilt utflöde och den separata SSH SOCKS-varianten.
Om en auktoriserad Android-enhet redan kör en HTTP-proxy som nås via adb på port 8080, vidarebefordra en port på den bärbara datorn till den:
adb -s DEVICE_SERIAL forward tcp:6400 tcp:8080
Använd enhetens faktiska serienummer och ställ sedan in webbläsarens HTTP-proxy på den bärbara datorn till 127.0.0.1:6400. Den första porten är den bärbara datorns slutpunkt; den andra är telefonens tjänst. adb tillhandahåller TCP-vägen, inte proxyprotokollet.
laptop browser
-> laptop 127.0.0.1:6400
-> adb USB forwarding
-> phone TCP port 8080
-> phone's outbound network
Telefonens proxy måste stödja de begärda operationerna, inklusive CONNECT för HTTPS i webbläsaren. Använd USB-felsökning bara med den auktoriserade enheten och en betrodd dator. Den här vägen kräver inte att operatören tillåter oombedda internetanslutningar till telefonen.
Verifiera utflödet separat från USB-nåbarhet. Proxy använder telefonens valda utgående nätverk om inte dess app binder ett annat. Aktivt Wi-Fi, en VPN eller explicit app-routing kan göra utflödet annorlunda än mobildata.
Om telefonen i stället kör en SSH-server, vidarebefordra den porten och skapa SOCKS på den bärbara datorn:
adb -s DEVICE_SERIAL forward tcp:2222 tcp:2222
ssh -N -D 127.0.0.1:8899 -p 2222 [email protected]
Här använder webbläsaren SOCKS på 127.0.0.1:8899, och SSH öppnar destinationsanslutningar på telefonen. Det är ett alternativ till att vidarebefordra HTTP-proxyn direkt; ingen av uppsättningarna kräver en offentlig lyssnare.
När du är klar, ta bort den specifika adb-posten, till exempel adb -s DEVICE_SERIAL forward --remove tcp:6400. Att stänga webbläsaren tar inte bort vidarebefordringstillståndet.