Program Club

Android : 루팅되지 않은 Android 기기로 HTTP 요청 캡처

proclub 2020. 11. 11. 20:50
반응형

Android : 루팅되지 않은 Android 기기로 HTTP 요청 캡처


타사 항아리를 사용하는 Android 응용 프로그램이 있습니다. 애플리케이션이 실행 중일 때 Http 요청이 타사 jar에서 서버로 전송됩니다. 타사 jar에서 보낸 HTTP 요청을 캡처해야합니다. 루팅되지 않은 장치 로 쉽게 구현할 수있는 방법이 있는지 궁금합니다.

시작하려면 : "proxyDroid"를 다운로드하려고 시도했지만 루팅 된 전화가 필요합니다. 또한 루팅 된 장치가 필요한 "shark reader"로 "루트 용 샤크"를 다운로드 해 보았습니다. 완전한 요청을 캡처 할 수있는 다른 많은 응용 프로그램을 시도했지만 필요한 모든 것 루팅 된 기기

fiddler / wireshark가 Windows에서 할 수있는 작업이 필요합니다. 모든 헤더 필드가있는 요청 객체를 제공 할 수있는 Android 애플리케이션과 쉽게 통합 될 수있는 네트워크 패킷 분석기입니다.


개발자가 컴퓨터와 인터넷 사이의 모든 HTTP 및 SSL / HTTPS 트래픽을 PC 또는 MAC에 볼 수 있도록하는 HTTP 프록시 / HTTP 모니터 / 역 프록시 인 Charles를 설치할 수 있습니다.

구성 단계 :

  • 전화기와 PC 또는 MAC을 동일한 LAN에 배치하십시오.
  • 설치 한 Charles를 시작합니다 (기본 프록시 포트는 8888).
  • 휴대폰의 Wi-Fi 구성 설정 : 대리인의 IP를 PC 또는 MAC의 IP로 설정하고 대리인의 포트를 8888로 설정합니다.
  • 휴대 전화에 앱을 설치하세요. 그리고 Charles에서 http 요청을 모니터링합니다.

방금 Drony를 설치했으며 쉐어웨어가 아니며 Android 3.x 이상을 사용하는 휴대폰에서 루트가 필요하지 않습니다.

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

요청을 가로 채고 LOG에 표시됩니다.


이를 수행하는 방법은 여러 가지가 있지만 그중 하나는 피들러입니다.

Fiddler 구성

  1. 옵션으로 이동
  2. 에서 HTTPS 탭 활성화 캡처 HTTPS 넥트해독 HTTPS 트래픽을
  3. 에서 연결 탭 활성화 원격 컴퓨터가 연결하도록 허용
  4. 피들러 다시 시작

Android 구성

  1. 동일한 네트워크에 연결
  2. 네트워크 설정 수정
  3. PC의 IP 주소 (또는 호스트 이름) 및 기본 피들러 포트 (8888 / 설정에서 변경할 수 있음)와 연결하기위한 프록시 추가

이제 Fiddler에서 장치의 전체 로그를 볼 수 있습니다.

또한 여기 에서 전체 지침을 찾을 수 있습니다.


디버거 http://www.telerik.com/fiddler/web-debugging으로 fiddler를 사용할 수 있습니다 .

Fiddler 는 컴퓨터에서 시작된 모든 요청을 가로 챌 수 있도록 도와주는 telerik 소프트웨어의 디버깅 도구입니다.


트림 스위트를 사용할 수 있습니다. 아래 절차를 따르십시오.

Burp 프록시 리스너 구성

Burp에서 "Proxy"탭으로 이동 한 다음 "Options"탭으로 이동합니다. "Proxy Listeners"섹션에서 "추가"버튼을 클릭합니다.

"바인딩"탭의 "포트에 바인딩 :"상자에 현재 사용되지 않는 포트 번호 (예 : "8082")를 입력 한 다음 "모든 인터페이스"옵션을 선택하고 "확인"을 클릭합니다.

프록시를 사용하도록 장치 구성

Android 장치에서 "설정"메뉴로 이동합니다.

장치가 사용중인 무선 네트워크에 아직 연결되어 있지 않은 경우 "Wi-Fi"버튼을 켜고 "Wi-Fi"버튼을 눌러 "Wi-Fi"메뉴에 액세스합니다.

"Wi-Fi 네트워크"표에서 네트워크를 찾아 탭하여 연결 메뉴를 불러옵니다.

"연결"을 누릅니다. 암호를 구성한 경우 암호를 입력하고 계속합니다.

연결되면 네트워크 버튼을 길게 눌러 컨텍스트 메뉴를 불러옵니다. "네트워크 구성 수정"을 탭합니다.

"고급 옵션 표시"상자가 선택되어 있는지 확인합니다.

버튼을 눌러 "프록시 설정"을 "수동"으로 변경합니다.

그런 다음 Burp를 실행하는 컴퓨터의 IP를“Proxy hostname”에 입력합니다. 앞의“Proxy Listeners”섹션에서 구성한 포트 번호 (이 예에서는“8082”)를 입력합니다.“Save”를 탭합니다.

구성 테스트

In Burp, go to the "Proxy Intercept" tab, and ensure that intercept is “on” (if the button says “Intercept is off" then click it to toggle the interception status).

Open the browser on your Android device and go to an HTTP web page (you can visit an HTTPS web page when you have installed Burp's CA Certificate in your Android device.)

The request should be intercepted in Burp.


SandroProxy seems to be better than Drony (by the same developer): You can (but do not have to) conveniently view and analyze the traffic in your PC's browser.

Should work in emulators as well.


Set a https://mitmproxy.org/ as proxy on a same LAN

  • Open Source
  • Built in python 3
  • Installable via pip

참고URL : https://stackoverflow.com/questions/17684936/android-capturing-http-requests-with-non-rooted-android-device

반응형