2016-10-08 2 views
7

안녕하세요, 저는 안드로이드 장치에서 일어나는 모든 네트워크 활동을 가로 채고 싶습니다. 예를 들어 브라우저가 일부 웹 사이트 또는 api에 http 연결을 여는 것입니다.안드로이드 자바/JNI에서 네트워크를 가로 채기

이것이 가능하지 않다면 적어도 브라우저 URL을 가로 채고 싶습니다. android firefox chrome or opera.

그래서 사용자가 브라우저에서 URL을 열 때마다 전화를 받아야합니다. 나는 활동과 요격에 의도 필터를 제공하는 것에 대해 이미 알고있다. 그러나 요청이 브라우저의 경우 발생하지 않는 인 텐트 리졸버로 이동하면이 모든 일이 발생합니다.

비슷한 질문이 여기에 열렸습니다. intercepting internet calls android 하지만 이에 대한 응답은 없습니다.

누구든지 해결책이 있거나 유사한 요구 사항이있는 경우 논의하십시오.

기타 리소스 https://gist.github.com/madeye/2297083 프록시도 하나의 솔루션이지만 구현에 대한 단서가 없습니다.

+0

당신이 트림 스위트에 대해 알고 있습니까? 여기에는 [burp extender] (https://portswigger.net/burp/extender/)라는 API가 있습니다. – danny

답변

1

이렇게하려면 VPN이나 ​​프록시와 같은 것을 사용해야합니다. 아래의 링크에서 구글에서 링크와 전체 프로젝트가있다 :

샘플 : https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn/ToyVpnService.java

전체 작업 프로젝트 : 가 https://github.com/hexene/LocalVPN

+0

요청은 로컬 프록시를 통해 진행됩니다. 프록시가 아닌 다른 방법이 있습니까? – sector11

+1

네,하지만 안드로이드 장치에 루트 액세스 권한이 있어야합니다. 그런 다음 안드로이드가 리눅스 기반이기 때문에 리눅스 명령으로 lotsa를 할 수 있습니다. 이 방법은 루트 사용자가 아니더라도 모든 네트워크 트래픽을 차단할 수있는 유일한 방법입니다. –