Vous avez un beau smartphone sous Android avec une belle fonctionalité « Point d’accès mobile » mais votre opérateur vous refuse ce service en vous demandant de payer ? Ha ! Voici une méthode à priori infaillible pour profiter de votre accès Internet 3G depuis votre PC (ça risque d’être compliqué pour les consoles de jeux, malheureusement, mais ça peut dépanner).

ATTENTION ! Cette technique n’a été testée que sur le réseau SFR. Si vous êtes chez Orange ou Bouygues, ce serait cool de tester et de dire si ça marche ! Je ne pose pas la question pour Free, il ne doit pas empêcher ses utilisateurs de faire ce qu’ils veulent… Si ? 😉
  

Prérequis

Quelques connaissances techniques sur les proxys et le SSH
Un smartphone sous Android (rooté ou pas, peu importe)
Un serveur SSH sur le smartphone (SSHDroid, par exemple)
Un client SSH sur le PC (PuTTY…)
  

En bref : comment faire

Pour les plus pressés, voici la méthode en vidéo.

Résumé textuel : sur votre smartphone, activez le point d’accès mobile et le réseau de données (3G). Depuis votre ordinateur, connectez-vous à votre nouveau point d’accès. Récupérez l’adresse IP donnée par le serveur SSH. Connectez-vous en SSH à cette adresse (attention, si vous utilisez SSHDroid comme serveur, le port par défaut est 2222)  en créant un tunnel dynamique sur le port de votre choix (avec PuTTY, allez dans le menu Connection – SSH – Tunnels, mettez un nombre entre 10000 et 65000 dans « Source port », cochez « Dynamic » et cliquez sur « Add »). Vous pouvez maintenant ouvrir votre connexion. Identifiez-vous comme « root » et renseignez le mot de passe que vous indique le serveur (avec SSHDroid, c’est « admin » par défaut).

Vous avez établi un tunnel entre votre ordinateur et votre smartphone. Maintenant, il ne reste plus qu’à dire à vos applications de passer par ce tunnel pour utiliser votre connexion 3G. Pour Firefox, par exemple, allez dans Options – Avancé – onglet Réseau – Paramètres, mettez comme adresse de proxy 127.0.0.1 et comme port le numéro que vous avez choisi auparavent pour votre tunnel. Essayez de surfer sur le web, normalement, ça marche ! Attention, ça bouffe de la data, c’est à utiliser avec parcimonie si vous n’êtes pas illimité.

Si vous êtes curieux, vous serez peut-être intéressés par quelques explications.
  

Explications techniques

À la base, je me suis demandé comment, quand on utilise le mode « modem Wi-Fi », les opérateurs pouvaient détecter que les requêtes ne venaient pas du smartphone. J’ai donc tenté d’installer un sniffer sur mon smartphone via SSH (les sniffers du Play Store demandent un appareil rooté…). Je n’ai pas réussi, mais en confondant le shell de mon PC et le SSH, j’ai tapé une commande qui m’a fait réaliser qu’on pouvait faire des requêtes DNS depuis le PC mais pas de HTTP. N’ayant pas de quoi mettre en place un serveur IP over DNS, j’ai cherché une autre idée. Je me suis donc dit « si on fait croire à l’opérateur que c’est le smartphone qui fait ces requêtes, ça doit marcher » !

Grâce au tunnel SSH, le smartphone envoie les requêtes sur le réseau de données avec sa propre identité et nous retourne le résultat. Cette technique semble donc à priori imparable : si on peut faire n’importe quoi depuis son smartphone (Skype, MSN, jeux en ligne…), on peut faire n’importe quoi en se faisant passer pour lui !
  
Ce serait génial si on pouvait automatiser tout ça, parce que c’est quand même loin d’être accessible aux débutants… À creuser ! 🙂

Publicités