J'ai essayé d'interdire une adresse IP dans iptables qui commence par 047, mais cela la changerait en 039.
iptables -v -w -I INPUT 1 -s 047.75.162.122 -j DROP
Mais l'adresse IP serait interdite comme 39.75.162.122!
Pourquoi pensez-vous que cela se passe?
strtol()
fonction stdlib sous-jacente : " Une constante octale se compose du préfixe0
éventuellement suivi d'une séquence de chiffres0
à7
seulement ".inet_addr aka inet_aton
ce qui nécessite l'effet destrtol(,,0)
inet_aton
accepte également quelques autres formes moins habituelles ( le manuel les décrit même):Ils sont également susceptibles de fonctionner sur les navigateurs Web.
Le préfixe des nombres octaux avec un zéro et des nombres hexadécimaux avec
0x
est au moins aussi ancien que le langage C.la source