Festlegen von Ethernet-Proxy-Einstellungen ohne WLAN

Ich spiele mit dem neuesten Android-x86 (4.4) in Virtualbox herum. Das Setup kann nur über ein NAT-Ethernet-Gerät, das von Virtual Box emuliert wird, eine Verbindung zum externen Netzwerk herstellen. Dies wird automatisch konfiguriert und ich kann Computer in meinem LAN anpingen.

Wenn ich export http_proxy=<host>:<port>in einem Terminal bin, kann ich wgetWebseiten aufrufen. Ich kann die Proxy-Einstellungen jedoch nicht global für alle Apps festlegen.

Die Proxy-Einstellungen werden erst angezeigt, nachdem ein WLAN-Netzwerk verbunden ist, und mir fehlen WLAN-Geräte in der virtuellen Maschine.

Ich habe Folgendes im Root-Terminal versucht, auf das zugegriffen werden kann alt+f1:

setprop global_http_proxy_host <host>
setprop global_http_proxy_port <port>
setprop net.gprs.http-proxy http://<host>:<port>

Doch dies bleibt wirkungslos. Auch neuen Terminals fehlt die env-Variable für den Proxy. Diese Einstellungen scheinen gesetzt zu sein, wenn ich sie durch Ausführen überprüfegetprop

Ich habe diesen Link zu dem Fragment gefunden, das den Proxy-Selektor für das WLAN anzuzeigen scheint.

Gibt es eine Möglichkeit, alle Einstellungen, die von diesem Fragment betroffen sind, manuell festzulegen?

Wenn die Android-Version 6 oder 7 ist, ist hier die Lösung: android.stackexchange.com/a/186820

Antworten (1)

Diese Lösung hat bei mir funktioniert.

Geben Sie einfach den folgenden Befehl in einem Terminal ein (change PROXYIP:PROXYPORT)

iptables -t nat -A OUTPUT -o eth0 -p tcp --dport 80 -j DNAT --to PROXYIP:PROXYPORT

Quelle: https://groups.google.com/forum/#!topic/android-x86/XfIRyHQ5nmk

Ich hatte auch alle Ihre Befehle ohne Erfolg ausprobiert. Ich steckte hinter einem Proxy fest, als ich versuchte, Android x86 mit einer VirtualBox-VM einzurichten, die nur eth0 hatte. Ich blieb beim Aktivierungsbildschirm hängen und löste die erforderlichen Webseiten nicht auf, um mit dem Betriebssystem fortzufahren. Nachdem ich den obigen Befehl ausgeführt hatte, konnte ich das Internet erreichen und fortfahren. Die Ergebnisse können je nach Proxy-Umgebung variieren.

Edit: Das hat mich nicht zu weit gebracht, aber es hat mich irgendwohin gebracht. Der gleiche Trick funktionierte bei 443 nicht.

Konnten Sie es für 443 zum Laufen bringen? Ich bekomme keine Proxy-SSL-Verbindungen, egal was ich tue. Http funktioniert gut.
Überprüfen Sie, ob SandroProxy Optionen zum Weiterleiten an Proxy an Proxy hat
protoent* getprotobyname(char const*)(3) ist auf Android nicht implementiert
@ Saurabh3321 Transparentes Proxying httpserfordert SSL-Bump (MITM). Sie müssen die Zertifizierungsstelle des Proxys dem Gerät/der App hinzufügen.