No sé si ha encontrado una invalidación de archivos de Hosts. El archivo Hosts de mi sistema Windows 8.1 se puede usar normalmente, pero de alguna manera ha fallado repentinamente. La falla del archivo de Hosts me ha causado muchos problemas en mi trabajo. Para analizar las razones específicas, le daré una prueba de demostración.
La ruta del archivo de hosts visible es correcta, y solo hay una asignación de fila para garantizar que no haya otros distractores.
Use ipconfig /flushdns para limpiar el caché de DNS, y de hecho detuve el servicio de Cliente DNS. Luego continúe haciendo ping, aún devolviendo la dirección de la resolución de DNS real.
Como se muestra en la figura, se puede ver que los permisos del sistema también están asignados. Los permisos de la cuenta en mi propia cuenta y en el grupo de administradores a continuación también están completamente controlados.
Este es el caso, no sé por qué ha fallado repentinamente recientemente. Podría haber encontrado algún secuestro?
Procesamiento analítico
Según mi conjetura en la referencia, usé un registrador de mensajes para rastrear los mensajes del sistema relacionados con el archivo de hosts. A modo de comparación, también opero bajo Windows XP ejecutando en Windows 8.1 y máquinas virtuales para comparación.
En primer lugar, encontré que todos los programas con función de comunicación de red detectarán si el valor de UseHostsFile existe bajo la clave HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ Dnscache \\ Parameters \\ y cuáles son los datos. Sin embargo, descubrí que ni XP ni 8.1 tienen este valor, pero según experimentos anteriores, XP puede leer el archivo de hosts normalmente, por lo que se puede concluir que este es un elemento irrelevante.
(Sin embargo, de acuerdo con este juicio, el servicio Dnscache original (es decir, el servicio denominado Cliente DNS en el servicio se usa para almacenar en caché la resolución del DNS) puede forzar manualmente la lectura del archivo host y el valor clave puede modificarse. Br> Luego encontré un fenómeno extraño, cada vez que modifico manualmente el archivo de hosts, en 8.1 se mostrará un proceso llamado svchost.exe que intenta acceder al archivo de hosts pero el resultado es Acces Denied. Bajo XP, un proceso con el mismo nombre intenta acceder al archivo de hosts, pero el resultado es el éxito.
De acuerdo con el PID del proceso proporcionado por el registrador de mensajes, un servicio común que se remonta a los servicios que brinda es el Cliente DNS. Por lo tanto, se puede concluir que existe un problema con el servicio de cliente DNS mencionado anteriormente. Debido a que el archivo de acceso fue rechazado, definitivamente es un problema de cuenta, por lo que habitualmente abro la página de propiedades del Cliente DNS, voy a la pestaña de inicio de sesión y encuentro que la cuenta que usa no es la cuenta del sistema local predeterminada, pero el nombre es "Servicio de red". Principal de seguridad incorporado.
Después de eso, todo está claro y, al final, es un problema de permisos. La cuenta utilizada por el servicio Cliente DNS no es el sistema, sino el Servicio de red. Aunque di el control de acceso total a la cuenta del sistema, según las capturas de pantalla que abrí, descubrí que carecía del principio de seguridad de Servicio de red. Ahora podemos concluir que la cuenta del sistema y el principio de seguridad del Servicio de red no están asociados, por lo que el servicio de cliente DNS no puede leer el archivo de hosts después del inicio, y el archivo de hosts no es válido.
La solución es: edite los permisos de acceso de la carpeta, etc., agregue el principal de seguridad del Servicio de red y otorgue al menos permiso para leer, y luego reinicie el servicio de Cliente DNS. Actualmente mis anfitriones están bien. Sobre la base del análisis anterior, creo que todos pueden comprender más claramente los motivos del fallo del archivo Hosts en el sistema Windows 8.1 y también pueden resolver las contramedidas para resolverlo. Al final, nuestro archivo Hosts volverá a la normalidad.