tcpdump 识别成dns_1.6.3 使用tcpdump观察DNS通信过程
1.6.3 使用tcpdump觀察DNS通信過程
為了看清楚DNS通信的過程,下面我們將從ernest-laptop上運行host命令以查詢主機www.baidu.com對應的IP地址,并使用tcpdump抓取這一過程中LAN上傳輸的以太網幀。具體的操作過程如下:
$?sudo?tcpdump?-i?eth0?-nt?-s?500?port?domain
$?host?–t?A?www.baidu.com
這一次執行tcpdump抓包時,我們使用“port domain”來過濾數據包,表示只抓取使用domain(域名)服務的數據包,即DNS查詢和應答報文。tcpdump的輸出如下:
1.?IP?192.168.1.108.34319>219.239.26.42.53:?57428+?A??www.baidu.com.?(31)
2.?IP?219.239.26.42.53>192.168.1.108.34319:?57428?3/4/4?CNAME?www.a.shifen.com.,?A?119.75.218.77,?A?119.75.217.56?(226)
這兩個數據包開始的“IP”指出,它們后面的內容描述的是IP數據報。tcpdump以“IP地址.端口號”的形式來描述通信的某一端;以“>”表示數據傳輸的方向,“>”前面是源端,后面是目的端。可見,***個數據包是測試機器ernest-laptop(IP地址是192.168.1.108)向其***DNS服務器(IP地址是219.239.26.42)發送的DNS查詢報文(目標端口53是DNS服務使用的端口,這一點我們在前面介紹過),第二個數據包是服務器反饋的DNS應答報文。
***個數據包中,數值57428是DNS查詢報文的標識值,因此該值也出現在DNS應答報文中。“+”表示啟用遞歸查詢標志。“A?”表示使用A類型的查詢方式。“www.baidu.com”則是DNS查詢問題中的查詢名。括號中的數值31是DNS查詢報文的長度(以字節為單位)。
第二個數據包中,“3/4/4”表示該報文中包含3個應答資源記錄、4個授權資源記錄和4個額外信息記錄。“CNAME www.a.shifen.com.,A 119.75.218.77,A 119.75.217.56”則表示3個應答資源記錄的內容。其中CNAME表示緊隨其后的記錄是機器的別名,A表示緊隨其后的記錄是IP地址。該應答報文的長度為226字節。
注意 我們抓包的時候沒有開啟tcpdump的-X選項(或者-x選項)。如果使用-X選項,我們將能看到DNS報文的每一個字節,也就能明白上面31字節的查詢報文和226字節的應答報文的具體含義。限于篇幅,這里不再討論,讀者不妨自己分析。
【責任編輯:book TEL:(010)68476606】
點贊 0
總結
以上是生活随笔為你收集整理的tcpdump 识别成dns_1.6.3 使用tcpdump观察DNS通信过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 增量索引和全量索引_搜索引擎(七)高可用
- 下一篇: 修改mysql字符集_mysql 修改字