dns简单理解为将域名(例如 www.example.com)转换为计算机可理解的 IP 地址(例如192.0.2.1)。
一、静态域名解析
(1)常用写hosts,比如在有些公司使用hosts文件 实现私网ip 域名的一一对应 实现业务的访问。
`hosts` 文件是一个操作系统中的文本文件,用于将域名映射到特定的 IP 地址,从而实现本地的域名解析。在不同的操作系统中,`hosts` 文件位于不同的目录下:
- **Windows**:在 Windows 系统中,
`hosts` 文件位于 `C:\Windows\System32\drivers\etc` 目录下。您可以使用文本编辑器以管理员权限打开此文件进行编辑。
- **macOS 和 Linux**:在 macOS 和大多数 Linux 发行版中,
`hosts` 文件位于 `/etc` 目录下。您需要使用管理员权限来编辑此文件。
(2)同时也可以阻止访问
在文件的末尾添加一行,格式为 `IP地址 域名`,其中 IP 地址可以是一个无效的地址(例如 `0.0.0.0` 或 `127.0.0.1`)或任何您希望重定向到的地址。如果您希望阻止访问特定域名,可以将其映射到无效的 IP 地址。
例如,如果您希望阻止访问 `www.example.com`,您可以添加以下行:
```
0.0.0.0 www.example.com
```
或者使用本地回环地址:
```
127.0.0.1 www.example.com
```
保存并关闭文件。
刷新 DNS 缓存,以便新的映射生效。在 Windows 中,您可以打开命令提示符,然后运行以下命令:
```
ipconfig /flushdns
```
在 macOS 和 Linux 中,您可以打开终端,然后运行以下命令:
``
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,如果对安全性和复杂的访问需求,可用防火墙,代理服务器或其他网络安全工具。
二、动态域名解析
地址解析器(Resolver)和缓存区(Cache)集成在一起构成DNS客户端(DNS Client),它的作用是接收用户程序(User Program)(例如Ping、Tracert)的DNS请求,并对其作出回应。一般来说,用户程序、地址解析器和缓存区是在同一台主机上(PC),DNS Server和它们在不同的主机上。
(1)用户在访问http等应用服务的时候,首先向DNS Client的地址解析器发出DNS请求。
(2) 地址解析器收到DNS请求后,首先查询本地域名缓存。
(3) DNS Server收到查询报文后,再根据不同的判断结果,向DNS Client发送相应的响应报文
(4) DNS Client的地址解析器接收并解析DNS Server发回来的响应报文,将解析结果返回给用户程序。
三、通过wireshark抓包
IP 地址 224.0.0.251 和其他多播地址一样,只在局域网内部有效,不会在因特网上路由。PC向该地址发送请求和响应来自动发现dns服务器,223.5.5.5阿里dns服务器地址对PC进行响应。
四、dns对应用访问的快慢有哪些因素
nslookup example.com 将看到列出的与特定域名相关的动态域名缓存项。这些条目会显示域名、IP地址、缓存时间等信息。同时对PC电脑dns地址是否能解析。
(1)DNS解析延迟:DNS查询和解析过程需要时间,取决于您的网络连接和DNS服务器的性能。如果DNS服务器响应迟缓,可能会导致域名解析变慢。
1. 打开 PowerShell:
- 在 Windows 10 或更高版本中,可以使用搜索栏中的“PowerShell”来找到并打开 Windows PowerShell。
- 在较旧的 Windows 版本中,您可以按下 Windows 键 + R,然后输入“powershell”并按 Enter。
2. 在 PowerShell 窗口中,输入以下命令,并将 "example.com" 替换为您要测试的域名:
```powershell
$result = Measure-Command { Resolve-DnsName -Name example.com }
$result.TotalMilliseconds
``
3. 按下 Enter 键后,PowerShell 将运行 DNS 解析并显示解析所花费的总毫秒数。这个数字就是 DNS 解析延迟时间。
(2)DNS缓存:DNS解析的结果可以被缓存在本地计算机或本地DNS解析器中。如果之前已经进行过相同域名的解析,下次访问时可以直接从缓存中获取结果,加快解析速度。
ipconfig /displaydns | find "example.com" 您可以使用命令行工具来查看特定域名的动态域名缓存
(3)DNS服务器性能:访问的域名可能由多个DNS服务器负责。如果您的DNS服务器(本地解析器、ISP提供的解析器、公共DNS服务器等)性能较差或负载过重,解析速度可能会受到影响。