URL: https://linuxfr.org/news/du-reverse-tethering-sur-android-sans-root Title: Du reverse tethering sur Android (sans root) Authors: ®om Davy Defaud, ZeroHeure et Nils Ratusznik Date: 2017年04月06日T12:13:53+02:00 License: CC By-SA Tags: android, reversetethering et tethering Score: 28 Je vous présente un outil que j’ai développé, qui permet aux appareils Android d’utiliser la connexion du PC sur lequel ils sont branchés. On appelle ça du « _reverse tethering_ ». Je l’ai appelé [_gnirehtet_](https://github.com/Genymobile/gnirehtet) (`rev <<< tethering` en _bash_). Il ne nécessite pas d’accès _root_, que ce soit sur le téléphone ou sur le PC. En revanche, il nécessite Java 8 et les _Android tools_ (_adb_). ---- [Journal à l’origine de la dépêche](https://linuxfr.org/users/rom1v/journaux/du-reverse-tethering-sur-android-sans-root) [Projet sur GitHub](https://github.com/Genymobile/gnirehtet) [Page développeurs](https://github.com/Genymobile/gnirehtet/blob/master/DEVELOP.md) [Présentation en français](http://blog.rom1v.com/2017/03/gnirehtet/) [Présentation en anglais](https://medium.com/genymobile/gnirehtet-reverse-tethering-android-2afacdbdaec7) [Reddit](https://www.reddit.com/r/Android/comments/62lc8z/a_reverse_tethering_tool_for_android_no_root/) [Hacker News](https://news.ycombinator.com/item?id=14011590) ---- ## Comment l’utiliser ? Il suffit de télécharger la dernière [publication](https://github.com/Genymobile/gnirehtet/releases/latest), de l’extraire et d’exécuter la commande suivante sur le PC : ``` ./gnirehtet rt ``` La première fois, Android demande une confirmation : ![VPN request](https://raw.githubusercontent.com/Genymobile/gnirehtet/master/assets/request.jpg) Une fois activé, un logo en forme de clef apparaît dans la barre de statut du téléphone : ![Key](https://raw.githubusercontent.com/Genymobile/gnirehtet/master/assets/key.png) Pour l’arrêter : `Ctrl` + `C`. Le fichier [README](https://github.com/Genymobile/gnirehtet/blob/master/README.md) donne plus de détails. [release]: https://github.com/Genymobile/gnirehtet/releases/latest ## Comment ça marche ? Très succinctement, l’application s’enregistre en tant que réseau privé virtuel (VPN) pour intercepter tout le trafic réseau du téléphone, qu’il transmet à un serveur tournant sur le PC, qui ouvre les connexions et relaie le contenu dans les deux sens. Voici un beau dessin pour faire joli (c’est l’architecture du serveur relais) : ![Architecture du serveur relais](https://raw.githubusercontent.com/Genymobile/gnirehtet/master/assets/archi.png) ## Vers l’∞ (et au‐delà) Notez qu’il est possible d’activer en même temps le _tethering_ (de manière à ce que le PC utilise la connexion du téléphone), et le _reverse tethering_ (pour que le téléphone utilise la connexion du PC). Ne faites pas ça ! :D En parlant d’infini (même si ça n’a rien à voir), savais‐tu, cher journal, qu’une boucle infinie était un [_undefined behavior_](https://en.wikipedia.org/wiki/Undefined_behavior) ([Ah bon](http://stackoverflow.com/questions/3592557/optimizing-away-a-while1-in-c0x), [pourquoi](http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1528.htm) ? Quel rapport avec le [dernier théorème de Fermat](https://kukuruku.co/post/undefined-behavior-and-fermats-last-theorem/) ?) ? [undefined behavior]: https://en.wikipedia.org/wiki/Undefined_behavior [stackoverflow]: http://stackoverflow.com/questions/3592557/optimizing-away-a-while1-in-c0x [openstd]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1528.htm [fermat]: https://kukuruku.co/post/undefined-behavior-and-fermats-last-theorem/

AltStyle によって変換されたページ (->オリジナル) /