Outil en CLI pour convertir une IPv4 en entier et réciproquement
4 réponses
Olivier
Bonjour,
Qui connait le nom d'un paquet Debian comprenant un outil de
conversion d'IPv4 en entier et réciproquement ?
Sauf erreur ipcalc et ipcalc-ng ne font pas cette conversion.
J'ai trouvé des exemples en bash, ici ou lÍ mais regarderai volontiers
un outil dédié.
sum(256**(3-i)*a for i,a in enumerate(map(int,"192.0.2.1".split("."))))
3221225985 nicolas patrois : pts noir asocial -- RÉALISME M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des humains ? Un cerveau plus gros ? P : Non... Une carte bleue suffirait...
Le 11/03/2022 17:40:52, Stephane Bortzmeyer a écrit :
sum(256**(3-i)*a for i,a in enumerate(map(int,"192.0.2.1".split("."))))
3221225985 nicolas patrois : pts noir asocial -- RÉALISME M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des humains ? Un cerveau plus gros ? P : Non... Une carte bleue suffirait...
Marc Chantreux
salut,
Qui connait le nom d'un paquet Debian comprenant un outil de conversion d'IPv4 en entier et réciproquement ?
les réponses suivantes sont Í coté de la plaque vu que tu souhaites un outils dédié mais pourrais tu satisfaire ma curiosité en m'expliquant Í quoi ça peut servir? ipv4int() <<. bc ibase $( for i; do echo $i | tr . 'n' | tac | xargs printf '%02hX' echo done) . // vi: noet #include <stdio.h> #include <arpa/inet.h> int main (int argc, char ** argv ) { struct in_addr addr; for (uint8_t i=1; i<argc; i++) { inet_pton(AF_INET, argv[i], &addr); printf( "%u %sn", addr.s_addr, inet_ntoa(addr) ); } } 'soir marc
salut,
Qui connait le nom d'un paquet Debian comprenant un outil de
conversion d'IPv4 en entier et réciproquement ?
les réponses suivantes sont Í coté de la plaque vu que tu
souhaites un outils dédié mais pourrais tu satisfaire ma curiosité
en m'expliquant Í quoi ça peut servir?
ipv4int() <<. bc
ibase
$( for i; do
echo $i | tr . 'n' | tac | xargs printf '%02hX'
echo
done)
.
Qui connait le nom d'un paquet Debian comprenant un outil de conversion d'IPv4 en entier et réciproquement ?
les réponses suivantes sont Í coté de la plaque vu que tu souhaites un outils dédié mais pourrais tu satisfaire ma curiosité en m'expliquant Í quoi ça peut servir? ipv4int() <<. bc ibase $( for i; do echo $i | tr . 'n' | tac | xargs printf '%02hX' echo done) . // vi: noet #include <stdio.h> #include <arpa/inet.h> int main (int argc, char ** argv ) { struct in_addr addr; for (uint8_t i=1; i<argc; i++) { inet_pton(AF_INET, argv[i], &addr); printf( "%u %sn", addr.s_addr, inet_ntoa(addr) ); } } 'soir marc
ne faudrait-il pas tenir compte de l'endianisme? pour ma part j'ai: /tmp/ipv4int 192.0.2.1 16908480 192.0.2.1 en executant ce code: // vi: noet #include <stdio.h> #include <arpa/inet.h> int main (int argc, char ** argv ) { struct in_addr addr; for (uint8_t i=1; i<argc; i++) { inet_pton(AF_INET, argv[i], &addr); printf( "%u %sn", addr.s_addr, inet_ntoa(addr) ); } } 'soir marc
ne faudrait-il pas tenir compte de l'endianisme? pour ma part j'ai: /tmp/ipv4int 192.0.2.1 16908480 192.0.2.1 en executant ce code: // vi: noet #include <stdio.h> #include <arpa/inet.h> int main (int argc, char ** argv ) { struct in_addr addr; for (uint8_t i=1; i<argc; i++) { inet_pton(AF_INET, argv[i], &addr); printf( "%u %sn", addr.s_addr, inet_ntoa(addr) ); } } 'soir marc