当我使用 cmd ping 一个域时,例如:
> ping apple.com
Pinging apple.com [17.142.160.59] with 32 bytes of data:
Request timed out.
我没有收到回应,但我得到了它的 IP。
为什么我可以获取域名的IP但是没有任何响应?
某个地方是否存储着包含大量域和 IP 的表?
或者服务器收到了我的请求但被防火墙阻止了?
答案1
为什么我可以获取域名的IP但是没有任何响应?
因为您实际上并不是从域名本身获取 IP 地址。您总是从单独的数据库(DNS(域名系统))获取它。
(你实际上不能发送任何事物直接访问域名 – 您必须获取 IP 地址第一的,然后才向该 IP 地址发送 ping 数据包。)
它类似于电话号码:您可以使用电话簿来查找某人的电话号码(或使用谷歌搜索该号码)前你可以打电话给某人。
某个地方是否存储着包含大量域和 IP 的表?
是的,它被称为 DNS。(请注意,它不是单个表 - 每个域都有自己的小“表”,只有自己的子域和地址,托管在自己的 DNS 服务器上。)