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協議

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