Contourner HADOPI pour les un peu moins nuls (partie 1) : iodine encapsulation IP over DNS

Avant de commencer, j’ai une bonne et une mauvaise nouvelle
La bonne : Création et Internet ne prévoit pas d’amendement pour interdire les requêtes DNS
La mauvaise : si vous ne comprenez pas ce qu’est une requêtes DNS, je n’expliquerais pas dans le détail ce que c’est … mais commencez par ça;
Ce billet risque de paraître un peu étrange à certains, j’espère que les autres apprécieront. Vu les possibilités offertes par cette bidouille, je ne vous dirais même pas à quoi ça peut servir, utilisez votre imagination 😉
… bon ok je vous donne un indice : « point d’accès wifi public » …

On commence par lire attentivement ceci :

http://code.kryo.se/iodine/

Nous avons deux machines une première à la maison connectée au net (pensez à ouvrir les ports qui vont bien sur votre routeur … oui le 53) sur laquelle je lance après l’avoir installé iodined, le serveur qui va récupérer nos paquets magiques

On s’occupe d’abord du serveur, on commence par installer iodine. Dans notre exemple il s’agit d’une Debian Lenny mais iodine à même l’air de tourner sur un grille pain … (si vous avez de vielles foneras dont vous ne savez que faire … ).


$ sudo apt-get install iodine

On le configure comme il se doit :

$ sudo dpkg reconfigure iodine

Donnez lui une ip et attention, il vous faut un domaine, pour notre notre exemple notre machine est hysteria.mondomaine.com
… on vous demandera aussi un password pour le tunnel (et en plus c’est secure !).

On peut maintenant lancer notre serveur :

bluetouff@hysteria:~$ sudo dpkg-reconfigure iodine
[sudo] password for bluetouff:
Opened dns0
Setting IP of dns0 to 10.0.0.1
Setting MTU of dns0 to 1024
Opened UDP socket
Listening to dns for domain monserveur.mondomaine.com
Detaching from terminal...

On s’occupe de notre Bind maintenant :

montunnel IN A xxx.xxx.xxx.xxx
tunnel1 IN NS montunnel.mondomaine.com.

Voilà, maintenant occupons nous maintenant de notre poste client (à priori un ordinateur portable puisque c’est avec cette machine que vous allez désespérément rechercher un réseau wifi). Dans notre exemple, il s’agit d’un macbook pro, pas de soucis non plus on passe par les sources :


$ wget http://code.kryo.se/iodine/iodine-0.5.1.tar.gz
$ tar -xvzf iodine-0.5.1.tar.gz
$ cd iodine-0.5.1
$ ls
CHANGELOG README-win32.txt man
Makefile TODO src
README doc tests
$ sudo make
Password:
OS is DARWIN, arch is i386
CC tun.c
CC dns.c
CC read.c
CC encoding.c
CC login.c
CC base32.c
CC base64.c
CC md5.c
CC common.c
common.c: In function ‘do_detach’:
common.c:172: warning: ‘daemon’ is deprecated (declared at /usr/include/stdlib.h:283)
CC iodine.c
LD ../bin/iodine
CC iodined.c
CC user.c
CC fw_query.c
LD ../bin/iodined

et nous voilà prêts à voir si notre tunnel fonctionne (remplacez les xxx par l’ip de votre serveur iodined)

$ cd bin
$ sudo ./iodine -v -f -u votrelogin -P votrepass xxx.xxx.xxx.xxx monserveur.mondomaine.com

Tentez maintenant un petit ping sur 10.0.0.1 si tout est ok ça devrait passer via notre petit tunnel

Comme je vous le disais plus haut, il faut cependant disposer d’un nom de domaine (ne faites donc pas n’importe quoi avec cette astuce car ça laisse quand même des traces).

Et la lumière fût ! Lancez une requête finissant par montunnel.mondomaine.com … enjoy !

En jouant sur le MTU, vous pouvez optimiser le débit de la connexion, un nom de domaine et de sous domaine le plus court possible est aussi une bonne chose à cause de l’encapsulation.

15 réponses sur “Contourner HADOPI pour les un peu moins nuls (partie 1) : iodine encapsulation IP over DNS”

  1. Bon il se trouve que je suis une quiche en bind, mais avis pris a une PQS (Personne Qui sait), on peut augmenter la taille des requêtes >512 et du coup faire du tcp … ce qui ouvre de nouvelles portes 🙂

  2. Wtf, ça a rien à voir avec Hadopi non ? (mais sinon oui, c’est sympa le tunneling sur DNS, la plupart du temps juste un openvpn sur le port 53 ça suffit d’ailleurs).

  3. Hello,
    Directement non, ça n’a pas grand chose à voir. Indirectement maintenant, sur un hotspot type Neuf Wifi ou autre, avec un dyndns, ça peut le devenir.

  4. Ouais effectivement ça ouvre pas mal de possibilités… :p Mais bon d’abord il va falloir creuser un peu tout ça ou bien trouver une PQS car pour le moment j’ai pas tout « comprendu » !!! ;))

  5. Ouep effectivement c’est plus clair avec ce pit lien… Reste plus qu’à essayer de mettre en pratique mais là c’est une autre paire de manche !!!! Mais bon j’ai un hotspot neuf qui me tend les bras donc pourquoi ne pas tester.

  6. Vi biensûr, c’est plus pour le côté technique de la manip que ça m’interesse plutôt que pour le fait de profiter du hotspot… J’ai ma connexion qui va bien et qui me suffit (elle doit être hadopi proof en plus 😉 lol ) pour tout ce dont j’ai besoin… Et pis j’ai passé l’âge de faire mon jean kevin pour hacker le wifi de la voisine !!! lol

  7. Bon, pour les hotspots neuf wifi, le tcp over dns type dns2tcp ne fonctionne pas 🙁 … Les système en ip over dns fonctionnent toujours ???

  8. Bonjour,

    Le titre de l’article c’est partie 1!!! yaurai t il une partie 2 svp et si oui ou se trouve t’elle?

    Merci d’avance

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.