2013-09-29 19 views
5

Tôi đang cố gắng viết một máy chủ proxy http sẽ chạy trên thiết bị. Trong thực tế, cần phải tìm cách để nắm bắt lưu lượng truy cập http đi ra được tạo ra bởi thiết bị.Máy chủ proxy cục bộ đang chạy trên thiết bị Android

Mã Tôi đã cho đến nay được biên soạn OK, nó được dựa trên mã tìm thấy ở đây: http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/

Vấn đề là yêu cầu http đến máy chủ thực tế sẽ chặn và không bao giờ quay trở lại.

Có cách nào tốt hơn để viết một dịch vụ như vậy mà không cần root thiết bị không?

Trả lời

4

Bạn nên kiểm tra SandroProxy. Có thể lưu lượng truy cập trên thiết bị không bắt nguồn từ nếu cài đặt proxy của hệ điều hành được sử dụng hoặc với các quy tắc iptables trên thiết bị gốc. Lưu lượng truy cập được lưu trữ trong cơ sở dữ liệu sqlite cục bộ. Dữ liệu đã chụp cũng có thể được kiểm tra bởi chrome devtools. Để nắm bắt lưu lượng truy cập trong ứng dụng của bạn, bạn nên kiểm tra mã nguồn cho plugin. Nó có tất cả mã cho các chuyển hướng iptables và các thiết lập thích hợp.

Kiểm tra các liên kết wiki trên mã nguồn google HowToInterceptTrafficOnMyOwn

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

btw: gửi hỗ trợ sandroproxy :)

+0

Hỗ trợ Hi SandroProxy! Cảm ơn sự giúp đỡ của bạn. Tôi sẽ cung cấp cho nó một kết quả và gửi bài ở đây – fran6

+0

Xin chào, bạn có thể hỗ trợ không? vấn đề với System.loadLibrary ("socketdest"), tôi đang sử dụng AndroidStudio và không biết làm thế nào để xây dựng các thư viện jni – fran6

+1

Bạn có thể sử dụng nó để bạn có thể bỏ qua việc xây dựng nó. /sandrop/downloads/detail?name=libsocketdest.so –

0

Tôi đã sử dụng một phần mềm có tên proxydroid để sử dụng thiết bị của tôi làm máy chủ proxy và là ứng dụng duy nhất tôi tìm thấy không yêu cầu root. Tôi không chắc chắn nếu nó sẽ được bất kỳ sự giúp đỡ cho bạn, nhưng nó là một dự án mã nguồn mở và mã có thể được tìm thấy ở đây:

https://github.com/madeye/proxydroid

tôi đã nhận thấy rằng việc áp dụng sẽ đóng băng sau một thời gian, hoặc nếu một số lượng lớn yêu cầu được gửi cùng một lúc, nhưng tôi đã không có cơ hội để tìm hiểu lý do tại sao điều này xảy ra.

+0

Xin chào Kennifer! đó là rất tốt và tôi sẽ thử nghiệm. Giới hạn hiệu suất không phải là một vấn đề lớn như tôi chỉ cố gắng để làm một PoC vào lúc này. – fran6

+0

Hi Kennifer, tôi thấy rằng proxydroid không thực hiện công việc cho tôi vì tôi chỉ muốn nắm bắt và chặn lưu lượng truy cập. Với proxy droid, tôi cần phải có một máy chủ proxy để kết nối với :-( – fran6

0

Quên về việc thiết proxy, sử dụng Facebook Stetho thư viện (http://facebook.github.io/stetho/) để xem xét tất cả yêu cầu và phản hồi http từ trình giả lập/thiết bị

enter image description here

Các vấn đề liên quan