上一講到dns中網域名稱解析的原理和過程,這篇文章講一下dns的報文格式,並通過wireshark捉包分析一下。關於dns的報文格式可以看google,這裡不再多說,接下來用我的站點mydoodle.com.cn 來捉包分析。
展開domain name system(reposen)
首部區域:
識別符號:transaction id: 0xfed2 16位位元數,標誌該查詢
標誌: flags:0x0100(standard query)
0……….….= respone:messsage is a query
0表示為dns查詢報文
.000 0…….….=opcode:standard query(0)
操作碼為標準查詢
.…..0.….….=truncated:message is not truncated
資訊沒有被截斷
.…..1.….….=recursion desired:do query recursively 執行遞迴查詢
….…. .0..…..=z:reserved(0)
….….…0…..=nontheticated data:unacceptable
問題數:question:1 只查詢乙個主機名
回答rr數:answer rrs:0
權威rr數:authority rrs:0
附加rr數:additional rrs:0
問題區域
報文分析:
首部區域:
識別符號:transaction id: 0x8180 16位位元數,與對應的查詢報文識別符號相同
標誌: flags:0x8180(standard query)
問題數:question:1 表示只查詢乙個主機
回答rr數:answer rrs:1 表示該主機對應的有1條資源記錄
權威rr數:authority rrs:2
附加rr數:additional rrs:6
下面詳細分析一下返回報文:
大部分是和查詢報文相同主要分析一下answers這項內容
這裡可以看到查詢的網域名稱為 mydoodle.com.cn,對應的 ip為198.20.126.53
,解析記錄為a記錄設定的ttl為554(我記得應該是600的)
這是ping出來的結果
我不的不承認這文章暴露出來很多問題,我掌握的還不夠仔細(大家請忽略,之後會把他細化)
DNS報文格式
dns報文格式 借個圖貼過來 說明一下 並不是所有dns報文都有以上各個部分的。圖中標示的 12位元組 為dns首部,這部分肯定都會有,首部下面的是正文部分,其中查詢問題部分也都會有。除此之外,回答 授權和額外資訊部分是只出現在dns應答報文中的,而這三部分又都採用資源記錄 recource rec...
DNS報文格式
dns協議執行在應用層,tcp ip需要使用ip位址,不能使用網域名稱,因此應用層需要將網域名稱轉換成ip位址。dns使用tcp或者udp,一般使用udp,port都是53.dns協議存在諸多rfc文件,每個rfc文件介紹其乙個側面,比如rfc 1035介紹的是網域名稱的實現和規範,rfc 1886...
DNS報文格式及抓包解析
dns的報文結構如下,其中黃色為基礎部分,綠色為問題部分,藍色為資源記錄部分。資源記錄部分只在響應包 現。1.事務id 16bit,dns報文的標識,請求報文和對應的響應報文的事務id應該相同。2.標誌 16bit,分為8個字段 字段長度 bit 作用qr 1查詢報文為0,響應報文為1 opcode...