[Python-es] Duda sobre ipv4 y socket.inet_aton(addr)

Josu R. jrvilda en gmail.com
Jue Mayo 17 13:13:46 CEST 2012


Pero ... La librería inet_pton da como error esta ip, ¿cual es la correcta?

import socket

addr ="1.3.23452"
try:
     socket.inet_pton(socket.AF_INET,addr)
except socket.error:
print "error"

error


El 17 de mayo de 2012 12:59, Ricardo Cárdenes
<ricardo.cardenes en gmail.com>escribió:

> 2012/5/17 Josu R. <jrvilda en gmail.com>:
> > Hola a todos,
> >
> > Estaba realizando unas pruebas me he encontrado esta curiosidad.
> > Creéis que es una ip v4 valida "1.3.23452"
>
> Para inet_aton, lo es :P. De la página de manual:
>
>  a.b.c.d se interpreta como cuatro octetos
>  a.b.c se interpreta como dos octetos y un valor de 16 bits
>  a.b se interpreta como un octeto y un valor de 24 bits
>  a se interpreta como un valor de 32 bits
>
> Así que tu 23452 (0x5b9c) se interpreta como "91.156"
>
> Además, históricamente no hubo una definición precisa (en RFC) de cómo
> se debía escribir una dirección IP. La notación separada por puntos no
> se menciona siquiera hasta el RFC 780, que no tiene nada que ver con
> IP en sí, sino con un protocolo de capa superior y no se dio una
> especificación formal hasta que se empezó a trabajar en IPv6.
> inet_aton de 4.2BSD se convirtió en el estándar de facto :)
>
> > Lo pregunto y la curiosidad es la siguiente
> >
> > import socket
> >
> > addr ="1.3.23452"
> > try:
> >     socket.inet_aton(addr)
> > except socket.error:
> > print "error"
> >
> > '\x01\x03[\x9c'
> >
> >
> > --
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 

*Josu Rodriguez Vilda
*Consultant
Skype:jrvilda

P Before printing think about *environment* and *costs*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120517/5617ea0e/attachment.html>


Más información sobre la lista de distribución Python-es