企业资料通讯Week6 (1) | DNS(网域名称系统)[二]

DNS Message

DNS 的讯息传递也是两种:Query 与 Reply(就是要求与回覆),它的设计比较像HTTP,而不是邮件传输交互性那么细碎。
这边要注意,DNS 的Query 与 Reply 的格式是一样的!
架构如图:参见Explain DNS message format with neat diagram.
http://img2.58codes.com/2024/20135414ftyfOOS6rC.png

The query message consists of a header and question records; the response message consists of a header, question records, answer records, authoritative records, and additional records.
由于有些栏位只有reply需要回答,所以query的那些地方会是0

用课本的图来说明:
http://img2.58codes.com/2024/20135414crChvJnoOz.png
因为栏位长度是固定的,所以栏位之间实际上没有任何符号或空格区隔。

Header 包含:Identification 与 Flag

-Identification:
ID是这个message的编号,每次client问问题的ID都是16bit的随机数。server会把client的id给copy过来,用以识别是哪一个reply。

-Flag: 也是16bit,由複合式的栏位组成,如图:
http://img2.58codes.com/2024/20135414n31tkXJTqq.png
下面是简单说明flag 的複合栏位们:

QR:1-bit(0为query/1为response)。OpCode:4-bit,定义哪种message。AA (authoritative answer):1-bit,是否此server 是authoritative server。TC (truncated):1-bit。response 是否大于512 Byte?RD: 1-bit(recursion desired)就是client是否要recursive 的答案。RA: 1-bit(recursion available)就是是否能提供recursive的答案。Reserved: This is a 3-bit subfield set to 000.rCode:4-bit,显示response的错误状态。

一次读进16bit,依序先读Identification、Flag、questions(问题的数目)、answers(答案的数目,如果没有就是0)、authority RRs(有几个答案是authoritative 的答案)、additional RRs。[这里都是指数目]

再看一下课本的图
http://img2.58codes.com/2024/20135414S99QrBHckJ.png

之后四行每一行分别是 questions section、answers section 、authority RRs、additional RRs,它们分别对应到上面questions(问题的数目)、answers(答案的数目)

实际上就会像是这样子:
http://img2.58codes.com/2024/20135414PzmYVRIC08.png

DNS 注册纪录

刚刚是查询,现在这里讲注册纪录
http://img2.58codes.com/2024/20135414wFjpHIshU9.png

我们要跟authoritative name server注册,如果是一般小公司或是家裏要注册DNS,为了节省成本,可以请代管EX:GoDaddy
它是一个域名注册与网站代管的上市公司,是ICANN(负责全世界domainname管理的机构)认证的全球最大注册商。

DNS Attack

参见:
http://img2.58codes.com/2024/20135414UqNd1nQxJr.png

透过攻击希望能达到:

窃取用户凭据将恶意软体注入用户的设备获取敏感网站数据玷污组织的网站安装勒索软体

DNS攻击不只造成网路瘫痪,还会造成企业严重损失与机密(EX:密码洩漏)等严重后果。

我归纳常见攻击性质主要是
1)忙死 2)欺骗

「忙死」,是想办法耗尽DNS资源,忙死DNS server或是塞爆网路,不只local DNS server,Root DNS server也会被攻击。它会透过乱问问题(甚至问不存在的东西),使DNS 解析器不知道指定 IP 位址的网站,之后询问其他 DNS 伺服器,如此会一直问下去,然后瘫痪服务,一般来说这类攻击称为拒绝服务 (DoS) 攻击;「欺骗」是给你一个假的回覆,但是假得很像真的。

DDoS attacks

DoS攻击中最常见的是 DDoS ( Distributed Denial-of-Service )攻击,攻击者不只一个,像是一个军团。
DDoS 中又分三个子类型攻击,分别是:洪水攻击、应用层攻击、协议攻击,放大攻击也是属于DDos的一种。
见详情请看:Four major DNS attack types and how to mitigate them

redirect attacks

拦截式的中间人攻击,攻击者拦截client的封包,并给它一个假的回覆,如此client可能会被带到另外一个长很像的网站(说不定会骗你的金融帐密!?);DNS 中毒也是中间人攻击的一种,给你一个错误的回覆让DNS中毒。
还有一种欺骗方法是传假的source IP,让Server 以为是那个假的IP的要求,所以就传回覆给那个假的IP位址,这是spoofed source。

Q:DNS 为甚么使用UDP?

因为UDP比较快,但是DNS 如果在返回的数据量大于512Bytes会使用TCP,但因为大部分的回报大小不会超过512Bytes所以通常用UDP。
参见:51CTO|为什么 DNS 协定使用 UDP? 只使用了UDP吗?

上一篇文章:阿沁的DNS(1)

参考文章:
Explain DNS message format with neat diagram.
DNS Message — How to Read Query and Response Message
What is a DNS attack? Types of DNS attacks and how to prevent them
51CTO|为什么 DNS 协定使用 UDP? 只使用了UDP吗?


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章