DNS相关知识点汇总

我是平民何 2024-07-30 22:00:33

本文介绍了dns基本概念,dns验证,dns攻防以及修改本地host的内容。

DNS(Domain Name System)简介

DNS(域名系统)是互联网的关键组成部分,它负责将用户友好的域名(如 www.example.com)转换为计算机能够理解的IP地址(如 192.0.2.1)。这种转换使得我们在浏览网页时无需记住复杂的数字地址。

基本概念

域名(Domain Name):

域名是互联网中的一个标识符,用于唯一标识一个网络资源。域名分为多个部分,如 www.example.com:

com 是顶级域(TLD)。

example 是二级域。

www 是子域。

IP地址(IP Address):

每个连接到互联网的设备都有一个唯一的IP地址。IPv4地址是32位数字,通常用四个十进制数表示(如 192.0.2.1),而IPv6地址是128位数字,用十六进制表示(如 2001:db8::1)。

DNS解析过程:

当你在浏览器中输入一个域名时,DNS解析过程会将这个域名转换为IP地址,以便网络能够找到正确的服务器。解析过程涉及多个步骤和DNS服务器,包括:

浏览器缓存:首先检查本地缓存。

递归DNS服务器:如果缓存中没有结果,浏览器会请求递归DNS服务器。

根DNS服务器:递归DNS服务器会查询根DNS服务器以获取顶级域(TLD)服务器的信息。

TLD DNS服务器:根DNS服务器将请求转发到负责特定TLD的DNS服务器(如 .com)。

权威DNS服务器:TLD服务器将请求转发到负责具体域名的权威DNS服务器。

最终解析:权威DNS服务器返回最终的IP地址给递归DNS服务器,递归DNS服务器将结果返回给浏览器。

DNS相关知识点

DNS记录类型:

A记录(Address Record):将域名映射到IPv4地址。

AAAA记录(IPv6 Address Record):将域名映射到IPv6地址。

CNAME记录(Canonical Name Record):将一个域名别名映射到另一个域名。

MX记录(Mail Exchange Record):指定处理邮件的邮件服务器。

TXT记录(Text Record):可以包含任意文本信息,常用于验证和安全。

NS记录(Name Server Record):指定域名的权威DNS服务器。

PTR记录(Pointer Record):用于反向DNS查找,将IP地址映射到域名。

DNS缓存:

本地缓存:操作系统和浏览器会缓存DNS查询结果,以提高效率。

DNS服务器缓存:递归DNS服务器和权威DNS服务器也会缓存查询结果。

DNS解析策略:

递归解析:递归DNS服务器为客户端代为完成整个解析过程。

迭代解析:DNS服务器仅提供下一步的查询提示,客户端需要继续查询。

DNS安全性:

DNSSEC(DNS Security Extensions):为DNS数据提供完整性验证,防止数据篡改。

DDoS攻击:DNS服务器可能会受到分布式拒绝服务(DDoS)攻击,导致服务中断。

DNS负载均衡:

轮询:将请求分发到多个IP地址,以分散负载。

地理位置:根据用户的位置将请求导向最接近的服务器。

反向DNS(rDNS):

反向DNS查找是将IP地址转换为域名的过程,通常用于邮件服务器验证和网络管理。

DNS动态更新:

允许DNS记录在域名服务器上自动更新,用于动态分配IP地址的网络环境(如DHCP)。

DNS查询工具:

nslookup:用于查询DNS记录。

dig:用于查询DNS信息,提供更详细的结果。

whois:用于查询域名注册信息。

DNS的——端口为53。

DNS端口分为TCP和UDP。

一、TCP是用来做区域传送的。。

二、UDP是用来做DNS解析的——客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。

dns验证

nslookup是一个可以监测DNS服务器是否正常运行,且是否能正确解析域名的工具。

(linux和widows都适用)

linux安装命令:yum install bind-utils

nslookup DNS 域名解析 故障排除

指定dns: nslookup www.baidu.com 114.114.114.114

windos打开的命令行窗口中,输入“ip在ifconfig /flushdns”命令,点击“Enter”,这样就可以刷新本地的DNS缓存数据;查看DNS缓存记录,可在后面输入“ipconfig/displaydns”命令。

dig @x.x.x.x www.xxxDNS服务器DNS服务器

基本语法

dig [@server] [domain] [type]

@server:可选。指定 DNS 服务器来查询。如果不指定,将使用默认的系统配置。

domain:要查询的域名。

type:要查询的记录类型,如 A、MX、NS 等。如果不指定,将查询所有记录类型(即 ANY)。

dns攻防

DNS攻击风险:

第一类:黑客伪造客户端源IP发送大量的DN。请求报文,造成DNS request flood攻击。DNS request flood是当前最常见的DNS攻击。这类攻击可以针对缓存服务器,也可以针对授权服务器。

第二类:黑客伪造成授权服务器发送大量的DNS回应报文,造成DNS reply flood攻击。

第三类:篡改某些网站的域名和IP地址对应关系,超长的用户访问被导向至钓鱼网站、**网站等。

第四类:向DNS服务器发送大量错误格式的DNS异常报文,或者发送大超长的的DNS报文,导致DNS服务器处理这些报文时出现异常,拒绝正常服务。

DNS request flood防护:

TC源认证利用的是DNS协议的TCP查询方式;被动模式利用的是DNS协议的重传机制;而CNAME则是利用DNS的别名机制

DNS reply flood:

大多都是虚假源攻击,黑客控制僵尸主机发出的DNS reply报文的源IP地址通常都是伪造的,是不存在的。所以在防本地hosts从回应源IP地址的真假性入手,判定这个源IP是否是真实源。

修改本地host

在计算机中修改本地 hosts 文件可以将特定的域名映射到自定义的IP地址,这对于测试网站、屏蔽网站或处理网络配置问题非常有用。下面是如何在不同操作系统中修改 hosts 文件的步骤:

Linux 系统

打开终端:

你可以通过应用菜单、快捷键或其他方式打开终端。

编辑 hosts 文件:

使用 nano 或其他文本编辑器打开 hosts 文件,例如:

sudo nano /etc/hosts

输入你的管理员密码。

修改 hosts 文件:

在文件中添加你需要的域名映射。例如:

lua

复制代码

127.0.0.1 example.com 192.168.1.100 test.local

保存并退出:

按 Ctrl + O 保存更改。

按 Enter 确认文件名。

按 Ctrl + X 退出 nano。

Windows 系统

以管理员身份打开记事本:

点击“开始”菜单,搜索“记事本”。

右键单击“记事本”,选择“以管理员身份运行”。

打开 hosts 文件:

在记事本中,选择“文件” > “打开”。

导航到 C:\Windows\System32\drivers\etc。

在“文件类型”下拉菜单中选择“所有文件(.)”。

选择 hosts 文件并点击“打开”。

编辑 hosts 文件:

在文件的末尾添加你想要的域名映射。例如:

127.0.0.1 example.com 192.168.1.100 test.local

127.0.0.1 是本地回环地址,通常用于测试。

192.168.1.100 是自定义的IP地址。

保存文件:

点击“文件” > “保存”。

whois是一个用于查询域名注册信息和 IP 地址归属的命令行工具

0 阅读:0

我是平民何

简介:感谢大家的关注