1 votos

Detalles arquitectónicos del servicio VPN de Android: ¿Cómo se crea tun0?

Me gustaría saber cómo android se crea una VPN interfaz tun0. Después de que me llame a establecer a partir de VPNService, el Generador, el ServiceManager toma el proceso y crear la tun0. Para que se utiliza paquetes para enviar a Carpeta, pero yo soy una especie de confusión en cuanto a lo que se hace después de que. Quiero entender en detalle cómo una interfaz se crea.

He intentado usar strace en la aplicación para ver qué tipo de llamadas al sistema se ejecuta, pero no vi a ningún llamadas ioctl de la aplicación de la epi, pero los vi en el system_Server pid. Entiendo que system_Server es lo que crea la interfaz, pero ¿cómo Cuaderno de hablar con system_Server pidiendo la creación de una interfaz. Amablemente punto a cualquier código fuente . Sería realmente útil .

2voto

Jack Wade Puntos 231

Esto es más como un desarrollo relacionados con la pregunta, pero lo que sé es que el cuaderno es la comunicación entre procesos (IPC) mecanismo (como sockets), que los procesos de uso mediante la apertura de /dev/*binder dispositivos de caracteres. Cuaderno de IPC es utilizado por Android del marco de Java (JNI para la comunicación), así como nativo procesos (por ejemplo, para la comunicación con el proveedor de blobs binarios).

tun es Ethernet-como interfaz de red virtual creada por el kernel (siempre que se construye con tuntap de apoyo) para que un programa directamente de lectura/escritura de paquetes IP desde/a esta interfaz. La creación de tun necesidades ioctl TUNSETIFF ser enviado a núcleo /dev/net/tun de dispositivo de caracteres (es /dev/tun en Android). Manualmente se puede hacer:

~# ip tuntap add dev tun0 mode tun

Android es el servicio de VPN utiliza binder a llamar a código nativo para tun creación.

RECURSOS:

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X