1 votes

Comment et pourquoi les connexions "0.0.0.0" obtiennent-elles une réponse ?

J'ai beaucoup de mauvais garçons dans /etc/hosts qui pointent vers 0.0.0.0.

Si j'utilise host pour vérifier le nom de domaine, j'obtiens une adresse IP réelle au lieu de 0.0.0.0

Ce que je m'attendais à ce que le résolveur me donne est la même chose que ce qui se trouve dans le fichier hosts. Ce que j'attendais de tout autre accès est un échec (timeout).

Mais lorsque le résolveur fournit l'IP réelle, je m'attends à ce qu'un navigateur affiche le site web du méchant. Au lieu de cela, Safari et Firefox affichent tous deux "Bloqué !" avec la même police, la même taille de police, le même positionnement, etc. Le code HTML est identique : <html><body><h1>Blocked!!</h1></body></html> suggérant qu'il vient de quelque part/quelque chose d'autre. D'où vient ce HTML ? Que se passerait-il si le Mac essayait d'y aller sur un autre port (non http/https) ?

Il s'agit de la dernière mise à jour de MacOS sur un MacBook 2012.

1voto

Gordon Davisson Points 30215

Comme je l'ai dit dans un commentaire, host est trompeur car il contourne le résolveur du système (et /etc/hosts) et interroge directement le DNS. Les entrées 0.0.0.0 fonctionnent probablement normalement.

D'après mes tests, il semble que les connexions vers 0.0.0.0 se connectent en fait à localhost (plus précisément 127.0.0.1), de sorte que <html><body><h1>Blocked!!</h1></body></html> Le message doit provenir d'un serveur web fonctionnant sur votre propre Mac.

Vous pouvez le confirmer en exécutant sudo tcpdump -Aqns0 -ilo0 port 80 pour regarder la connexion brute. Notez qu'on vous demandera votre mot de passe d'administrateur, mais qu'il n'y aura pas d'écho lorsque vous le taperez. De plus, vous devrez utiliser Control-C pour en sortir. Dans la sortie, vous verrez le trafic aller-retour entre deux ports différents sur 127.0.0.1 (ports 80 et ce que votre navigateur utilise), mais dans la requête vous verrez un en-tête "Host :" indiquant le nom du site que le navigateur essaie d'atteindre.

Alors... pourquoi un serveur web fonctionne-t-il sur votre Mac, et pourquoi sert-il un message "Bloqué !"? Je n'en ai aucune idée, et vous ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X