Introduction
Imagine utiliser un outil réseau standard pour transformer un clip vidéo en une animation en ligne de commande. C'est exactement ce que certains hackers ont entrepris de faire avec "Bad Apple!!", une vidéo iconique souvent utilisée comme étalon pour tester et montrer des compétences techniques. Cet article explore comment des passionnés ont réussi à afficher cette vidéo via traceroute, un outil de diagnostic réseau.
L'Essence de Traceroute
Traceroute est un outil qui permet de suivre le chemin qu'un paquet de données prend sur un réseau pour atteindre sa destination. Il fonctionne en envoyant des paquets avec des durées de vie (TTL) croissantes et en écoutant les messages ICMP (Internet Control Message Protocol) de type "temps dépassé" renvoyés par les routeurs intermédiaires. Ce procédé permet de cartographier les "hops" ou sauts entre l'origine et la destination.
Le Concept de "Bad Apple"
"Bad Apple!!" est une vidéo qui est devenue un phénomène culturel en raison de son style artistique en ombres chinoises. Elle est souvent utilisée dans les démonstrations techniques pour sa capacité à être rendue sur des dispositifs aux capacités d'affichage limitées. La vidéo peut être réduite à une simple série d'images en noir et blanc, ce qui permet de la rendre sur des "écrans" non conventionnels.
Transformer Traceroute en Affichage
Pour transformer traceroute en un outil d'affichage graphique, plusieurs étapes techniques sont nécessaires. L'idée est d'injecter des étapes fictives dans la sortie de traceroute, de manière à ce qu'elles correspondent aux pixels d'une image à un instant donné.
Génération de Nombres aléatoires avec nftables
En utilisant nftables, un outil de filtrage de paquets sous Linux, on peut générer des adresses IP de manière dynamique. L'astuce consiste à utiliser la fonction numgen pour créer un compteur monotone qui génère une adresse IPv6 différente à chaque réponse ICMPv6 générée.
Bypass des Limites de Trafic
Par défaut, le noyau Linux impose une limite de taux sur les paquets ICMPv6 sortants. Pour que l'expérience soit fluide, cette limite doit être désactivée à l'aide de sysctl net.ipv6.icmp.ratelimit=0.
Modification de mtr
mtr (My Traceroute) peut montrer plusieurs adresses par saut, ce qui est normalement utile pour diagnostiquer la variabilité des chemins réseaux. Cependant, pour notre but, cela doit être évité. Une petite modification du code source de mtr permet de s'assurer qu'une seule adresse est affichée par saut.
Conversion Vidéo avec ffmpeg
Pour que le timing fonctionne, la vidéo originale est convertie en une série d'images à 8 images par seconde, chaque image étant réduite à une résolution de 30x11 pixels. Un script Python lit ces images et les convertit en un ensemble de règles nftables, qui sont ensuite utilisées pour générer les réponses ICMPv6 correspondantes.
Les Implications et Applications
Cette démonstration n'est pas simplement un exploit technique amusant. Elle met en lumière la flexibilité et la puissance des outils réseau modernes lorsqu'ils sont détournés de leur usage prévu. Les implications vont au-delà du simple "hack" : elles montrent comment des outils standards peuvent être réinventés pour servir des fins créatives ou pédagogiques.
Conclusion
L'initiative "Bad Apple mais c'est Traceroute" illustre comment la créativité peut transformer des outils techniques en plateformes d'expression artistique. Si tu es inspiré par ces types d'innovations techniques, discutons de ton projet en 15 minutes.
Let’s discuss your project in 15 minutes.
Discutons de ton projet en 15 minutes.