Архитектурные детали сервиса Android VPN: Как создается tun0? - PullRequest
0 голосов
/ 04 октября 2019

Я хотел бы знать, как Android создает интерфейс VPN tun0. После того, как я звоню установить из VPNService, Builder, ServiceManager начинает процесс и создает tun0. Для этого он использует посылки для отправки в Binder, но я не совсем понимаю, что он делает после этого. Я хочу подробно понять, как создается интерфейс.

Я пытался использовать strace в приложении, чтобы увидеть, какие системные вызовы выполняются, но я не видел никаких вызовов ioctl из pid приложения, но увидел их на pid system_Server. Я понимаю, что system_Server - это то, что создает интерфейс, но как Binder обращается к system_Server с просьбой создать интерфейс. Пожалуйста, укажите на любой исходный код. Это было бы очень полезно.

...