UWP 앱 네트워크 격리에서 로컬 호스트 서버를 제외하시겠습니까?

UWP 앱 네트워크 격리에서 로컬 호스트 서버를 제외하시겠습니까?

기본적으로 UWP 앱은 동일한 컴퓨터의 네트워크 리소스에 액세스할 수 없습니다. 이 제한은 유틸리티를 사용하여 앱별로 해제할 수 있습니다 CheckNetIsolation.exe. 이는 웹의 여러 위치에 설명되어 있습니다.

https://stackoverflow.com/questions/34589522/cant-see-localhost-from-uwp-app https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/deploying-and-debugging-uwp-apps#debugging-options

루프백 면제는 UWP 앱에 개별적으로 부여될 수 있습니다. 내 사용 사례에서는 localhost(인터넷 옵션 -> 연결 -> 근거리 통신망(LAN) 설정 -> 프록시 서버)에서 실행되는 시스템 전체 프록시 서버를 사용하고 싶습니다. 즉, 모든 UWP 앱에 루프백 면제를 부여해야 합니다. 그렇지 않으면 인터넷에 전혀 액세스할 수 없습니다.

모든 UWP 앱에 루프백 면제를 부여하는 대신 서버 측에 작업을 수행하여 이러한 네트워크 격리를 우회할 수 있는 방법이 있나요?

예를 들어 (아직 시도하지 않았습니다.) 내 컴퓨터에서 가상 머신을 실행하고 가상 머신에서 프록시 서버를 실행하면 UWP 앱이 프록시 서버에 연결할 수 있다고 상상합니다. 루프백 인터페이스. 유사하게 작동하는 다른 방법/해킹이 있습니까?

내가 시도했지만 작동하지 않는 것:

  • 127.0.0.1 대신 127.0.0.0/8의 다른 IP 주소에 프록시 서버 바인딩
  • Microsoft 루프백 어댑터 추가, IP 주소 할당 및 해당 주소에 프록시 서버 바인딩

답변1

모든 앱에 예외를 부여하거나 별도의(실제 또는 가상) 시스템에서 서버를 실행하지 않고 실제로 방법이 있습니다. 네트워킹 속임수를 사용하여 로컬 호스트 서버가 다른 시스템에서 실행되는 것처럼 보이게 만듭니다.

WinDivert 프레임워크를 사용하여 솔루션을 구현했습니다.즉, 지정된 "반사 주소"로 향하는 네트워크 패킷을 다시 localhost로 "반사"하므로 localhost에서 실행 중인 서버는 반사 주소에 도달할 수 있습니다. 이렇게 하면 UWP 앱이 서버에 자유롭게 액세스할 수 있습니다.

네트워크 패킷을 필터링하고 주입할 수 있는 다른 기술을 사용하여 유사한 솔루션을 구현하는 것이 가능해야 합니다.

관련 정보