Чего я не понимаю, так это того, как программное обеспечение VPN перехватывает такие каналы межпроцессного взаимодействия - откуда оно знает, какие приложения нужно захватить, и как оно может делать это выборочно, не изменяя всю сетевую связь с хостом.
Программное обеспечение VPN обычно работает, добавляя к вашей системе «виртуальный» сетевой интерфейс.
Он использует простую старую маршрутизацию для направления трафика через туннельный интерфейс (будьте осторожны, очень обобщенно), за исключением хоста конечной точки, с которым он будет связываться обычным способом.
Он ничего не «угоняет».
Когда вашему приложению необходимо достичь системы, находящейся за другим концом VPN, оно отправит пакеты в туннель.
Если вы используете клиент для подключения к VPN, ваш компьютер выполняет часть шифрования (и дешифрования при получении пакетов). Он зашифрует и инкапсулирует пакеты при создании и отправит их другому узлу в туннеле.
Затем этот партнер расшифровывает пакеты.
Если вы входите в туннель B2B, то узел на вашей стороне туннеля шифрует / дешифрует пакеты.