Windows 7 etc / hosts fichier cassé?

0

J'ai un serveur Web local en cours d'exécution auquel j'aimerais accéder en tant que myserver.localhost. J'ai donc ajouté une entrée.

127.0.0.1       myserver.localhost

à C:\Windows\System32\drivers\etc\hosts. Cela a bien fonctionné.

Puis quelque chose s'est passé. Entre autres, j'ai dû désactiver le contrôle d'accès utilisateur Windows, mais je doute que ce soit la cause. Désormais, le système ne réagit plus aux modifications du fichier hosts. J'ai commenté l'entrée, ajouté de nouvelles entrées de test, vidé le cache DNS à plusieurs reprises, redémarré la machine, pris une pause, rien n'y fait.

nslookup retourne toujours 127.0.0.1 pour myserver.localhost et un domaine non existant pour toutes les entrées de test que j'ajoute. Pour moi, il semble que le fichier lui-même soit cassé d'une certaine manière (c'est juste un fichier texte, mais de toute façon ...) et Windows ne fonctionne pas avec ce dernier et ne renvoie donc que ce qu'il pense être le dernier bon résultat.

Quelqu'un a-t-il une idée de la façon de revenir à un fichier hôtes en fonctionnement sans avoir à réinstaller tout le système?

ssc
la source

Réponses:

4

Comment avez-vous édité le fichier hosts? Peut-être que l'éditeur a ajouté une extension (.txt) au fichier! Vérifiez à partir de l'invite dos ( dir C:\Windows\System32\drivers\etc\hosts*).

lg.
la source
1
+1, bon point. J'ai toujours détesté cette idée de cacher les extensions de fichiers (par défaut, pas moins). Rappelez-vous toujours ces .txt.exe wacky ...
Massimo
L'une des premières choses que je fais lors de la configuration d'un système Windows est de se débarrasser de la MS invalidante qui force ses utilisateurs à afficher tous les fichiers dans l'explorateur (fichiers système, etc.) et à afficher les extensions. J'ai vérifié dans le «shell» de DOS, le fichier a le bon nom. Merci quand même.
ssc
3

Il existe un malentendu général quant à l'interaction du fichier HOSTS dans Windows et de l'outil nslookup. La valeur que vous entrez dans le fichier HOSTS est celle qui est utilisée par le système lorsque vous établissez une connexion avec le nom de domaine que vous pourriez spécifier. Ceci est essentiellement codé en dur lorsque vous l’entrez dans le fichier HOSTS. Cependant, nslookup ignore le fichier HOSTS pour autre chose que localhost. Essayez ceci: ajoutez une entrée à votre fichier HOSTS et enregistrez le fichier. Faites un nslookup: il devrait retourner la vraie adresse IP (ou aucune si la vraie adresse n’existe pas). Cinglez maintenant l'hôte. Il convient d'envoyer une requête ping à l'adresse IP spécifiée dans le fichier HOSTS.

Je ne connais pas la raison exacte de ce comportement, mais j’estime que nslookup fait toujours une requête DNS et demande quoi que ce soit à *.localhost, il demande à la machine locale quelle est l’adresse (vous obtenez donc le résultat du fichier HOSTS ), mais pour toute autre chose, il demande au serveur DNS que vous avez configuré. Cette partie n’est que spéculation, mais le comportement que j’ai décrit est quelque chose que j’ai observé à maintes reprises.

ne pas penser
la source
sur cette note, une chose étrange que j’ai remarquée est que la réponse à la requête DNS est censée provenir du serveur DNS. cingler à l'hôte au lieu de nslookuping aurait peut-être une aide, mais nous avons abandonné Windows dans son ensemble, voir ma propre réponse à la question.
ssc
0

Les changements à etc\hostssont pris instantanément. Si cela ne fonctionne pas, alors vous éditez le mauvais fichier (par exemple, vous travaillez à distance et vous avez choisi le mauvais serveur par inadvertance pour le montage SMB) ou un virus interfère. Vérifiez que le scanner de virus est à jour et vérifiez tout votre système. Essayez un deuxième scanner de virus juste pour être en sécurité.

Aaron Digulla
la source
L'installation de deux programmes de protection antivirus actifs n'est généralement pas une bonne idée ...
BloodPhilia
ce n'est de loin pas la première fois que je travaille avec le fichier hosts, je l'utilise presque quotidiennement sur Windows, Linux, Mac, etc. cela a d'abord fonctionné, puis il a cessé de fonctionner. c'est le bon fichier, cependant, et il n'y a pas de virus.
SSC
0

Vous devez éditer ce fichier en tant qu'administrateur. Sinon, vous ne pouvez pas le changer.

Appuyez simplement sur le bouton de démarrage - entrez cmd dans la zone de saisie de la recherche, cliquez avec le bouton droit de la souris sur cmd et exécutez-le en tant qu'administrateur. Entrez le bloc-notes et ouvrez à nouveau le fichier, apportez vos modifications et enregistrez.

C’est ainsi que vous devez utiliser Windows 7.

Andreas Rehm
la source
S'il a désactivé UAC et qu'il dispose déjà de droits d'administration avec son compte utilisateur, cela n'est pas nécessaire.
Massimo
Il a déjà réussi à le changer ...
BloodPhilia
0

Malheureusement, il n'y a pas de solution à ce problème ni de raison explicable pour la cause. Quelque chose a cassé le fichier et le seul moyen de le réparer semble être une réinstallation complète du système. Nous avons abandonné Windows comme plate-forme de développement pour migrer vers Mac et Linux.

ssc
la source