行业资讯网欢迎您!!!

网站收藏健康资讯网联系我们

导航菜单

百度的域名和ip地址-直接用IP访问百度,我发现了???

大家好,前几天晚上,我的群里有人提了一个很有意思的问题,引发了一次热烈的讨论。

大家知道,访问网站的时候,会有一个域名解析的过程,客户端会先拿到网站的IP地址,然后通过IP地址来进行后续的HTTP通信。

那既然如此,如果我已经知道了网站的IP地址,是不是可以跳过域名解析的过程,直接拿着IP地址去请求呢?

以百度为例,我们ping一下百度的域名,拿到它的IP地址。

解析的IP地址是:14.119.104.189

那直接访问https://14.119.104.189,是不是也能打开百度?

结果他试了一下,发现被拒绝了!

然后这位球友就想不通了,为啥我跳过了第一步,直接用IP访问就不行呢?网站是如何做到不让直接用IP访问的?

从这个图中就可以合理的怀疑,是不是第二步中,客户端发过去的HTTP请求在使用域名和直接使用IP地址的时候有所不同,让服务器“察觉”出来你是直接使用的IP地址在访问网站,跳过了第一步。

大胆假设,小心论证,接下来我们就来看一下是不是这样。

因为HTTPS的通信是加了密的,为了看清楚通过域名访问和通过IP访问的时候,HTTP请求内容的区别,我们使用Fildder抓包软件,这样可以看到HTTPS加密的正文内容。

首先咱们通过域名来访问一下:

百度的域名和ip地址

然后通过IP地址来访问一下:

百度的域名和ip地址

放在一起一对比,在请求头中就只有两个地方不一样:

百度的域名和ip地址

分别是Host字段和Cookie字段。

这样一看,真相基本就明确了,问题多半出在这个Host字段。

为了进一步验证,我们使用Postman来直接访问https://14.119.104.189,可以看到服务器返回了403错误!

百度的域名和ip地址

然后,我们通过Postman修改一下Host字段,将其设置为域名www.baidu.com,再试一次:

百度的域名和ip地址

这次能成功访问了!

至此,这位球友的问题就得到解答了:

客户端在发起HTTP请求的时候,会将其要访问的服务器地址填在Host字段。当使用域名访问的时候,这个字段的值就是域名,而通过IP地址访问的时候,这个字段的内容就是对应的IP地址。而服务器正是通过请求中的Host字段,识别出了客户端是直接通过IP访问的还是通过域名访问的。

最后给大家留一个思考题:

当我用HTTPS直接访问https://14.119.104.189的时候,浏览器给了我这样一个提示:

这不是百度自己的SSL证书吗?为什么会有这个提示出现?评论区说说看!

大家好,轩辕最近邀请了两位网络安全界的大佬成为我的知识星球合伙人,一位是360、阿里巴巴安全专家,专注二进制安全、逆向分析、漏洞攻击方向,曾获得国内顶级黑客赛事Geekpwn比赛大奖。另一位同样来自TOP级安全大厂(敏感不可说),专注网络渗透、网络攻防对抗、Web安全领域,各大SRC排行榜前列,靠挖洞年入六位数。

我们三位将在知识星球里组织多次网络安全相关的主题学习活动,近期将要启动的是逆向分析学习专题,欢迎大家加入星球一起学习!

现在为大家准备星球优惠券,数量有限,先到先得。

百度的域名和ip地址

版权声明:本站内容由互联网用户投稿自发贡献或转载于互联网,文章观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2024tuiguang@gmail.com举报,一经查实,本站将立刻删除。

合作:2024tuiguang@gmail.com