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


88

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

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

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


이것이 "안드로이드 애플리케이션"입니까?
CommonsWare

예 내 안드로이드 응용 프로그램
Venkatesh

안녕하세요 @Venkatesh, 루팅되지 않은 안드로이드로 http 요청을 가로채는 데 성공한 적이 있습니까?

@Lalalalalala 아니에요. 루팅되지 않은 장치로는 이것을 달성 할 수 없습니다.
Venkatesh

답변:


77

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

구성 단계 :

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

4
이 튜토리얼은 잘 작동 : jaanus.com/blog/2012/02/12/...
라이오넬

17
불행히도 쉐어웨어입니다.
flawyte 2014 년

1
동일한 작업을 수행하기 위해 또는 트림 스위트를 시도해 볼 수도 있습니다. 그것은 매우 강력하고 무료 : portswigger.net/burp
gerodim

웹 소켓 트래픽에 대해 동일한 작업을 수행하는 도구가 있습니까? 나는 안드로이드 자체를 의미합니다. (PC 용 wireshark / fiddler를 알고 있습니다.)
Amol M Kulkarni

무엇 안드로이드입니다
모흐센

17

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

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

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


이것이 제가 찾고있는 것이지만이 앱에 대한 정확한 소스 코드를 원합니다. 안드로이드 용 소스 코드 링크를 게시 할 수 있습니까?
Smit.Satodia

2
그들이 공유하는 경우 사람의 발견은이 주석으로 링크를 게시 주시기 경우 Smit.Satodia @ 나는 소스 코드를 게시 / 잘 모릅니다
마우 그라시아 구티에레즈

2
소스 코드는 여기에서 찾을 수 있습니다 : github.com/SuppSandroB/sandrop 원래 Google 코드에서 호스팅되었습니다 : code.google.com/archive/p/sandrop
GabLeRoux

1
@JanWytze 개발자에게 연락하면 도움이 될 수 있습니다.
Mauricio Gracia Gutierrez

17

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

Fiddler 구성

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

Android 구성

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

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

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


2
Fiddler 베타는 macOS에서 사용할 수 있습니다 (mono에 의존). PC가 없다면 좋은 소식입니다.
MacKentoch

감사하지만이 답변의 모든 컴퓨터를 의미합니다. PC / 노트북 / 등 ... :) @MacKentoch
아라 쉬 하타미

6

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

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


4
이 링크가 질문에 답할 수 있지만 여기에 답변의 필수 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되는 경우 링크 전용 답변은 무효가 될 수 있습니다
하르

5

2020 년이되었습니다. 최신 솔루션의 경우 Burp Suite를 사용하여 Android 기기를 루팅하지 않고도 https 트래픽을 스니핑 할 수 있습니다.

단계 :

  1. Burp Suite 설치

  2. 프록시 활성화

  3. Android 휴대폰에서 인증 가져 오기

  4. Wi-Fi 구성을 프록시 수신으로 변경

  5. 이익!

여기에 전체 튜토리얼과 스크린 샷을 작성했습니다 : https://www.yodiw.com/monitor-android-network-traffic-with-burp/


사이트의 데이터를 복사하여 여기에 대답하는 것이 좋을 것입니다. 당신이 사이트이기 때문에 다운 될 수 있습니다. 또한 이와 같은 이유로 링크보다는 인용을 권장합니다. 그 훌륭한 튜토리얼 외에.
마크

공평하다고하더라도 다른 "답변"을 작성하는 것보다 stackoverflow.com/a/39684919/5506988 을 개선하는 것이 더 낫습니다 .... 어쨌든 훌륭합니다.
마크

4

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

Burp 프록시 리스너 구성

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

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

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

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

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

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

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

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

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

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

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

구성 테스트

Burp에서 "Proxy Intercept"탭으로 이동하여 인터셉트가 "on"인지 확인합니다 (버튼에 "Intercept is off"라고 표시된 경우이를 클릭하여 인터셉트 상태를 전환).

Android 장치에서 브라우저를 열고 HTTP 웹 페이지로 이동합니다 (Android 장치에 Burp의 CA 인증서를 설치 한 경우 HTTPS 웹 페이지를 방문 할 수 있습니다).

요청은 Burp에서 가로 채야합니다.


2

SandroProxy 가 Drony보다 더 나은 것 같습니다 (동일한 개발자에 의해) : PC 브라우저에서 트래픽을 편리하게보고 분석 할 수 있습니다 (꼭 그럴 필요는 없음).

에뮬레이터에서도 작동합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.