Java에서 Fiddler로 HTTPS 트래픽 캡처

Shubham Vora 2024년2월15일
  1. Fiddler 구성
  2. 키 저장소 생성
  3. Fiddler를 사용하여 HTTPS 트래픽을 캡처하도록 애플리케이션 코드 구성
  4. Fiddler로 HTTPS 트래픽을 캡처하도록 Eclipse 구성
Java에서 Fiddler로 HTTPS 트래픽 캡처

Fiddler는 개발자가 웹 애플리케이션을 디버깅하는 데 도움이 되는 웹 디버깅 프록시 도구입니다. 네트워크 트래픽을 캡처하고 들어오고 나가는 데이터를 모니터링할 수 있습니다.

이 기사에서는 HTTPS 트래픽을 캡처하기 위해 Fiddler를 설정하는 방법을 알려줍니다. 따라서 사용자는 오류 없이 Java로 HTTPS 트래픽을 캡처할 수 있습니다.

Fiddler 구성

사용자는 Fiddler를 구성하려면 아래 단계를 따라야 합니다.

  • Fiddler 여기를 다운로드하여 로컬 컴퓨터에 설치합니다.
  • 이제 아래 이미지와 같이 Fiddler가 HTTPS 트래픽을 캡처하는지 확인합니다.

    fiddler로 https 캡처 - 1

  • 그런 다음 도구 > 옵션을 엽니다. 대화 상자가 나타납니다. 연결 탭으로 이동합니다.
  • 이제 Java 코드에서 사용할 Fiddler listens on port 텍스트 필드의 값을 확인하십시오. 기본값은 8888입니다.

    fiddler로 https 캡처 - 2

  • 옵션 대화 상자에서 HTTPS 탭으로 이동하여 HTTPS 연결 캡처HTTPS 트래픽 암호 해독이 선택되어 있는지 확인합니다. 또한 Decrypt HTTPS Traffic 드롭다운 메뉴에서 ...from all processes를 선택합니다.

    fiddler로 https 캡처 - 3

  • 다음으로 인증서를 설치합니다.
  • 마지막 단계로 옵션 대화 상자의 HTTPS 탭에서 작업 버튼을 클릭하고 데스크톱으로 루트 인증서 내보내기를 선택하여 인증서를 장치의 데스크탑으로 내보냅니다.

    fiddler로 https 캡처 - 4

키 저장소 생성

데스크톱으로 내보낸 인증서로 키 저장소를 생성해야 합니다.

  • 명령 프롬프트를 관리자 권한으로 실행합니다.
  • 루트 디렉터리를 찾으려면 터미널에 아래 명령을 입력해야 합니다.
    echo %JAVA_HOME%
    
  • 터미널 내에서 위 단계에서 얻은 Java의 루트 디렉토리로 이동합니다.
  • 다음으로 cmd에서 cd bin 명령을 사용하여 Java 디렉토리의 bin 폴더로 이동합니다.
  • 터미널에 아래 명령을 실행합니다.
    keytool.exe -import -file C:\Users\\\Desktop\\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler
    
  • 암호를 입력한 다음 다시 입력하여 확인해야 합니다.
  • y를 눌러 이 인증서 신뢰에 응답합니다.

Fiddler를 사용하여 HTTPS 트래픽을 캡처하도록 애플리케이션 코드 구성

Fiddler를 설정하고 인증서로 키 저장소를 생성했습니다. 사용자는 Java로 HTTPS 트래픽을 캡처하려면 애플리케이션에 아래 코드를 추가해야 합니다.

// To capture HTTPS traffic
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8888");
// To capture HTTP traffic
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");

또한 사용자는 127.0.0.1 대신 localhost를 사용할 수 있습니다. 사용자가 8888이 아닌 다른 포트를 사용하려면 Fiddler 내부의 포트도 변경해야 합니다. 이에 대해서는 Configure Fiddler 섹션에서 설명했습니다.

Fiddler로 HTTPS 트래픽을 캡처하도록 Eclipse 구성

사용자가 애플리케이션에 코드를 추가하는 대신 HTTPS 트래픽을 캡처하도록 Eclipse IDE를 구성하려는 경우 아래 단계를 따라야 합니다.

  • 메뉴 모음에서 실행 > 구성 실행으로 이동합니다.
  • 구성 실행 대화 상자의 사이드바에서 프로젝트를 선택하고 인수 탭으로 이동합니다.
  • VM Arguments 섹션에 아래 인수를 입력합니다.
    -DproxySet=true
    -DproxyHost=127.0.0.1
    -DproxyPort=8888
    -Djavax.net.ssl.trustStore="path\to\java_home\bin\FiddlerKeyStore"
    -Djavax.net.ssl.trustStorePassword="password_used_during_keystore_creation"
    

    fiddler로 https 캡처 - 5

  • 이제 적용 버튼을 클릭하고 실행 버튼을 누릅니다.

이 기사에서 HTTPS 트래픽을 캡처하기 위해 Fiddler를 성공적으로 설정했습니다. 또한 fiddler 인증서를 사용하여 KeyStore를 생성했습니다.

그런 다음 Java 애플리케이션을 사용하여 HTTPS 트래픽을 캡처하는 두 가지 선택 사항이 있습니다. 사용자는 Eclipse를 설정하거나 애플리케이션 코드에 코드를 추가할 수 있습니다.

작가: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub