TCP-IP详解笔记7: DNS,域名系统

概念

DNS 是一种用于TCP/IP应用程序的__分布式数据库__,提供了主机名字和IP地址之间的转换和有关电子邮件的选路信息。

DNS基础

层次结构, 每个节点有一个至多63个字符长的标识, 不区分大小写。域名书中的每个节点都有一个唯一的域名,但不同节点可使用相同的标识。

以‘.’结尾的域名成为绝对域名, sun.tuc.noao.edu.。

DNS层次

  1. 顶级域名:

    1. arpa
    2. 7个普通三字符长的普通域, 或是组织域
    3. 国家码, 国家域或地理域
  2. DNS中域名的授权:网络信息中心NIC负责分配顶级域和委派其他指定地区域的授权机构,

  3. DNS使用超高速缓存.

DNS报文格式

DNS报文格式

  1. DNS报文由12字节长的首部和4个长度可变字段组成。
  2. 标识字段:客户程序设置,并由服务器返回结果。客户程序用来确定响应和查询是否匹配。
QR opcode AA TC RD RA (zero) rcode
1 4 1 1 1 1 3 4
0查询报文, 1响应报文 0标准查询, 为1(反向查询), 2(服务器状态请求) 授权回答 可截断 期望递归 可用递归 必须为0 返回码, 0没差错, 3名字差错

查询问题部分

DNS查询问题部分格式

  1. 存储域名的方式:

|计数|域|计数|域|…|

如gemini.tuc.noao.edu:
6gemini3tuc4noao3edu0

因为标识符的最大长度仅为 6 3,所以计数字节的值为0到63的数。

  1. 查询类型有:

DNS查询类型.png

常见类型时A类型,期望获得查询名的IP地址。
PTR查询是请求获得一个IP地址对应的域名。

  1. 查询类通常是1, 互联网地址。

DNS响应报文中的资源记录部分

  1. 数据格式
    DNS资源记录格式 RR

DNS举例:

DNS响应举例.png

指针查询

使用tcpdump 查看指针查询信息


$ host 140.252.13.34
34.13.252.140.in-addr.arpa domain name pointer pipen14.tuc.noao.edu.



10:38:59.999340 IP xxxxx.60763 > google-public-dns-a.google.com.domain: 22773+ PTR? 34.13.252.140.in-addr.arpa. (44)
10:39:00.003093 IP google-public-dns-a.google.com.domain > xxxxx.60763: 22773 1/0/0 PTR pipen14.tuc.noao.edu. (78)
  1. 从以上信息可以看出,指针查询会对查询数据进行反转,在机上in-addr.arpa,这是自动的。
  2. PTR?表示查询PTR

例子:

  1. 普通的host baidu.com
10:46:42.346766 IP xxxx.62785 > google-public-dns-a.google.com.domain: 41812+ A? baidu.com. (27)
10:46:42.350305 IP google-public-dns-a.google.com.domain > xxxxx.62785: 41812 2/0/0 A 123.125.115.110, A 220.181.57.216 (59)
10:46:42.350643 IP xxxxx.62363 > google-public-dns-a.google.com.domain: 30592+ AAAA? baidu.com. (27)
10:46:42.393192 IP google-public-dns-a.google.com.domain > xxxx.62363: 30592 0/1/0 (70)
10:46:42.393847 IP xxxx.65123 > google-public-dns-a.google.com.domain: 46136+ MX? baidu.com. (27)
10:46:42.409846 IP google-public-dns-a.google.com.domain > xxxxx.65123: 46136 5/0/0 MX jpmx.baidu.com. 20, MX mx50.baidu.com. 20, MX mx.maillb.baidu.com. 10, MX mx.n.shifen.com. 15, MX mx1.baidu.com. 20 (143)
  1. rlogin:

dns_rlogin.png

采用UDP协议

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章