Windows Device Portal 개요Windows Device Portal overview

Windows Device Portal을 사용하면 네트워크 또는 USB 연결을 통해 원격으로 디바이스를 구성하고 관리할 수 있습니다.The Windows Device Portal lets you configure and manage your device remotely over a network or USB connection. 또한 Windows 디바이스의 실시간 성능 보기 및 문제 해결을 위한 고급 진단 도구를 제공합니다.It also provides advanced diagnostic tools to help you troubleshoot and view the real-time performance of your Windows device.

Windows Device Portal은 PC의 웹 브라우저에서 연결 가능한 디바이스에 있는 웹 서버입니다.Windows Device Portal is a web server on your device that you can connect to from a web browser on a PC. 디바이스에 웹 브라우저가 있는 경우 디바이스 브라우저와 로컬로 연결할 수도 있습니다.If your device has a web browser, you can also connect locally with the browser on that device.

Windows Device Portal은 각 디바이스 패밀리에서 사용할 수 있지만 기능 및 설정은 디바이스의 요구 사항에 따라 다릅니다.Windows Device Portal is available on each device family, but features and setup vary based on each device's requirements. 이 문서는 디바이스 포털에 대한 일반적인 설명과 각 디바이스 패밀리에 대해 구체적인 정보가 있는 문서의 링크를 제공합니다.This article provides a general description of Device Portal and links to articles with more specific information for each device family.

Windows Device Portal의 기능은 데이터에 액세스하고 디바이스를 프로그래밍 방식으로 제어하는 데 직접 사용할 수 있는 REST API로 구현됩니다.The functionality of the Windows Device Portal is implemented with REST APIs that you can use directly to access data and control your device programmatically.

설치Setup

각 디바이스에는 디바이스 포털에 연결하기 위한 특정 지침이 있지만 각 디바이스 모두 다음과 같은 일반적인 단계가 필요합니다.Each device has specific instructions for connecting to Device Portal, but each requires these general steps:

  1. 디바이스에서 개발자 모드와 Device Portal을 사용하도록 설정합니다(설정 앱에서 구성).Enable Developer Mode and Device Portal on your device (configured in the Settings app).

  2. 로컬 네트워크 또는 USB를 통해 디바이스와 PC를 연결합니다.Connect your device and PC through a local network or with USB.

  3. 브라우저에서 디바이스 포털 페이지로 이동합니다.Navigate to the Device Portal page in your browser. 이 표는 각 디바이스 제품군에 사용되는 포트 및 프로토콜을 보여 줍니다.This table shows the ports and protocols used by each device family.

디바이스 패밀리Device family 기본 설정 여부On by default? HTTPHTTP HTTPSHTTPS USBUSB
HoloLensHoloLens 예, 개발자 모드에서Yes, in Dev Mode 80(기본값)80 (default) 443(기본값)443 (default) http://127.0.0.1:10080
IoTIoT 예, 개발자 모드에서Yes, in Dev Mode 80808080 regkey를 통해 사용 설정Enable via regkey 해당 없음N/A
XboxXbox 개발자 모드 내에서 사용 설정Enable inside Dev Mode 사용 안 함Disabled 1144311443 해당 없음N/A
데스크톱Desktop 개발자 모드 내에서 사용 설정Enable inside Dev Mode 50080*50080* 50043*50043* 해당 없음N/A
전화Phone 개발자 모드 내에서 사용 설정Enable inside Dev Mode 8080 443443 http://127.0.0.1:10080

* 디바이스의 기존 포트 클레임과 충돌을 방지하기 위해 데스크톱의 Device Portal은 임시 범위(>50,000)의 포트를 클레임하기 때문에 항상 적용되지는 않습니다.* This is not always the case, as Device Portal on desktop claims ports in the ephemeral range (>50,000) to prevent collisions with existing port claims on the device. 자세한 내용은 데스크톱용 포트 설정 섹션을 참조하세요.To learn more, see the Port Settings section for desktop.

디바이스별 설치 지침은 다음을 참조하세요.For device-specific setup instructions, see:

기능Features

도구 모음 및 탐색Toolbar and navigation

페이지 맨 위에 있는 도구 모음에서 자주 사용하는 기능에 대한 액세스를 제공합니다.The toolbar at the top of the page provides access to commonly used features.

  • 전원: 전원 옵션에 액세스합니다.Power: Access power options.
    • 종료: 디바이스를 끕니다.Shutdown: Turns off the device.
    • 다시 시작: 디바이스를 하드 부팅합니다.Restart: Cycles power on the device.
  • 도움말: 도움말 페이지를 엽니다.Help: Opens the help page.

페이지의 왼쪽 탐색 창에 있는 링크를 사용하여 디바이스에서 사용 가능한 관리 및 모니터링 도구로 이동합니다.Use the links in the navigation pane along the left side of the page to navigate to the available management and monitoring tools for your device.

여기에서는 디바이스 패밀리 간에 공통된 도구에 대해 설명합니다.Tools that are common across device families are described here. 다른 옵션은 디바이스에 따라 사용할 수 있습니다.Other options might be available depending on the device. 자세한 내용은 디바이스 유형에 대한 특정 페이지를 참조하세요.For more info, see the specific page for your device type.

앱 관리자Apps manager

앱 관리자는 앱 패키지와 호스트 디바이스에 있는 번들에 대해 설치/제거 및 관리 기능을 제공합니다.The Apps manager provides install/uninstall and management functionality for app packages and bundles on the host device.

Device Portal 앱 관리자 페이지

  • 앱 배포: 로컬, 네트워크 또는 웹 호스트에서 패키지된 앱을 배포하고 네트워크 공유에서 느슨한 파일을 등록합니다.Deploy apps: Deploy packaged apps from local, network, or web hosts and register loose files from network shares.
  • 설치된 앱: 드롭다운 메뉴를 사용하여 디바이스에 설치된 앱을 제거하거나 시작합니다.Installed apps: Use the dropdown menu to remove or start apps that are installed on the device.
  • 실행 중인 앱: 현재 실행 중인 앱에 대한 정보를 가져오고 필요에 따라 닫습니다.Running apps: Get information about the apps that are currently running and close them as necessary.

앱 설치(테스트용으로 로드)Install (sideload) an app

Windows Device Portal을 사용하여 개발하는 동안 앱을 테스트용으로 로드할 수 있습니다.You can sideload apps during development using Windows Device Portal:

  1. 앱 패키지를 만들면 이를 원격으로 디바이스에 설치할 수 있습니다.When you've created an app package, you can remotely install it onto your device. Visual Studio에서 빌드한 후 출력 폴더가 생성됩니다.After you build it in Visual Studio, an output folder is generated.

    앱 설치

  2. Windows Device Portal에서 앱 관리자 페이지로 이동합니다.In Windows Device Portal, navigate to the Apps manager page.

  3. 앱 배포 섹션에서 로컬 스토리지를 선택합니다.In the Deploy apps section, select Local Storage.

  4. 애플리케이션 패키지 선택에서 파일 선택을 선택하고 테스트용으로 로드하려는 앱 패키지를 찾습니다.Under Select the application package, select Choose File and browse to the app package that you want to sideload.

  5. 앱 패키지 서명에 사용되는 인증서 파일(.cer) 선택에서 파일 선택을 선택하고 해당 앱 패키지와 연결된 인증서를 찾습니다.Under Select certificate file (.cer) used to sign app package, select Choose File and browse to the certificate associated with that app package.

  6. 앱 설치와 함께 선택적 또는 프레임워크 패키지를 설치하려는 경우 해당 확인란을 선택하고 다음을 선택하여 선택합니다.Check the respective boxes if you want to install optional or framework packages along with the app installation, and select Next to choose them.

  7. 설치를 선택하여 설치를 시작합니다.Select Install to initiate the installation.

  8. 디바이스가 S 모드에서 Windows 10을 실행하는 경우 지정된 인증서가 디바이스에 처음으로 설치된 경우입니다. 디바이스를 다시 시작합니다.If the device is running Windows 10 in S mode, and it is the first time that the given certificate has been installed on the device, restart the device.

인증서 설치Install a certificate

또는 Windows Device Portal을 통해 인증서를 설치하고 다른 방법으로 앱을 설치할 수 있습니다.Alternatively, you can install the certificate via Windows Device Portal, and install the app through other means:

  1. Windows Device Portal에서 앱 관리자 페이지로 이동합니다.In Windows Device Portal, navigate to the Apps manager page.

  2. 앱 배포 섹션에서 인증서 설치를 선택합니다.In the Deploy apps section, select Install Certificate.

  3. 앱 패키지 서명에 사용되는 인증서 파일(.cer) 선택에서 파일 선택을 선택하고 테스트용으로 로드하려는 앱 패키지와 연결된 인증서를 찾습니다.Under Select certificate file (.cer) used to sign an app package, select Choose File and browse to the certificate associated with the app package that you want to sideload.

  4. 설치를 선택하여 설치를 시작합니다.Select Install to initiate the installation.

  5. 디바이스가 S 모드에서 Windows 10을 실행하는 경우 지정된 인증서가 디바이스에 처음으로 설치된 경우입니다. 디바이스를 다시 시작합니다.If the device is running Windows 10 in S mode, and it is the first time that the given certificate has been installed on the device, restart the device.

앱 제거Uninstall an app

  1. 앱이 실행되고 있지 않은지 확인합니다.Ensure that your app is not running.
  2. 실행 중이면 실행 중인 앱으로 이동하고 앱을 닫습니다.If it is, go to Running apps and close it. 앱이 실행되는 동안 제거를 시도할 경우 해당 앱을 다시 설치하려고 할 때 문제가 발생합니다.If you attempt to uninstall while the app is running, it will cause issues when you attempt to reinstall the app.
  3. 드롭다운에서 앱을 선택하고 제거를 클릭합니다.Select the app from the dropdown and click Remove.

실행 중인 프로세스Running processes

이 페이지에는 호스트 디바이스에서 현재 실행 중인 프로세스에 대한 세부 정보가 표시됩니다.This page shows details about processes currently running on the host device. 앱 및 시스템 프로세스 모두 포함합니다.This includes both apps and system processes. 일부 플랫폼(데스크톱, IoT 및 HoloLens)에서 프로세스를 종료할 수 있습니다.On some platforms (Desktop, IoT, and HoloLens), you can terminate processes.

Device Portal의 실행 중인 프로세스 페이지

파일 탐색기File explorer

이 페이지에서는 테스트용으로 로드된 앱에서 저장한 파일을 보고 조작할 수 있습니다.This page allows you to view and manipulate files stored by any sideloaded apps. 파일 탐색기 및 사용 방법에 대한 자세한 내용은 Using the App File Explorer(앱 파일 탐색기 사용) 블로그 게시물을 참조하세요.See the Using the App File Explorer blog post to learn more about the File explorer and how to use it.

Device Portal 파일 탐색기 페이지

성능Performance

성능 페이지에는 전력 사용량, 프레임 속도 및 CPU 로드와 같은 시스템 진단 정보가 실시간 그래프로 표시됩니다.The Performance page shows real-time graphs of system diagnostic info like power usage, frame rate, and CPU load.

사용 가능한 메트릭은 다음과 같습니다.These are the available metrics:

  • CPU: 사용 가능한 총 CPU 사용률CPU: Percent of total available CPU utilization
  • 메모리: 전체, 사용 중, 사용 가능한 약정, 페이징 및 비페이징 메모리Memory: Total, in use, available, committed, paged, and non-paged
  • I/O: 데이터 읽기 및 쓰기 수량I/O: Read and write data quantities
  • 네트워크: 수신 및 전송 데이터Network: Received and sent data
  • GPU: 사용 가능한 총 GPU 엔진 사용률GPU: Percent of total available GPU engine utilization

Device Portal 성능 페이지

ETW(Windows용 이벤트 추적) 로깅Event Tracing for Windows (ETW) logging

ETW 로깅 페이지에서 디바이스의 실시간 ETW(Windows용 이벤트 추적) 정보를 관리합니다.The ETW logging page manages real-time Event Tracing for Windows (ETW) information on the device.

Device Portal ETW 로깅 페이지

공급자 숨기기를 선택하여 이벤트 목록만 표시합니다.Check Hide providers to show the Events list only.

  • 등록된 공급자: 이벤트 공급자와 추적 수준을 선택합니다.Registered providers: Select the event provider and the tracing level. 추적 수준은 다음 값 중 하나입니다.The tracing level is one of these values:

    1. 비정상적인 끝내기 또는 종료Abnormal exit or termination
    2. 심각한 오류Severe errors
    3. 경고Warnings
    4. 오류가 아닌 경고Non-error warnings
    5. 세부 추적Detailed trace

    추적을 시작하려면 사용을 클릭 또는 탭합니다.Click or tap Enable to start tracing. 공급자가 활성화된 공급자 드롭다운에 추가됩니다.The provider is added to the Enabled Providers dropdown.

  • 사용자 지정 공급자: 사용자 지정 ETW 공급자와 추적 수준을 선택합니다.Custom providers: Select a custom ETW provider and the tracing level. 공급자를 GUID로 식별합니다.Identify the provider by its GUID. GUID에 대괄호를 포함하지 마세요.Do not include brackets in the GUID.

  • 활성화된 공급자: 활성화된 공급자를 나열합니다.Enabled providers: This lists the enabled providers. 추적을 중지하려면 드롭다운에서 공급자를 선택하고 사용 안 함을 클릭 또는 탭합니다.Select a provider from the dropdown and click or tap Disable to stop tracing. 모든 추적을 일시 중단하려면 모두 중지를 클릭 또는 탭합니다.Click or tap Stop all to suspend all tracing.

  • 공급자 기록: 현재 세션 중 활성화된 ETW 공급자를 보여 줍니다.Providers history: This shows the ETW providers that were enabled during the current session. 비활성화된 공급자를 활성화하려면 사용을 클릭 또는 탭합니다.Click or tap Enable to activate a provider that was disabled. 기록을 지우려면 지우기를 클릭 또는 탭합니다.Click or tap Clear to clear the history.

  • 필터/이벤트: 이벤트 섹션은 선택된 공급자의 ETW 이벤트를 표 형식으로 나열합니다.Filters / Events: The Events section lists ETW events from the selected providers in table format. 표는 실시간으로 업데이트됩니다.The table is updated in real time. 필터 메뉴를 사용하여 이벤트를 표시하는 사용자 지정 필터를 설정할 수 있습니다.Use the Filters menu to set up custom filters for which events will be displayed. 모든 ETW 이벤트를 표에서 삭제하려면 지우기 단추를 클릭합니다.Click the Clear button to delete all ETW events from the table. 이렇게 해도 공급자는 비활성화되지 않습니다.This does not disable any providers. 파일로 저장을 클릭하여 현재 수집된 ETW 이벤트를 로컬 CSV 파일로 내보낼 수 있습니다.You can click Save to file to export the currently collected ETW events to a local CSV file.

ETW 로깅 사용에 대한 자세한 내용은 Use Device Portal to view debug logs(Device Portal을 사용하여 디버그 로그 보기) 블로그 게시물을 참조하세요.For more details on using ETW logging, see the Use Device Portal to view debug logs blog post.

성능 추적Performance tracing

성능 추적 페이지에서는 호스트 디바이스의 WPR(Windows Performance Recorder) 추적을 볼 수 있습니다.The Performance tracing page allows you for view the Windows Performance Recorder (WPR) traces from the host device.

Device Portal 성능 추적 페이지

  • 사용 가능한 프로필: 드롭다운 목록에서 WPR 프로필을 선택하고 시작을 클릭 또는 탭하여 추적을 시작합니다.Available profiles: Select the WPR profile from the dropdown, and click or tap Start to start tracing.
  • 사용자 지정 프로필: PC에서 WPR 프로필을 선택하려면 찾아보기를 클릭 또는 탭합니다.Custom profiles: Click or tap Browse to choose a WPR profile from your PC. 추적을 시작하려면 업로드 및 시작을 클릭 또는 탭합니다.Click or tap Upload and start to start tracing.

추적을 중지하려면 중지를 클릭합니다.To stop the trace, click Stop. 추적 파일(.ETL) 다운로드가 완료될 때까지 이 페이지에 계속 있습니다.Stay on this page until the trace file (.ETL) has finished downloading.

캡처된 .ETL 파일은 Windows Performance Analyzer에서 분석을 위해 열 수 있습니다.Captured .ETL files can be opened for analysis in the Windows Performance Analyzer.

디바이스 관리자Device manager

디바이스 관리자 페이지는 디바이스에 연결된 모든 주변 디바이스를 열거합니다.The Device manager page enumerates all peripherals attached to your device. 설정 아이콘을 클릭하여 각각의 속성을 볼 수 있습니다.You can click the settings icons to view the properties of each.

Device Portal 디바이스 관리자 페이지

네트워킹Networking

네트워킹 페이지는 디바이스에서 네트워크 연결을 관리합니다.The Networking page manages network connections on the device. USB를 통해 Device Portal에 연결하지 않는 한 이러한 설정 변경으로 인해 Device Portal과의 연결이 끊어질 수 있습니다.Unless you are connected to Device Portal through USB, changing these settings will likely disconnect you from Device Portal.

  • 사용 가능한 네트워크: 디바이스에서 사용할 수 있는 WiFi 네트워크를 표시합니다.Available networks: Shows the WiFi networks available to the device. 네트워크에서 클릭 또는 탭하면 여기에 연결되며 필요한 경우 암호를 제공합니다.Clicking or tapping on a network will allow you to connect to it and supply a passkey if needed. Device Portal은 아직 엔터프라이즈 인증을 지원하지 않습니다.Device Portal does not yet support Enterprise Authentication. 프로필 드롭다운을 사용하여 디바이스에 알려진 모든 WiFi 프로필에 연결을 시도할 수도 있습니다.You can also use the Profiles dropdown to attempt to connect to any of the WiFi profiles known to the device.
  • IP 구성: 각 호스트 디바이스의 네트워크 포트에 대한 주소 정보를 표시합니다.IP configuration: Shows address information about each of the host device's network ports.

Device Portal 네트워킹 페이지

서비스 기능 및 참고 사항Service features and notes

DNS-SDDNS-SD

디바이스 포털은 DNS-SD를 사용하여 로컬 네트워크에서 존재 여부를 알립니다.Device Portal advertises its presence on the local network using DNS-SD. 모든 디바이스 포털 인스턴스는 디바이스 유형에 관계없이 "WDP._wdp._tcp.local"에서 알립니다.All Device Portal instances, regardless of their device type, advertise under "WDP._wdp._tcp.local". 서비스 인스턴스에 대한 TXT 레코드는 다음을 제공합니다.The TXT records for the service instance provide the following:

Key 유형Type 설명Description
SS Intint 디바이스 포털의 보안 포트입니다.Secure port for Device Portal. 0(영)인 경우 디바이스 포털은 HTTPS 연결을 수신 대기하지 않습니다.If 0 (zero), Device Portal is not listening for HTTPS connections.
DD stringstring 디바이스의 유형입니다.Type of device. "Windows.*" 형식으로 제공됩니다(예: Windows.Xbox 또는 Windows.Desktop).This will be in the format "Windows.*", for example, Windows.Xbox or Windows.Desktop
AA stringstring 디바이스 아키텍처입니다.Device architecture. ARM, x86 또는 AMD64입니다.This will be ARM, x86, or AMD64.
TT null 문자로 구분된 문자열 목록null-character delineated list of strings 디바이스에 대해 사용자가 적용한 태그입니다.User-applied tags for the device. 사용 방법은 태그 REST API를 참조하세요.See the Tags REST API for how to use this. 목록은 이중 null로 종료됩니다.List is double-null terminated.

일부 디바이스는 DNS-SD 레코드에 의해 알려진 HTTP 포트에서 수신 대기하지 않으므로 HTTPS 포트에서 연결하는 것이 좋습니다.Connecting on the HTTPS port is suggested, as not all devices are listening on the HTTP port advertised by the DNS-SD record.

CSRF 보호 및 스크립팅CSRF Protection and Scripting

CSRF 공격으로부터 보호하기 위해 모든 비 GET 요청에서 고유한 토큰이 필요합니다.In order to protect against CSRF attacks, a unique token is required on all non-GET requests. 이 토큰(X-CSRF-Token 요청 헤더)은 세션 쿠키(CSRF-Token)에서 파생됩니다.This token, the X-CSRF-Token request header, is derived from a session cookie, CSRF-Token. 디바이스 포털 웹 UI에서 CSRF-Token 쿠키는 각 요청에서 X-CSRF-Token 헤더로 복사됩니다.In the Device Portal web UI, the CSRF-Token cookie is copied into the X-CSRF-Token header on each request.

중요

이 보호는 독립 실행형 클라이언트(예: 명령줄 유틸리티)에서 REST API의 사용을 방지합니다.This protection prevents usages of the REST APIs from a standalone client (such as command-line utilities). 이 문제는 다음 세 가지 방법으로 해결할 수 있습니다.This can be solved in 3 ways:

  • "auto-" 사용자 이름을 사용합니다.Use an "auto-" username. 사용자 이름 앞에 "auto-"를 추가하는 클라이언트는 CSRF 보호를 우회하게 됩니다.Clients that prepend "auto-" to their username will bypass CSRF protection. 이 사용자 이름은 브라우저를 통해 디바이스 포털에 로그인하는 데 사용할 수 없습니다. 서비스가 CSRF 공격에 노출되기 때문입니다.It is important that this username not be used to log in to Device Portal through the browser, as it will open up the service to CSRF attacks. 예제: Device Portal의 사용자 이름이 “admin”인 경우 CSRF 보호를 우회하려면 curl -u auto-admin:password <args>를 사용해야 합니다.Example: If Device Portal's username is "admin", curl -u auto-admin:password <args> should be used to bypass CSRF protection.
  • 클라이언트에서 쿠키-헤더 체계를 구현합니다.Implement the cookie-to-header scheme in the client. 이를 위해서는 GET 요청으로 세션 쿠키를 설정한 다음 모든 후속 요청에서 헤더와 쿠키를 둘 다 포함해야 합니다.This requires a GET request to establish the session cookie, and then the inclusion of both the header and the cookie on all subsequent requests.
  • 인증을 사용하지 않도록 설정하고 HTTP를 사용합니다.Disable authentication and use HTTP. CSRF 보호는 HTTPS 엔드포인트에만 적용되므로 HTTP 엔드포인트의 연결에서는 위의 작업을 수행할 필요가 없습니다.CSRF protection only applies to HTTPS endpoints, so connections on HTTP endpoints will not need to do either of the above.

CSWSH(사이트 간 WebSocket 하이재킹) 보호Cross-Site WebSocket Hijacking (CSWSH) protection

CSWSH 공격으로부터 보호하려면 디바이스 포털에 대한 WebSocket 연결을 여는 모든 클라이언트에서 호스트 헤더와 일치하는 원본 헤더도 제공해야 합니다.To protect against CSWSH attacks, all clients opening a WebSocket connection to Device Portal must also provide an Origin header that matches the Host header. 이를 통해 요청이 디바이스 포털 UI 또는 유효한 클라이언트 애플리케이션에서 비롯되었음을 디바이스 포털에 입증할 수 있습니다.This proves to Device Portal that the request comes either from the Device Portal UI or a valid client application. 원본 헤더가 없으면 요청이 거부됩니다.Without the Origin header your request will be rejected.