Java에서 Fiddler로 HTTPS 트래픽 캡처
-
Fiddler
구성 - 키 저장소 생성
-
Fiddler
를 사용하여 HTTPS 트래픽을 캡처하도록 애플리케이션 코드 구성 -
Fiddler
로 HTTPS 트래픽을 캡처하도록Eclipse
구성
Fiddler
는 개발자가 웹 애플리케이션을 디버깅하는 데 도움이 되는 웹 디버깅 프록시 도구입니다. 네트워크 트래픽을 캡처하고 들어오고 나가는 데이터를 모니터링할 수 있습니다.
이 기사에서는 HTTPS 트래픽을 캡처하기 위해 Fiddler
를 설정하는 방법을 알려줍니다. 따라서 사용자는 오류 없이 Java로 HTTPS 트래픽을 캡처할 수 있습니다.
Fiddler
구성
사용자는 Fiddler
를 구성하려면 아래 단계를 따라야 합니다.
-
Fiddler
여기를 다운로드하여 로컬 컴퓨터에 설치합니다. -
이제 아래 이미지와 같이
Fiddler
가 HTTPS 트래픽을 캡처하는지 확인합니다. -
그런 다음
도구
>옵션
을 엽니다. 대화 상자가 나타납니다.연결
탭으로 이동합니다. -
이제 Java 코드에서 사용할
Fiddler listens on port
텍스트 필드의 값을 확인하십시오. 기본값은8888
입니다. -
옵션
대화 상자에서HTTPS
탭으로 이동하여HTTPS 연결 캡처
및HTTPS 트래픽 암호 해독
이 선택되어 있는지 확인합니다. 또한Decrypt HTTPS Traffic
드롭다운 메뉴에서...from all processes
를 선택합니다. -
다음으로 인증서를 설치합니다.
-
마지막 단계로
옵션
대화 상자의HTTPS
탭에서작업
버튼을 클릭하고데스크톱으로 루트 인증서 내보내기
를 선택하여 인증서를 장치의 데스크탑으로 내보냅니다.
키 저장소 생성
데스크톱으로 내보낸 인증서로 키 저장소를 생성해야 합니다.
-
명령 프롬프트
를 관리자 권한으로 실행합니다. -
루트 디렉터리를 찾으려면 터미널에 아래 명령을 입력해야 합니다.
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"
-
이제
적용
버튼을 클릭하고실행
버튼을 누릅니다.
이 기사에서 HTTPS 트래픽을 캡처하기 위해 Fiddler
를 성공적으로 설정했습니다. 또한 fiddler 인증서를 사용하여 KeyStore를 생성했습니다.
그런 다음 Java 애플리케이션을 사용하여 HTTPS 트래픽을 캡처하는 두 가지 선택 사항이 있습니다. 사용자는 Eclipse를 설정하거나 애플리케이션 코드에 코드를 추가할 수 있습니다.