Освободить сервер localhost от сетевой изоляции приложения UWP?

Освободить сервер localhost от сетевой изоляции приложения 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

Исключение Loopback может быть предоставлено приложениям UWP по отдельности. В моем случае я хотел бы использовать общесистемный прокси-сервер, работающий на локальном хосте (Свойства обозревателя -> Подключения -> Настройки локальной сети (LAN) -> Прокси-сервер). Это означает, что мне нужно предоставить исключение Loopback каждому из моих приложений UWP, иначе они вообще не смогут получить доступ к Интернету.

Есть ли способ обойти эту сетевую изоляцию, сделав что-то на стороне сервера, вместо того, чтобы предоставлять исключение Loopback каждому приложению UWP?

Например, (я еще не пробовал это) я представляю, что запуск виртуальной машины на моем компьютере и запуск моего прокси-сервера на виртуальной машине позволят приложениям UWP подключаться к прокси-серверу, поскольку прокси-сервер не прослушивает интерфейс loopback. Есть ли какой-либо другой метод / хак, который будет работать аналогично?

Что я пробовал и что не работает:

  • Привязка прокси-сервера к другому IP-адресу в 127.0.0.0/8, вместо 127.0.0.1
  • Добавление адаптера Microsoft Loopback, назначение ему IP-адреса и привязка моего прокси-сервера к этому адресу

решение1

На самом деле существует способ, не предоставляющий исключения каждому приложению и не запускающий сервер на отдельной (реальной или виртуальной) машине: используйте сетевые уловки, чтобы заставить локальный сервер выглядеть так, будто он работает на другой системе.

Я реализовал решение с использованием фреймворка WinDivert.Короче говоря, он «отражает» сетевые пакеты, предназначенные для указанного «адреса отражения» обратно на localhost, так что сервер, работающий на localhost, может быть доступен по адресу отражения. Таким образом, приложения UWP могут свободно получать доступ к серверу.

Должна быть возможность реализовать аналогичные решения с использованием других технологий, способных фильтровать и внедрять сетевые пакеты.

Связанный контент