3 votos

Comprobar los detalles de IP a través de Android Terminal App en Android 13

Parece que Android 13 no permite más acceso a /system/bin/ip mando.

He intentado listar los dispositivos hotspot conectados a través de ip neigh [ 1 ].

El mensaje de error es:

ip neith \ Cannot bind netlink socket: Permission denied

No se puede enlazar el socket netlink: Permiso denegado

¿Hay alguna forma de solucionar este problema en Android 13?

Hasta ahora lo he probado con las siguientes aplicaciones de terminal


4voto

fulvius31 Puntos 41

Google ha eliminado la posibilidad de bind netlink socket para recuperar arp tabla de targetSdkVersion 30 a través de políticas SELinux. Si tienes Root, puedes deshabilitar las políticas SELinux y funcionará, dando el comando su -c setenforce 0 cuando haya terminado con ip neigh le sugiero que vuelva a aplicar las políticas SELinux con el comando su -c setenforce 1

Sin utilizar bind he hecho una librería que hace un workaround que consiste en enviar vía netlink socket un mensaje de tipo no listado (30) y luego he usado el socket receive para ver qué sistema de datos devuelve a ese socket. A partir de ahí, me he dado cuenta de que los datos recibidos eran del tipo arp mesa.

Encontrará más información aquí https://github.com/fulvius31/ip-neigh-sdk30/blob/main/ipneigh30/src/main/cpp/ip_neigh.c

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