4 votes

Comment utiliser l'interface réseau en tant qu'utilisateur non rooté ?

Je veux communiquer entre mon appareil Android et ma boîte Linux sur IP via le mode d'interface réseau USB. L'appareil que j'utilise est un OnePlus One exécutant CM12.1 nightly builds. Il est rooté et SELinux est réglé sur PERMISSIVE . La séparation des espaces de noms des montagnes est également désactivée.

J'ai connecté mon OPO à ma boîte Linux et l'ai mis en mode d'interface réseau par le biais d'un piratage de réflexion Java et de la permission MANAGE_USB réservée au système. (Je n'utilise pas le paramètre standard de tethering parce que je veux utiliser ma boîte Linux comme passerelle et non l'inverse). J'ai utilisé ip addr add pour ajouter une adresse IP aux deux extrémités (boîte Linux et OPO) et ensuite ajouter une route avec ip route via ma boîte Linux pour l'accès à l'internet. J'ai également activé la redirection IPv4 du côté de la boîte Linux, ainsi que l'activation de toutes les fonctions nécessaires à l'accès à Internet. iptables règles.

Mon problème est le suivant : seulement root peuvent communiquer sur l'interface. Par exemple, avec ma boîte Linux à 10.42.0.1 et mon OPO à 10.42.0.2 à travers l'interface réseau USB, en exécutant ping 10.42.0.1 ou ping 8.8.8.8 du côté d'Android sans passer par un su coquille ne fonctionnera pas . En exécutant exactement les mêmes commandes que root fonctionne parfaitement. Les mêmes commandes sur l'interface WiFi du côté Android fonctionnent bien sans Root.

Je suppose qu'il s'agit d'une nouvelle fonction de sécurité mise en œuvre dans Android 5.0 / 5.1, car elle fonctionnait bien dans KitKat. Quelqu'un sait-il exactement ce que cela peut être ?

0voto

Ryan Scott Points 1

Je suis aussi tombé sur ça. Il s'agit de politiques de routage qui font que la table de routage "principale" n'est pas engagée pour un utilisateur autre que Root.

Cela a fonctionné pour moi, mais j'étudie toujours les implications d'une approche aussi large. Ce n'est pas pire que ce que fait ma boîte linux, donc il y a ça.

 ip rule add from all lookup main pref 99

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X