昨天又重新安装了ESET,可是安装后遇到了一个问题就是127.0.0.1可以打开网页,但是localhost却不能,于是自己ping了一下,出现了以下结果:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>ping localhost
Pinging raymond [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>ping6 localhost
Pinging localhost [::1]
from ::1 with 32 bytes of data:
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>ping6 ::1
Pinging ::1
from ::1 with 32 bytes of data:
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Reply from ::1: bytes=32 time<1ms
Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Documents and Settings\Administrator>
从上面的结果可以看出,问题的关键是当我试图通过localhost 访问127.0.0.1时候,首先是通过ipv6来解析的,由于ipv6 的::1上并没有监听,所以打不开网页。
C:\WINDOWS\system32\drivers\etc\hosts 文件的内容如下:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
# *********以下内容为360安全卫士为免疫机器狗木马病毒所添加******************
# *********结束******************
是完全正确的。
于是在网上搜索了很多解决方案比如在Hosts文件中添加
# IPV6 versions of localhost
::1 ipv6-localhost ipv6-loopback localhost
fe00::0 ipv6-localnet
ff00::0 ipv6-mcastprefix
ff02::1 ipv6-allnodes
ff02::2 ipv6-allrouters
ff02::3 ipv6-allhostsf
但是还是不能解决问题,因为我的电脑是Xp,而能够使用此方法解决问题的是Vista的操作系统。
于是自己尝试了下360安全卫士为了免疫机器狗而把那些域名设置到127.0.0.1,结果输入那些被免疫的域名确实是定位到了127.0.0.0也就是说只要不用localhost来定位到127.0.0.1,比如127.0.0.1 local则是可以打开网页的,因为localhost在ipv4之前被ipv6解析了....
那又该怎么解决这个问题呢?大家不知道有没有好的解决办法?除了卸载ipv6之外的办法。我个人觉得肯定是有办法的,因为之前安装卡巴斯基的时候就可以的,但是现在换成了ESET后就出现了这个问题,估计是ESET防火墙的设置或者过滤等有问题?或者是由于安装ESET导致一些规则被改变了?
迫于无奈自己卸载了ipv6 然后重新安装 居然又可以了
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>netsh
netsh>int
netsh interface>ipv6
netsh interface ipv6>install
确定。
netsh interface ipv6>isatap
netsh interface ipv6 isatap>set router *.*.*.*
确定。
netsh interface ipv6 isatap>
如果大家遇到类似的问题不防考虑把ipv6协议先卸载然后再安装