URL: https://linuxfr.org/users/spacefox/journaux/jouons-un-peu-avec-les-adresses-ipv6 Title: Jouons un peu avec les adresses IPv6... Authors: SpaceFox Date: 2016年11月21日T14:14:07+01:00 Tags: ipv6, réseau et ubuntu Score: 45 ```console $ ip addr show dev enp3s0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/1円/;t;d' | head -n 1 | tr -d : | tail -c 17 | xxd -r -p SpaceFox ``` [Facebook s'amuse depuis 2011](http://www.nextinpact.com/archive/64978-facebook-ipv6-adresse-hexadecimale.htm), et il n'y a pas de raison qu'on ne puisse pas en faire autant. Les adresses IPv6 sont virtuellement infinies : avec 2^128 possibilités (les adresses font 128 bits de long), on peut coller, [je cite Wikipédia](https://fr.wikipedia.org/wiki/IPv6), « 667 millions de milliards d'appareils connectés sur chaque millimètre carré de la surface de la Terre ». Ce qui veut par exemple dire qu'on pourrait affecter une adresse IPv6 à _chaque transistor_ sans ne serait-ce que commencer à épuiser les adresse IPv6 disponibles. Ce qui a plusieurs conséquences qui vont nous intéresser aujourd'hui : - Le NAT n'a plus d'intérêt, les adresses routables sont routées directement sur Internet. - Les sous-réseaux sont de taille fixe : ce sont tous des /64 (donc les 64 derniers bits, donc les 8 derniers octets, sont les adresses du sous-réseau, qui est littéralement gigantesque : chaque sous-réseau IPv6 est quatre milliards de fois plus grand que l'intégralité des adresses IPv4...) - Les FAI ne fournissent plus une adresse, voire une demi-adresse comme en IPv4, mais _au moins_ un sous-réseau IPv6 (le mien, SFR, me fournit un /56, donc 256 sous-réseaux si mon calcul est bon). Donc, si je peux tout à fait me faire une adresse mégalomane à la Facebook, avec mon ~~nom~~ pseudo dedans, qui en plus sera routable sur Internet. Sauf que « SpaceFox », ça c'est pas représentable en hexadécimal. Par contre, ça fait 8 octets encodés en ASCII, et j'ai 8 caractères que je peux choisir comme je veux, ce qui tombe bien. Je fixe donc mon adresse IP (les détails changent selon votre OS et sa version), et je vérifie grâce à la commande du début du journal que maintenant : - J'ai une adresse IPv6 mégalo avec mon pseudo dedans. - Cette adresse est routée sur Internet (y'a des sites pour vérifier ça) - Personne n'en a rien à battre (qui s'amuse à décoder les adresses IPv6 en ASCII ?!) Un peu d'explications sur la commande : `ip addr show dev enp3s0` Affiche les adresses de la carte réseau (qui n'est pas eth0 parce que [le nommage a changé avec Ubuntu Wily](https://p3ter.fr/debian-ubuntu-eth0-c-est-fini.html)). `| sed -e's/^.*inet6 \([^ ]*\)\/.*$/1円/;t;d'` On récupère les IPv6 `| head -n 1` On prends la première, la seconde c'est l'IP de lien local (dans mon cas, je ne garantis pas chez vous). `| tr -d :` On supprime tous les caractères `:` de l'adresse pour ne garder que les caractères hexadécimaux. `| tail -c 17` On garde les 17 derniers (et pas 16 parce qu'il y a un saut de ligne à la fin), parce que c'est ceux que j'ai fixés. `| xxd -r -p` On affiche la représentation ASCII correspondant à la représentation hexadécimale. Magie ! Limite de la chose : ça ne fonctionne que sur une machine de votre réseau, démarrée avec le bon OS. Notez que je ne dis nulle part que c'est intelligent ou une bonne idée à reproduire chez vous... _Ce journal est placé sous licence CC-BY 4.0, ce que je fais manuellement parce que la case à cocher ne permet que CC-BY-SA._

AltStyle によって変換されたページ (->オリジナル) /