Fiddler를 사용하여 웹 서비스 호출 검사
Fiddler는 장치와 인터넷 간의 모든 HTTP 및 HTTPS 트래픽을 기록하는 웹 디버깅 프록시입니다. Fiddler를 사용하면 Xbox Live 서비스와 신뢰 당사자 웹 서비스를 출입하는 트래픽을 기록하고 검사하여, 웹 서비스 호출을 파악하고 디버깅할 수 있습니다. Fiddler는 여러 버전으로 제공됩니다. ‘Fiddler Classic’은 프리웨어로 다음 섹션은 이 버전에만 해당합니다.
Xbox One 이상 버전에서 실행 중인 Microsoft GDK(게임 개발 키트) 프로젝트의 경우
자세한 내용은 Fiddler를 참조하세요.
Xbox One 이상 Xbox One 소프트웨어 개발 키트 프로젝트의 경우
정상 작동 시, 프록시를 통해 통신하는 본체는 프록시에 의해 통신이 변조되어 플레이어가 부정 행위를 사용할 수 있습니다. 따라서 본체는 프록시를 통한 통신을 허용하지 않도록 설계되었습니다. Xbox One(또는 그 이상) 개발 키트에서 Fiddler를 사용하려면 개발 키트에서 Fiddler 프록시 사용을 허용하기 위해 몇 가지 특별한 구성 단계를 수행해야 합니다.
Fiddler Classic은 Fiddler 웹 사이트에서 다운로드할 수 있습니다.
Fiddler는 본체에서 보고하는 네트워크 상태에 영향을 줄 수 있습니다. Fiddler를 실행하는 컴퓨터에서 업스트림 연결이 사용되지 않는 경우 본체의 인증이 만료될 때까지 콘솔이 연결 끊김을 검색하지 못할 수 있습니다. Fiddler를 사용하는 경우 Fiddler를 사용하여 연결 끊김을 시뮬레이션하는 대신 본체와 Fiddler를 실행하는 컴퓨터 간의 연결을 끊어야 합니다. 네트워크 스트레스 도구를 사용하여 테스트 목적으로 연결 끊기를 시뮬레이션합니다.
개발 PC에서 Fiddler 설치 및 활성화
다음 단계를 따라 Fiddler를 설치하고 활성화하여 개발 키트에서 트래픽을 모니터링하세요.
Fiddler 웹 사이트의 지침에 따라 개발 PC에 Fiddler Classic을 설치합니다.
Fiddler를 시작하고 도구 메뉴에서 Fiddler 옵션을 선택합니다.
Connections(연결) 탭을 선택하고 Allow remote computers to connect(원격 컴퓨터 연결 허용) 확인란을 선택해야 합니다.
OK(확인)를 클릭하여 변경 내용을 적용합니다. 변경 내용을 적용하려면 Fiddler를 다시 시작해야 하며 방화벽을 수동으로 구성해야 할 수 있다는 내용의 대화 상자가 표시됩니다. 이 대화 상자에서 OK(확인)를 클릭하지만 아직 Fiddler를 다시 시작하지는 않습니다.
원격 컴퓨터에서 연결할 수 있도록 필요한 방화벽 규칙을 구성합니다. Windows 방화벽 제어판 애플릿을 시작합니다. 고급 설정을 클릭한 다음 인바운드 규칙을 클릭합니다. "FiddlerProxy"라는 규칙을 찾고 오른쪽으로 스크롤하여 다음 각 설정이 해당 규칙에 대해 표시되는지 확인합니다.
설정 | 기본 설정 값 |
---|---|
이름 | FiddlerProxy |
그룹 | (Group에 대한 값을 설정하지 않음) |
프로필 | 모두 |
설정됨 | 예 |
액션 | 허용 |
재정의 | 아니요 |
프로그램 | fiddler.exe의 경로 |
LocalAddress | 모두 |
RemoteAddress | 모두 |
프로토콜 | TCP |
LocalPort | 모두 |
RemotePort | 모두 |
AllowedUsers | 모두 |
AllowedComputers | 임의 |
HTTPS 트래픽을 캡처하고 암호 해독하도록 Fiddler를 구성합니다.
- 최상의 성능을 위해서는 단추 모음에서 Stream(스트림) 단추를 클릭하여 스트리밍 모드를 사용하도록 Fiddler를 설정합니다.
- Fiddler에서 Tools(도구)를 선택한 다음 Fiddler Options(Fiddler 옵션)과 HTTPS를 선택합니다.
- Decrypt HTTPS traffic(HTTPS 트래픽 암호 해독) 확인란을 선택합니다. 메시지 상자가 CA 인증서를 신뢰하도록 Windows를 구성할지 여부를 묻는 경우 예를 클릭합니다.
- Export Root Certificate to Desktop(데스크톱으로 루트 인증서 내보내기) 버튼을 클릭합니다.
Fiddler를 종료하고 다시 시작합니다.
Fiddler를 인터넷의 프록시로 사용하도록 개발 키트를 구성하려면
개발 키트의 Fiddler 구성은 이전 릴리스에서 사용된 방식에서 간소화되었습니다.
바탕 화면으로 내보낸 Fiddler 루트 인증서를 개발 키트에
xs:\Microsoft\Cert\FiddlerRoot.cer
로 복사합니다. 다음 명령을 사용할 수 있습니다.xbcp [local Fiddler Root directory]\FiddlerRoot.cer xs:\Microsoft\Cert\FiddlerRoot.cer
ProxyAddress.txt
라는 이름의 텍스트 파일을 만듭니다. 이때 Fiddler를 실행하는 개발 PC의 IP 주소 또는 호스트 이름과 Fiddler가 수신 중인 포트 번호가 파일 내에 포함된 유일한 내용입니다. 이름/IP 주소 및 포트를 다음과 같이 형식 지정합니다. "HOST:PORT". (기본적으로 Fiddler는 포트 8888을 사용합니다.) 예를 들어 "10.124.220.250:8888" 또는 "my_dev_pc.contoso.com:8888"이 있습니다.해당 파일을 개발 키트에
xs:\Microsoft\Fiddler\ProxyAddress.txt
로 복사합니다. 다음 명령을 사용하여 이를 수행할 수 있습니다.xbcp [local Proxy Address file directory]\ProxyAddress.txt xs:\Microsoft\Fiddler\ProxyAddress.txt
명령 프롬프트에
xbreboot
를 입력하여 개발 키트를 다시 부팅합니다.
Fiddler 사용을 중지하려면
인터넷 프록시로 Fiddler 사용을 중지하고, 그에 따라 Fiddler에서 개발 키트의 모든 네트워크 트래픽 추적을 중지하려면 개발 키트에서 FiddlerRoot.cer
파일의 이름을 변경하거나 파일을 삭제한 다음 개발 키트를 다시 부팅합니다.
사용법
부팅 시 xs:\Microsoft\Cert\FiddlerRoot.cer
파일 및 xs:\Microsoft\Fiddler\ProxyAddress.txt
파일이 모두 존재하면 개발 키트에서 자체적으로 ProxyAddress.txt
에 지정된 프록시 서버를 사용하도록 구성됩니다.
두 파일 중 하나가 누락된 경우 개발 키트에서 자체적으로 Fiddler 프록시를 통해 작동하도록 구성되지 않습니다.
Fiddler가 설치된 각 PC마다 다른 Fiddler 루트 인증서를 사용합니다.
개발 키트에 대한 Fiddler 프록시를 제공하는 데 사용될 수 있는 PC가 둘 이상인 경우 각 PC의 Fiddler 루트 인증서를 xs:\Microsoft\Cert
디렉터리로 복사할 수 있으며, 그 중 하나의 이름은 FiddlerRoot.cer
입니다.
Cert 디렉터리의 모든 인증서는 Fiddler 프록시가 인증 중일 때 확인됩니다.
Cert 디렉터리에 존재하는 한, ProxyAddress.txt
에 있는 모든 PC 주소에서는 Fiddler 인스턴스가 프록시로 사용됩니다.
Xbox One(또는 그 이상) UWP 프로젝트의 경우
UWP 설명서의 UWP용으로 개발할 때 Xbox One에서 Fiddler를 사용하는 방법 ⬀ 설명서의 단계를 따르세요.
Windows UWP PC 앱의 경우
현재 사용자가 PC의 관리자 그룹에 있는지 확인합니다.
https://www.telerik.com/fiddler에서 Fiddler를 다운로드합니다.
".NET 4용으로 빌드된" 버전을 선택했는지 확인합니다.
설치가 완료되면 도구 ->Fiddler 옵션으로 이동하고, HTTPS 연결 캡처 및 HTTPS 트래픽 암호 해독을 활성화합니다. 런타임과 Xbox 서비스 간의 모든 통신은 SSL로 암호화됩니다. 이 옵션 없이는 도움이 되지 않습니다. 모든 대화 상자를 수락하면 Fiddler 팝업이 표시됩니다(UAC를 포함한 5개의 대화 상자가 있어야 함).
"WinConfig", "Exempt All" 및 "Save Changes"로 이동하세요. 그렇게 하지 않으면 Fiddler가 스토어 앱을 통해 작동하지 않습니다.
이제 앱을 실행하면 앱, 런타임 및 Xbox 서비스 간의 요청/응답이 표시됩니다.
일반적으로 필요하지 않지만 로그인 및 게임 내 이벤트 디버깅 시 유용할 수 있는 UWP OS 수준 호출을 디버깅하려면 WinHTTP 트래픽을 캡처하도록 Fiddler를 구성해야 합니다. 이는 다음을 따라 수행할 수 있습니다.
netsh winhttp set proxy 127.0.0.1:8888 "<-loopback>"
포트 8888이 Fiddler 도구에서 구성한 포트와 일치하는 경우 | 옵션 | 연결 탭(기본값은 8888입니다).
실행 취소하려면 다음을 수행하세요.
netsh winhttp reset proxy