Quantcast
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

ICMP Tunnel – Pour surfer même quand tout est bloqué

Si vous vous déplacez souvent que vous cherchez toujours à passer outre les portails captifs des bornes WiFi…

Si vous êtes dans une société où le Firewall vous casse les bonbons et vous empêche de faire 2 ou 3 trucs…

Ou si vous avez besoin d’établir un tunnel chiffré entre 2 machines pour échanger des petits secrets…

J’ai ce qu’il vous faut ! Ça s’appelle ICMPTunnel et ça permet d’encapsuler votre trafic IP dans des packets ICMP de type echo. D’un côté, il vous faut un serveur proxy ICMPTunnel qui recevra et désencapsulera les paquets avant de les transmettre à l’hôte ou au site que vous essayez de joindre. Et de l’autre, votre client installé en local sur votre machine, enverra à ce serveur proxy les requêtes (planquées dans de l’ICMP) et recevra les réponses (toujours planquées dans de l’ICMP) qu’il devra décoder.

Je vous préviens tout de suite, ce sera ultra méga long… N’espérez pas que votre surf soit agréable ou pouvoir avec ça, mater une petite série en streaming. N’empêche ça peut rendre service quand tout est bloqué de partout.

Pour vous servir de ICMP Tunnel, allez télécharger les sources comme ceci :

git clone https://github.com/DhavalKapil/icmptunnel

Puis faites :

make

Ensuite côté serveur, lancez le tunnel avec les privilèges root et l’adresse IP locale qu’aura le serveur au bout de ce tunnel.

sudo ./icmptunnel -s 10.0.1.1

Ensuite côté client, localisez la passerelle (Gateway) de votre interface avec la commande :

route -n

Editez le fichier client.sh et remplacez <server> par l’adresse IP de votre serveur proxy. Remplacez <gateway> par l’IP de la passerelle renvoyé par la commande route ci-dessus et spécifiez l’interface (eth0 par exemple) à la place de <interface>. Vous devriez voir aussi dans ce fichier l’adresse IP locale de la machine lorsqu’elle sera connectée au tunnel (10.0.1.2)

Vérifiez ensuite vos DNS côté client pour être sûr qu’ils sont aussi bien accessibles par votre serveur proxy. Ensuite côté client, initiez la connexion au tunnel avec la commande suivante :

sudo ./icmptunnel -c ADRESSE_IP_DU_SERVEUR_PROXY

Et voilà… Le tunnel devrait s’établir et les machines commencer à communiquer entre elles. À tester !

Notez que j’ai remarqué que si le proxy recevait déjà beaucoup de paquets ICMP, ça avait tendance à planter rapidement, donc utilisez plutôt une machine qui n’est pas trop sollicité à la base.


A la recherche d’un job dans le numérique et envie de changer de région et de vie ?

Est-ce que je fais vraiment le boulot que j’aime ? Ma qualité de vie dans cette grosse ville bruyante, polluée, chère … est-elle vraiment la meilleure ? Est-ce que ce village de campagne est le lieu le plus propice pour préparer mes enfants au futur ? Nous sommes nombreux à nous être posé ce genre de questions à un moment ou un autre, moi le premier.

Et bien si vous êtes dans cette situation, que vous avez envie de changer d’air sans pour autant changer de travail, Laou vous accompagne dans toutes les étapes de ce nouveau voyage, pour que vous ayez l’esprit serein jusqu’au moment d’envoyer votre premier mail pro 😉

Découvrir leur service et lancez-vous



Réponses notables

  1. Vu la taille des paquets ICMP, mieux vaut se tourner vers Iodine qui est un tunnel DNS qui fonctionne sur le même principe (et qu’on peut installer dans son WRT :wink: )

  2. Avatar for seb seb says:

    Je n’ai jamais testé mais j’imagine que iodine passe dès qu’on a un accès internet, ce qui n’est pas le cas de ICMP Tunnel.
    Chez nous par exemple on ne peut pas pinger internet donc il y a peu de chance que ICMP Tunnel fonctionne.

  3. Avatar for Gilles Gilles says:

    Ok, ma société bloque tout avec le pare-feu mais permet d’installer des programmes sans soucis o.O ?

    Joli PoC.

Continuer la discussion sur Korben Communauté

8 commentaires supplémentaires dans les réponses

Participants