如何知道网站的 IP 地址

如何知道网站的 IP 地址

我想知道一个网站的 IP 地址。一种方法是 ping 该网站。例如,如果我想知道 ip 地址,google.com那么我可以在命令提示符中 ping 该网站。

Pinging google.com [74.125.236.195] with 32 bytes of data:

Reply from 74.125.236.195: bytes=32 time=36ms TTL=49
Reply from 74.125.236.195: bytes=32 time=35ms TTL=49
Reply from 74.125.236.195: bytes=32 time=64ms TTL=49
Reply from 74.125.236.195: bytes=32 time=47ms TTL=49

74.125.236.195是 google 的 IP 地址。但是假设我想知道的 IP 地址superuser.com,如果我尝试使用相同的方式,那么我会得到 198.252.206.16 IP 地址。但如果我将此 IP 地址放在浏览器网址中,那么我的浏览器就不会带我到 superuser.com。

谁能告诉我如何获取 IP 地址?

答案1

你一开始的假设是所有网站都可以通过其 IP 地址直接访问。但事实并非如此。

在许多情况下(我敢说大多数情况下),IP 地址显示的网站取决于您请求的网站名称。例如,如果您请求 superuser.com,您将首先将其解析为 IP 地址,然后向该 IP 地址发出特定网页的请求。它看起来像这样:

GET / HTTP/1.1
Host: superuser.com:80

第一部分是“获取网站首页”,第二部分是“获取网站 superuser.com”

这就是为什么单个 Web 服务器可以使用单个 IP 地址托管多个网站的原因。对于 Stack Exchange 网站,其中任何或所有网站都可以位于其每个服务器上,您将获得您要求的网站。如果您只输入 IP 地址,您将无法获得任何网站,因为您没有告诉 Web 服务器您想要访问的众多网站中的哪一个。在这些情况下,它可能定义了一个“默认”网站,或者只是返回错误。

如果您尝试解决 DNS 提供商的问题,那么您可以选择修改文件,hosts以便自己解析地址,而不是让外部人员为您解析。

例如,如果你编辑

/etc/hosts   (linux)
c:\windows\system32\drivers\etc\hosts   (windows)

您可以输入

74.125.236.195 superuser.com

这样,如果您在浏览器中输入 superuser.com,它将查找 hosts 文件并解析 IP 地址,但仍将网站名称传递到它连接到的服务器。

答案2

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

nslookup superuser.com 8.8.8.8
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
Name:    superuser.com
Address:  198.252.206.16

如果您想知道为什么无法直接从 IP 地址(198.252.206.16)访问超级用户,这是因为 Web 服务器的设置。

这里,超级用户的网站不允许用户通过 IP 地址访问。可能是因为 IP 地址绑定到了其他网站(比如 stackoverflow.com)。

如果你使用“IP反向查找”工具,你就可以找到它的绑定站点。

再次查找证明我是对的:

nslookup stackoverflow.com  8.8.8.8
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
Name:    stackoverflow.com
Address:  198.252.206.16

答案3

Firefox 有一个不错的插件,可以显示你访问的任何网站的 OP 地址,你可以从这里

答案4

Firefox 的 Flagfox 插件可为您提供当前网站的 IP 地址,以及有关该网站的大量其他信息(包括服务器位置的地理位置图)。如果需要,可以通过插件下拉菜单中的菜单选择将 IP 地址复制到剪贴板。

相关内容