为什么ping不通网站 但是却可以访问该网站?

今天,在访问一个网站的时候,我想看看它的ip是多少,就在windows 命令行下去ping了下该网站/主机;ip地址是解析出来了,但是却发现请求超时,没有ping通,当时我就很困惑。然后,我又tracert 该 ip 跟踪了一下 想看看到底什么问题,最后我发现,当跟踪到该 ip的时候 请求被拒绝了。突然之间,应该是服务端 设置了相关策略对网络层icmp 回显请求报文进行了限制;而访问网页用的是 http 协议,因此会出现此现象 。

e4a20817665f23dbff0cde2a10c4de4b.png

ping 的实质:发送一个icmp回显请求报文给目的的主机,并等待回显的icmp应答。然后打印出回显报文。

回显的结果包括字节数 、 反应时间、TTL(生存时间)

ping不通网站的原因:

一、网络设置的问题

这种原因比较多出现在需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。仔细检查计算机的网络设置。

二、DNS服务器的问题

当IE无法浏览网页时,可先尝试用IP地址来访问,如果可以访问,那么应该是DNS的问题,造成DNS的问题可能是连网时获取DNS出错或DNS服务器本身问题,这时你可以手动指定DNS服务(地址可以是你当地ISP提供的DNS服务器地址,也可以用其它地方可正常使用DNS服务器地址。)在网络的属性里进行,(控制面板—网络和拔号连接—本地连接—右键属性—TCP/IP协议—属性—使用下面的DNS服务器地址)。不同的ISP有不同的DNS地址。有时候则是路由器或网卡的问题,无法与ISP的DNS服务连接,这种情况的话,可把路由器关一会再开,或者重新设置路由器。

还有一种可能,是本地DNS缓存出现了问题。为了提高网站访问速度,系统会自动将已经访问过并获取IP地址的网站存入本地的DNS缓存里,一旦再对这个网站进行访问,则不再通过DNS服务器而直接从本地DNS缓存取出该网站的IP地址进行访问。所以,如果本地DNS缓存出现了问题,会导致网站无法访问。可以在“运行”中执行ipconfig /flushdns来重建本地DNS缓存。

三、IE浏览器本身的问题

当IE浏览器本身出现故障时,自然会影响到浏览了;或者IE被恶意修改破坏也会导致无法浏览网页。这时可以尝试用“黄山IE修复专家”来修复(建议到安全模式下修复),或者重新IE(如重装IE遇到无法重新的问题,可参考:附一解决无法重装IE)

四、网络防火墙的问题

如果网络防火墙设置不当,如安全等级过高、不小心把IE放进了阻止访问列表、错误的防火墙策略等,可尝试检查策略、降低防火墙安全等级或直接关掉试试是否恢复正常。

五、网络协议和网卡驱动的问题

IE无法浏览,有可能是网络协议(特别是TCP/IP协议)或网卡驱动损坏导致,可尝试重新网卡驱动和网络协议。

六、HOSTS文件的问题

HOSTS文件被修改,也会导致浏览的不正常,解决方法当然是清空HOSTS文件里的内容。

七、系统文件的问题

当与IE有关的系统文件被更换或损坏时,会影响到IE正常的使用,这时可使用SFC命令修复一下,WIN98系统可在“运行”中执行SFC,然后执行扫描;WIN2000/XP/2003则在“运行”中执行sfc /scannow尝试修复。

Tracert 的实质:利用ICMP数据报和IP数据报头部中的TTL值。TTL(Time To Live)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。这样,TTL值就相当于一个路由器的计数器。

当路由器接收到一个TTL为0或者1的IP数据报的时候,路由器就不再转发这个数据了,而直接丢弃,并且发送一个ICMP“超时”信息给源主机。Tracert程序的关键就是这个回显的ICMP报文的IP报头的信源地址就是这个路由器的IP地址。

同时,如果到达了目的主机,我们并不能知道,于是,Tracert还同时发送一个UDP信息给目的主机,并且选择一个很大的值作为UDP的端口,使主机的任何一个应用程序都不使用这个端口。所以,当达到目的主机的时候,UDP模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。

75aeb6529f6563a1c7b8345eb059fa6d.png

posted @ 2022-10-20 23:41  码农编程进阶笔记  阅读(4026)  评论(0编辑  收藏  举报
返回顶部 有事您Q我