首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在我的主机文件中定义了匹配的IP,域名会离开我的本地系统吗?

问如果在我的主机文件中定义了匹配的IP,域名会离开我的本地系统吗?
EN

Security用户
提问于 2016-07-17 10:47:07
回答 2查看 122关注 0票数 2

给定域website.org和相应的带有IP 1.2.3.4的and服务器。

如果客户端使用其主机文件中的域名定义IP,如下所示:

代码语言:javascript
复制
$ cat /etc/hosts
[...]
1.2.3.4    website.org

客户端是否在访问网站时在请求中发送实际域名,还是只使用IP地址?

EN

回答 2

Security用户

回答已采纳

发布于 2016-07-17 11:22:37

对于HTTP连接,可能还有其他一些协议,您的浏览器(或其他客户端)将把域名放在Host:头中。例如,请求可能启动如下所示:

代码语言:javascript
复制
GET / HTTP/1.1
Host: website.org
...

在未加密的连接上,这将显示目标域。

对于TLS连接(最常见的是HTTPS),大多数客户端将以纯文本指定要连接到的主机(此特性称为SNI,并在相同的IP服务多个域时使用)。服务器将使用包含域名的证书(无论客户端是否使用SNI)进行响应,该证书也以纯文本形式传输;任何窃听连接的人都可以读取任意方向的通信量。证书可以指定多个域名(通常是一个根的子域)或一个公司拥有的多个域。

另外,反向DNS也是一回事。如果有人想知道您正在与哪些域通信,并且这些域在DNS中注册,那么他们可以对IP地址进行反向查找。就像正常的DNS查找将名称映射到IP一样,反向查找将IP映射到名称。同样,可能有多个域名所有映射到该IP,在这种情况下,反向查找将返回多个名称,但它们通常是相关的。

还有一些工具可以显式地与DNS交互(因此可以通过网络发送域名),比如nslookup和whois。然而,这些不是你通常会使用的网站,你知道足够有在你的主机文件。

票数 3
EN

Security用户

发布于 2016-07-17 11:19:41

客户端是否在访问网站时在请求中发送实际域名,还是只使用IP地址?

主机名包含在HTTP请求中(HTTP是访问网站时使用的协议)。例如,访问http://www.example.org/foo会导致:

代码语言:javascript
复制
 GET /foo HTTP/1.1
 Host: www.example.org

此外,当使用HTTPS访问站点时,主机名将在TLS ClientHello中发送(仅使用SNI,但这是所有现代浏览器所做的)。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/130294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档