访问网站与ping网站的区别 – 作者:Johnson666

写在前面

今天在访问一个网站的时候,我想看看它的ip是多少,就在windows里的cmd命令行中去ping了下该网站,ip地址是解析出来了,但是却发现请求超时,没有ping通,当时我就很困惑。然后我又tracert该 ip,跟踪了一下想看看到底什么问题,最后我发现,当跟踪到该ip的时候  请求被拒绝了,因为tracert本质上也是发送icmp包来跟踪的。那么这里应该是服务端设置了相关策略,有的目标有防火墙设置,过滤了ping发出的ICMP数据包,导致无反馈,time out;还有直接禁用ping功能的,本质上就是对网络层icmp的回显请求报文进行了限制;而访问网页用的是http协议,因此会出现此现象 。

这里以北京大学的官网为例。

访问网页可以打开
image.png可是在cmd里ping却ping不通
image.pngtracert也不行
image.png

ping的实质

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

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

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模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。

telnet命令

大家通常都知道telnet可以远程连接主机,服务器等。这里我介绍一个telnet测试网站是否有开放http服务的方法。
这个方法其实和直接访问网站查看是否有开放http服务差不多

访问网页可以打开
image.png

打开cmd
这里还是以北京大学的官网为例
image.png

image.png
然后会进入一片黑,这里就说明该网站是有开放http和https服务的
image.png
然后会跳出这个界面
image.png

这里在fofa上找到个网站
image.png
直接访问无法访问
image.png
用telnet也不行
image.png

来源:freebuf.com 2021-03-17 15:51:28 by: Johnson666

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论