URL: https://linuxfr.org/users/rom1v/journaux/du-reverse-tethering-sur-android-sans-root Title: Du reverse tethering sur Android (sans root) Authors: ®om Date: 2017年04月06日T10:19:10+02:00 License: CC By-SA Tags: vpn, open_source, android et reversetethering Score: 49 Bonjour nal, Je t'écris pour te présenter un outil que j'ai développé, qui permet aux _devices_ Android d'utiliser la connexion du PC sur lequel ils sont branchés. On appelle ça du "reverse tethering". Je l'ai appelé [gnirehtet][] (`rev <<< tethering` en _bash_). [gnirehtet]: https://github.com/Genymobile/gnirehtet Il ne nécessite pas d'accès _root_, que ce soit sur le téléphone ou sur le PC. Par contre, il nécessite _Java 8_ et _adb_. ## Comment l'utiliser ? Il suffit de télécharger la dernière [release][], de l'extraire, et d'exécuter la commande suivante sur le PC : ``` ./gnirehtet rt ``` [release]: https://github.com/Genymobile/gnirehtet/releases/latest La première fois, Android demande une confirmation :  Une fois activé, un logo en forme de clé apparaît dans la barre de statut du téléphone :  Pour l'arrêter : Ctrl+C. Le [README](https://github.com/Genymobile/gnirehtet/blob/master/README.md) donne plus de détails. ## Comment ça marche ? Très succinctement, l'application s'enregistre en tant que 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) :  ## Des liens * [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) ## 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][] ? ([Ah bon][stackoverflow], [pourquoi][openstd] ? Quel rapport avec le [théorème de Fermat][fermat] ?) [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/