Android: Ghi lại các yêu cầu HTTP bằng thiết bị Android không root


88

Tôi có một ứng dụng Android sử dụng jar của bên thứ ba trong đó. Yêu cầu htp được gửi từ jar của bên thứ ba đến máy chủ khi ứng dụng đang chạy. Tôi cần nắm bắt Yêu cầu HTTP được gửi từ jar của bên thứ ba. Tôi đang tự hỏi liệu có cách nào dễ thực hiện với thiết bị chưa root không

Để bắt đầu: Tôi đã thử tải xuống "proxyDroid" nhưng nó cần điện thoại đã root. Tôi cũng đã thử tải xuống "shark for root" với "shark reader" cũng cần thiết bị đã root. Tôi đã thử nhiều ứng dụng khác có thể nắm bắt được yêu cầu hoàn chỉnh nhưng tất cả đều cần là thiết bị gốc

Tôi cần một cái gì đó mà fiddler / wirehark có thể làm cho các cửa sổ. Một bộ phân tích gói mạng có thể được tích hợp dễ dàng với ứng dụng Android có thể cung cấp đối tượng yêu cầu với tất cả các trường tiêu đề trong đó.


Đây có phải là "ứng dụng Android" của bạn không?
CommonsWare

Có ứng dụng Android của tôi
Venkatesh

Xin chào @Venkatesh, bạn đã bao giờ chặn được các yêu cầu http với android chưa root thành công chưa?

@lalalalalala Không. Tôi không thể đạt được điều này với thiết bị không root.
Venkatesh

Câu trả lời:


78

Bạn có thể cài đặt Charles - proxy HTTP / giám sát HTTP / Reverse Proxy cho phép nhà phát triển xem tất cả lưu lượng HTTP và SSL / HTTPS giữa máy của họ và Internet - trên PC hoặc MAC của bạn.

Các bước cấu hình:

  • Để điện thoại và PC hoặc MAC của bạn trong cùng một mạng LAN
  • Khởi chạy Charles mà bạn đã cài đặt (cổng proxy mặc định là 8888)
  • Thiết lập cấu hình wifi cho điện thoại của bạn: đặt ip của ủy quyền thành ip của PC hoặc MAC của bạn, cổng ủy quyền thành 8888
  • Lauch ứng dụng của bạn trong điện thoại của bạn. Và giám sát các yêu cầu http trên Charles.

4
hướng dẫn này hoạt động tốt: jaanus.com/blog/2012/02/12/…
Lionel

18
Thật không may, đó là một phần mềm chia sẻ.
hoàn mỹ

1
Bạn có thể muốn thử bộ phần mềm ợ hơi khác để hoàn thành công việc tương tự. Nó rất mạnh mẽ và miễn phí: portwigger.net/burp
gerodim

Có công cụ nào để làm điều tương tự với lưu lượng web socket không? Ý tôi là trên chính Android. (Tôi biết Wirehark / fiddler cho PC)
Amol M Kulkarni,

Cái gì dành cho Android
mohsen

17

Tôi vừa cài đặt Drony, không phải là phần mềm chia sẻ và nó không yêu cầu root trên điện thoại di động với Android 3.x trở lên

https://play.google.com/store/apps/details?id=org.sandroproxy.drony

Nó chặn các yêu cầu và được hiển thị trên LOG


Đây là những gì tôi đang tìm kiếm, nhưng tôi muốn có mã chính xác cho ứng dụng này, Bạn có thể đăng liên kết cho mã nguồn cho android không?
Smit.Satodia

2
@ Smit.Satodia Tôi không biết nếu họ chia sẻ / công bố mã nguồn, nếu có ai phát hiện nó cảm thấy tự do để gửi liên kết như một lời nhận xét
Mauricio Gracia Gutierrez

2
Mã nguồn có thể được tìm thấy ở đây: github.com/SuppSandroB/sandrop Ban đầu nó được lưu trữ trên Google Code ở đây: code.google.com/archive/p/sandrop
GabLeRoux

1
@JanWytze nếu bạn liên hệ với các nhà phát triển có thể họ có thể giúp bạn điều này.
Mauricio Gracia Gutierrez

17

Có nhiều cách để làm điều đó nhưng một trong số đó là cách làm khó

Cấu hình Fiddler

  1. Đi đến tùy chọn
  2. Trong tab HTTPS , bật Chụp kết nối HTTPSgiải mã lưu lượng HTTPS
  3. Trong tab Kết nối , bật Cho phép máy tính từ xa kết nối
  4. Khởi động lại fiddler

Cấu hình Android

  1. Kết nối với cùng một mạng
  2. Sửa đổi cài đặt mạng
  3. Thêm proxy để kết nối với địa chỉ IP của PC (hoặc tên máy chủ) và cổng của fiddler mặc định (8888 / bạn có thể thay đổi điều đó trong cài đặt)

Bây giờ bạn có thể xem nhật ký đầy đủ từ thiết bị của mình trong fiddler

Ngoài ra, bạn có thể tìm thấy một hướng dẫn đầy đủ tại đây


2
Fiddler beta có sẵn trên macOS (dựa trên mono). Đây là một tin tốt nếu bạn không có PC.
MacKentoch

Cảm ơn nhưng tôi có nghĩa là tất cả các máy tính trong câu trả lời này. PC / Máy tính xách tay / vv ... :) @MacKentoch
Arash Hatami

6

Bạn có thể sử dụng fiddler làm webdebugger http://www.telerik.com/fiddler/web-debugging

Fiddler là một công cụ gỡ lỗi từ phần mềm telerik, giúp bạn chặn mọi yêu cầu được khởi tạo từ máy của bạn.


4
Mặc dù liên kết này có thể trả lời câu hỏi, nhưng tốt hơn hết bạn nên đưa các phần thiết yếu của câu trả lời vào đây và cung cấp liên kết để tham khảo. Các câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi
zohar

5

Bây giờ là năm 2020, đối với giải pháp mới nhất, bạn có thể sử dụng Burp Suite để đánh giá lưu lượng truy cập https mà không cần root thiết bị Android của mình.

Các bước:

  1. Cài đặt Burp Suite

  2. Bật Proxy

  3. Nhập chứng nhận vào điện thoại Android của bạn

  4. Thay đổi cấu hình Wifi của bạn để nghe proxy

  5. Lợi nhuận!

Tôi đã viết hướng dẫn đầy đủ và ảnh chụp màn hình về cách thực hiện tại đây: https://www.yodiw.com/monitor-android-network-traffic-with-burp/


Rất vui được sao chép dữ liệu từ trang web để bạn trả lời ở đây. Vì trang web của bạn có thể bị hỏng. Ngoài ra SO khuyến khích trích dẫn hơn là liên kết vì lý do tương tự. Khác với hướng dẫn tuyệt vời đó.
Đánh dấu

Mặc dù công bằng mà nói, chỉ cần cải thiện stackoverflow.com/a/39684919/5506988 thì tốt hơn là viết một "câu trả lời" khác .... Dù sao thì cũng rất tuyệt.
Đánh dấu

4

bạn có thể sử dụng burp-suite. làm theo quy trình dưới đây.

Định cấu hình trình nghe Burp Proxy

Trong Burp, hãy chuyển đến tab “Proxy” và sau đó là tab “Tùy chọn”. Trong phần “Trình nghe proxy”, hãy nhấp vào nút “Thêm”.

Trong tab "Ràng buộc", trong hộp "Liên kết với cổng:", nhập số cổng hiện không được sử dụng, ví dụ: "8082". Sau đó chọn tùy chọn "Tất cả giao diện" và nhấp vào "OK".

Định cấu hình thiết bị của bạn để sử dụng proxy

Trong thiết bị Android của bạn, đi tới menu "Cài đặt".

Nếu thiết bị của bạn chưa được kết nối với mạng không dây bạn đang sử dụng, thì hãy bật nút "Wi-Fi" và nhấn vào nút "Wi-Fi" để truy cập menu "Wi-Fi".

Trong bảng "Mạng Wi-Fi", hãy tìm mạng của bạn và nhấn vào mạng đó để hiển thị menu kết nối.

Nhấn vào "Kết nối". Nếu bạn đã định cấu hình mật khẩu, hãy nhập mật khẩu đó và tiếp tục.

Khi bạn đã kết nối, nhấn và giữ nút mạng để hiển thị menu ngữ cảnh. Nhấn vào “Sửa đổi cấu hình mạng”.

Đảm bảo rằng hộp "Hiển thị tùy chọn nâng cao" được chọn.

Thay đổi “Cài đặt proxy” thành “Thủ công” bằng cách nhấn vào nút.

Sau đó, nhập IP của máy tính đang chạy Burp vào “Tên máy chủ proxy”. Nhập số cổng được cấu hình trong phần “Trình xử lý proxy” trước đó, trong ví dụ này là “8082”. Nhấn vào “Lưu”.

Kiểm tra cấu hình

Trong Burp, hãy chuyển đến tab "Proxy Intercept" và đảm bảo rằng chức năng chặn đang "bật" (nếu nút cho biết "Intercept is off", hãy nhấp vào nút đó để chuyển đổi trạng thái chặn).

Mở trình duyệt trên thiết bị Android của bạn và truy cập trang web HTTP (bạn có thể truy cập trang web HTTPS khi bạn đã cài đặt Chứng chỉ CA của Burp trong thiết bị Android của mình.)

Yêu cầu sẽ được chặn trong Burp.


2

SandroProxy có vẻ tốt hơn Drony (của cùng một nhà phát triển): Bạn có thể (nhưng không cần phải) xem và phân tích lưu lượng truy cập trong trình duyệt của PC một cách thuận tiện.

Cũng nên hoạt động trong trình giả lập.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.