En Python, il semble que vous puissiez le faire en utilisant un module appelé netaddr, Je n'avais besoin que de la conversion CIDR, alors je l'ai écrit moi-même.
>>> import socket, struct
>>> def cidr2mask(len):
... return socket.inet_ntoa(struct.pack('!L', 0xffffffff ^ ((1 << 32-len)-1)))
...
>>> cidr2mask(8)
'255.0.0.0'
>>> cidr2mask(16)
'255.255.0.0'
>>> cidr2mask(24)
'255.255.255.0'
>>> cidr2mask(20)
'255.255.240.0'
Il semble y avoir une manière d'écrire plus élégante.
Recommended Posts