FreeBSD (également OS X, et je crois que NetBSD et OpenBSD) répondra aux demandes envoyées aux adresses configurées sur l'interface de bouclage, tout comme pour les adresses sur toute autre interface - Si vous voulez une réponse, vous devez d'abord attribuer l'adresse :
mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
ping: sendto: Can't assign requested address
^C
[mgraziano@monitor ~]$ sudo ifconfig lo0 alias 127.1.1.1 netmask 0xFFFFFFFF
[mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet 127.1.1.1 netmask 0xffffffff
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
64 bytes from 127.1.1.1: icmp_seq=0 ttl=64 time=0.020 ms
^C
Sur la logique derrière cette implémentation, voir RFC 3330 :
127.0.0.0/8 - Ce bloc est attribué pour être utilisé comme
adresse de bouclage de l' hôte Internet . Un datagramme envoyé par un protocole de niveau supérieur à une
adresse n'importe où dans ce bloc doit reboucler à l'intérieur de l'hôte.
Ceci est généralement implémenté en utilisant uniquement 127.0.0.1/32 pour le bouclage ,
mais aucune adresse dans ce bloc ne devrait jamais apparaître sur un réseau
où que ce soit [ RFC1700 , page 5].
(c'est moi qui souligne)
Linux et Windows sont "utiles" ici, mais de la part de mon président, répondre à une demande envoyée à une adresse non attribuée à cet hôte n'est pas un comportement correct ...
C'est contre la tendance. N'ayez pas de boîte FreeBSD à portée de main pour confirmer si c'est FreeBSD ou votre configuration.
Le RFC dit 127.0.0.1/24 - donc il devrait répondre.
la source
localhost
, mais vous pouvez utiliser 127.32 .194.75 dans votre propre implémentation de système d'exploitation si vous le souhaitez. (Cela pourrait cependant vous faire lyncher par des administrateurs système en colère…)On a répondu à la question environ trois fois maintenant, donc je voulais juste ajouter quelques cents.
Notez que pendant un certain temps, la configuration ipfw par défaut supprime ce type de paquets:
donc avec un pare-feu activé au lieu de
Vous pourriez obtenir
PS. Bien sûr, il peut y avoir un serveur construit sans
INET
(support IPv4) et vous n'aurez même pas127.0.0.1
=)la source