2013-09-29 9 views
5

Ich versuche, einen HTTP-Proxy-Server zu schreiben, der auf dem Gerät selbst ausgeführt werden würde. In der Tat muss eine Möglichkeit gefunden werden, den ausgehenden HTTP-Verkehr zu erfassen, der vom Gerät generiert wird. http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/Local Proxy Server läuft auf Android-Gerät

Das Problem ist, dass die HTTP-Anforderung an den tatsächlichen Server blockieren würde und nie wieder zurückkehren:

Der Code, den ich bisher habe OK kompiliert, wird es hier auf dem Code gefunden basiert.

Gibt es eine bessere Möglichkeit, einen solchen Dienst zu schreiben, ohne das Gerät zu rooten?

Antwort

4

Sie sollten SandroProxy überprüfen. Kann Verkehr auf nicht gerootetem Gerät caputre, wenn os Proxy-Einstellungen verwendet werden, oder mit Iptables-Regeln auf gerooteten. Verkehr wird in der lokalen SQLite-Datenbank gespeichert. Erfasste Daten können auch von Chrom Devtools untersucht werden. Um den Traffic in Ihrer App zu erfassen, sollten Sie den Quellcode für Plugins überprüfen. Es hat den ganzen Code für iptables Umleitungen und richtige Einstellungen.

Überprüfen Sie die Wiki-Link auf Google-Quellcode aus HowToInterceptTrafficOnMyOwn

http://code.google.com/p/sandrop/wiki/HowToInterceptTrafficOnMyOwn

btw: von sandroproxy Unterstützung senden :)

+0

Hallo SandroProxy-Unterstützung! Vielen Dank für Ihre Hilfe. Ich werde es geben und Ergebnisse hier posten. – fran6

+0

Hallo, bitte können Sie helfen? Ich bin konfrontiert mit Problem mit System.loadLibrary ("socketdest"); Ich verwende AndroidStudio und weiß nicht, wie man die jni-Bibliotheken erstellt – fran6

+1

Sie können diese verwenden, damit Sie sie überspringen können http://code.google.com/p /sandrop/downloads/detail?name=libsocketdest.so –

0

Ich habe ein Stück Software namens proxydroid verwendet, um mein Gerät als Proxy-Server zu verwenden, und es ist das einzige, das ich gefunden habe, das root nicht benötigt. Ich bin mir nicht sicher, ob es irgendeine Hilfe sein wird, aber es ist ein Open-Source-Projekt und der Code kann hier gefunden werden:

https://github.com/madeye/proxydroid

Ich habe bemerkt, dass die Anwendung nach einer Weile einfriert, oder wenn eine große Anzahl von Anfragen auf einmal gesendet wird, aber ich hatte keine Chance herauszufinden, warum das passiert.

+0

Hallo Kennifer! das ist sehr gut und ich werde experimentieren. Die Leistungseinschränkung ist kein großes Problem, da ich gerade versuche, ein PoC zu machen. – fran6

+0

Hallo Kennifer, ich habe festgestellt, dass Proxydroid die Arbeit für mich nicht macht, da ich nur Verkehr erfassen und abfangen will. Mit Proxy-Droid muss ich einen Proxy-Server haben, um zu verbinden :-( – fran6

0

Vergessen Sie über Proxy-Einstellung verwenden Facebook STETH Bibliothek (http://facebook.github.io/stetho/) alle Meinung HTTP-Anforderungen und Antworten vom Emulator/device

enter image description here