Je voudrais trouver un moyen de faire une requête SQL qui calcule la cidr (représentation bit) d'un masque de sous-réseau stocké dans la base de données. Ainsi, par exemple, j'ai 255.255.255.0 ou sa valeur décimale (4294967040) stockée dans la base de données. Je voudrais faire une sélection et revenir/24 représentation via la requête.Utilisation de SQL pour déterminer la valeur cidr d'un masque de sous-réseau
J'ai fait des choses comme les suivantes pour déterminer la dernière adresse IP d'un sous-réseau, donc j'espère faire quelque chose de similaire pour déterminer la représentation cidr d'un masque.
select concat(inet_ntoa(ip_addr),'-',
inet_ntoa(ip_addr+(POWER(2,32)-ip_mask-1))) range
from subnets
order by ip_addr
De préférence, ce serait une instruction SQL qui travaillerait sous MySQL, Postgres, Oracle, etc.
log2 ... génial! :-) –
J'ai vérifié cela par rapport à toutes les valeurs de ce tableau et je l'ai trouvé exact: https://kthx.at/subnetmask/. – apostl3pol