2013-07-23 2 views
4

J'ai réalisé que sous Linux (RHEL et Debian) les adresses IPv4 incomplètes en notation point sont remplies de zéros internes. Par exemple, je tapais 172.30.122 au lieu de 172.30.0.122 mais Linux corrigé et utilisé 172.30.0.122Les adresses IP incomplètes sont remplies de zéros

# ping 172.30.107 

PING 172.30.107 (172.30.0.107) 56(84) bytes of data. 
64 bytes from 172.30.0.107: icmp_seq=1 ttl=62 time=2.19 ms 
64 bytes from 172.30.0.107: icmp_seq=2 ttl=62 time=1.18 ms 

Au moins deux octets sont nécessaires - les octets internes manquants ne sont pas nécessaires:

# ping 172.107 
PING 172.107 (172.0.0.107) 56(84) bytes of data. 

Est-ce un bug? Est-ce que les normes le permettent?

Thanx à l'avance

+1

Ceci est le comportement standard sur les systèmes d'exploitation, Windows fait de même, qu'il fasse partie de la norme TCP/IP que je ne connais pas. –

+1

duplication possible de [Existe-t-il une documentation pour l'omission de zéros en notation décimale par points des adresses IPV4?] (Http://stackoverflow.com/questions/10133820/is-there-any-documentation-for-omitting-zeroes-in -dot-decimal-notation-of-ipv4-a) – tripleee

Répondre

1

Ceci est une question double car il a été répondu avant, peut-être un peu plus de recherche et vous trouveriez la réponse: D

Il y a une question Stack Overflow demandant quelque chose de similaire (this post).

La raison principale est comment inet_aton() (man page) convertit les octets en l'adresse binaire.

+0

Merci à tous – Jdamian

Questions connexes