development

Windows에서 Charles Web Proxy 및 최신 Android 에뮬레이터를 사용하여 SSL 인증서를 구성하는 방법은 무엇입니까?

big-blog 2020. 12. 6. 21:47
반응형

Windows에서 Charles Web Proxy 및 최신 Android 에뮬레이터를 사용하여 SSL 인증서를 구성하는 방법은 무엇입니까?


Charles 웹 프록시를 사용하여 Windows에서 Android 에뮬레이터로 작업하고 싶습니다. charles를 성공적으로 설정하고 명령 줄로 에뮬레이터를 시작했습니다.

emulator -http-proxy 127.0.0.1:8888 @NexusOne

Charles의 Android 에뮬레이터에서 오는 트래픽을 볼 수 있지만 문제는 SSL을 사용하는 라이브 API에 대해 개발 중이며 전송되는 데이터에 대해 재생하도록 Charles를 구성하는 방법을 잘 모르겠다는 것입니다. 받았습니다. Charles에서 SSL이 설정된 두 영역 (프록시-> 프록시 설정-> SSL 및 프록시-> 클라이언트 SSL 인증서)을 알고 있지만 원하는 작업을 수행 할 수있는 적절한 문서를 찾을 수 없습니다. . Charles 또는 일반적으로 인증서를 사용해 본 경험이 있으며이를 달성하는 방법을 설명 할 수 있습니다. 이것이 왜 그렇게 어려운지에 대한 지식이 부족한 것처럼 보이므로 인증서에 대한 입문서도 좋을 것입니다.


Charles에서 Proxy >> Proxy Settings로 이동하여 SSL 탭을 선택합니다. 위치 목록에 호스트를 추가하십시오.

예를 들어 보안 통화가 https://secure.example.com 으로 이동하는 경우 secure.example.com 또는 * .example.com을 입력 할 수 있습니다.

위의 설정이 완료되면 Charles 기본 창에서 호출을 마우스 오른쪽 버튼으로 클릭하고 SSL 프록시 옵션을 선택해야 할 수 있습니다.

도움이 되었기를 바랍니다.


charles를 사용하여 http 또는 https 트래픽을 원격으로 캡처하려면 다음을 수행해야합니다.

HOST-Charles를 실행하고 프록시 클라이언트를 호스팅하는 컴퓨터 – 캡처 할 트래픽을 생성하는 사용자의 컴퓨터

호스트 머신

  1. 정식 라이센스가있는 Charles 버전 설치
  2. 프록시-> 프록시 설정-> "투명한 HTTP 프록시 사용"을 선택합니다.
  3. 프록시-> SSL 프록시 설정-> "SSL 프록시 활성화"확인
  4. 프록시-> SSL 프록시 설정-> 추가 버튼을 클릭하고 두 필드에 *를 입력합니다.
  5. 프록시-> 액세스 제어 설정-> 로컬 서브넷 (예 : 192.168.2.0/24)을 추가하여 로컬 네트워크의 모든 시스템이 다른 시스템의 프록시를 사용하도록 인증합니다.
  6. charles에서 "자동 저장 도구"를 설정하는 것이 좋습니다. 이렇게하면 charles 로그가 자동으로 저장되고 회전됩니다.

클라이언트 컴퓨터 :

  1. charles SSL 인증서 http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/를 설치하고 영구적으로 수락 / 신뢰합니다
    .
  2. charles가 프록시를 호스팅하는 소켓을 사용하도록 IE, Firefox 및 Chrome을 구성합니다 (예 : 192.168.1.100:8888).

이것을 테스트했을 때 Facebook HTTPS 채팅의 두 줄을 선택했습니다 (하나는 누군가에게, 다른 하나는 FROM).

다음을 사용하여 에뮬레이터를 시작하면 이러한 방식으로 Android 에뮬레이터 트래픽을 캡처 할 수도 있습니다.

emulator -avd <avd name> -http-proxy http://local_ip:8888/

여기서 LOCAL_IP는 에뮬레이션 된 전화의 IP 주소 인 127.0.0.1이 아니라 컴퓨터의 IP 주소입니다.

출처 : http://brakertech.com/capture-https-traffic-remotely-with-charles/


여기에서 가치있는 것은 Android 기기에서이 작업을 수행하는 단계별 지침입니다. iOS에서도 동일해야합니다.

  1. Charles 열기
  2. 프록시> 프록시 설정> SSL로 이동합니다.
  3. "SSL 프록시 활성화"를 선택합니다.
  4. "위치 추가"를 선택하고 호스트 이름과 포트를 입력합니다 (필요한 경우).
  5. 확인을 클릭하고 옵션이 선택되어 있는지 확인하십시오
  6. 여기에서 Charles 인증서 다운로드 : Charles 인증서>
  7. 해당 파일을 이메일로 자신에게 보냅니다.
  8. 장치에서 이메일을 열고 인증서를 선택하십시오.
  9. "인증서 이름 지정"에서 원하는 것을 입력하십시오.
  10. 확인을 클릭하면 인증서가 설치되었다는 메시지가 표시됩니다.

그러면 Charles에서 SSL 파일을 볼 수 있습니다. 값을 가로 채서 변경하려면 정말 멋진 "Map Local"도구를 사용할 수 있습니다.

  1. Charles에서 도구> 로컬지도로 이동합니다.
  2. "항목 추가"를 선택하십시오.
  3. 바꿀 파일의 값을 입력하십시오.
  4. "로컬 경로"에서 대신 앱이로드 할 파일을 선택하십시오.
  5. 확인 클릭
  6. 항목이 선택되었는지 확인하고 확인을 클릭하십시오.
  7. 앱 실행
  8. 라이브 파일 대신 파일이로드되는 것을 "Notes"에서 볼 수 있습니다.

Charles가 HTTPS 프록시를 제공하는 방식이 약간 변경되었습니다.

먼저 인증서 설치 옵션이 도움말 메뉴로 이동되었습니다.

Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators

Charles SSL 프록시

둘째, iOS 9부터는 NSAppTransportSecurity옵션을 제공해야하며 Info.plistCharles가 중간에있는 사람으로 제대로 작동하도록하려면 다음을 추가해야합니다.

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>

도메인의 일부로 전체 예를 참조하십시오.

<key>NSExceptionDomains</key>
    <dict>
        <key>yourdomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>

이유는 Charles가 중간 https 서버에서 남자 역할을 한 후 어느 시점에서 명확한 http로 통신하기 때문입니다.

마지막 단계는 Charles에서이 도메인에 대해 SSL 프록시를 활성화하는 것입니다 (도메인을 마우스 오른쪽 단추로 클릭하고 SSL 프록시 사용을 선택하십시오).

HTTP 프록시 활성화


나를 위해 일한 것-실제로 iPhone으로 옮겨야합니다.

Charles

  1. 투명한 HTTP 프록시 사용
  2. SSL 프록시 활성화
  3. 들어오는 요청을 마우스 오른쪽 버튼으로 클릭하고 SSL 프록시를 선택하십시오.

  1. Charles CA 인증서 번들 http://www.charlesproxy.com/ssl.zip 다운로드
  2. 자신에게 이메일 charles-proxy-ssl-proxying-certificate.crt

아이폰

  1. 포트 8888에서 Charles에 대한 http 프록시 사용
  2. 이메일 첨부 파일을 선택하고 설치하십시오. 그렇습니다!

이제 SSL 프록시에 추가 된 도메인에서 암호화 된 트래픽을 볼 수 있습니다.


Charles Help 메뉴에서 "Install Charles CA SSL Certificates .."를 클릭해야합니다. http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/ 에서 자세한 지침을 참조하십시오.


이러한 것들이 나를 도왔습니다

  1. 프록시-> SSL 프록시 설정-> 추가로 이동하십시오.
  2. 여기에 사이트 이름을 추가하고 포트 번호를 8888로 지정하십시오.

여기에 이미지 설명 입력 여기에 이미지 설명 입력

  1. 왼쪽 패널에서 사이트 이름을 마우스 오른쪽 버튼으로 클릭하고 "SSL 프록시 사용"을 선택합니다. 여기에 이미지 설명 입력

이것이 누군가를 돕기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/3976728/how-to-configure-ssl-certificates-with-charles-web-proxy-and-the-latest-android

반응형