如何查询一个网站的IP地址

本文由 极客范 - Kizuna 翻译自 Akemi Iwaya。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

你是否只是为了一点极客精神,或者是急于想知道这个问题的答案,而点开了这个网页的呢?今天的超级问答文章推送关注了这个答案,并且回答了如何知道多个网站捆绑到同一个IP地址。

今天的问答环节来自我们无私的赞助商——一个细分的Stack Exchange网站,由问答小组社区驱动的网站。

问题

超级用户的读者”JqueryLearner”想知道如何查询到一个网站的IP地址:

如果我想知道一个网站的IP地址,一种方式就是对这个网站使用Ping命令查询。例如,如果我想知道google.com的IP地址,我就可以通过命令行模式Ping一下。

这样,74.125.236.195就是Google的IP地址。如果我想知道superuser.com的IP地址,我会用相同的方法,然后我得到了198.252.206.16的地址。如果我把这个IP地址作为URL放入浏览器中,我的浏览器不能把我带到superuser.com上。

那么,有谁能告诉我如何才能得到正确的IP地址?JqueryLearner又需要做什么才能找到正确的网站IP地址呢?

回答

Superuser贡献者Paul和Lesca回答了这个问题,一开始,Paul说:

你最初的假设是所有的网站都可以直接通过IP地址访问,但事实上,情况不是这样的。

在很多情况下(我敢肯定极大多数情况),一个IP地址上展现的网站依赖于你请求的网站域名,例如,如果你请求superuser.com,你首先解析到一个IP地址,然后构造一个请求给这个IP地址要求指定的网页,这看起来像下面的请求。

第一行说”获取相应网站的第一个页面”。第二个行说”请求superuser.com这个网站”。

这就是为啥一台web服务器可以放置许多个使用同一IP地址的网站,以Stack Exchanges站点为例:任意一个,或者说所有的站点都被放置在他们各自的服务器上,你可以请求你所需要的网站。如果你仅仅是输入IP地址,你就无法获得其他东西,因为你没有申明你请求的站点是哪个。在这个情况下,你可能得到一个设定好的默认的网址,或者只是返回一个错误页面。

有个方法,你可以改变你的hosts文件来自己重定向对应地址,而不是让第三方替你做这事。

例如,如果你编辑

你可以写入:

通过这种方式,如果你在浏览器上输入superuser.com ,它将首先看hosts文件来解析IP地址,接着仍然通过域名连接服务器。

我们看看lesca的答案:

获取一个网站的IP地址最好的方法是使用nslookup命令,例如:

想知道你为啥不能直接通过IP地址访问SuperUser吗?

这是因为web服务器不允许用户直接使用IP地址。或许这是因为IP地址绑定了其他的网站(stackoverflow上的解释)如果你使用IP地址反向查询工具的话,你可以找到相对应的绑定的站点。

这里有个例子证明了我所说的正确性:



原文链接: Akemi Iwaya 翻译: 极客范 - Kizuna

译文链接: http://www.geekfan.net/7657/

[ 转载请保留原文出处、译者和译文链接。]

2 评论

  1. 家教  /  2015 年 3 月 31 日, 下午 2:42 回复

    总觉得谷歌的8.8.8.8不是很好用

    Thumb up 0 Thumb down 0

  2. 土木坛子  /  2015 年 7 月 12 日, 下午 8:47 回复

    如果用了反代理技术呢?

    Thumb up 0 Thumb down 1

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">