使用tcpdump觀察DNS通訊過程
1. DNS簡介:
我們通常使用機器的域名來訪問這臺機器,而不直接使用其IP地址,比如訪問因特網上的各種網站。那麼如何將機器的域名轉換成IP地址呢?這就需要使用域名查詢服務。域名查詢服務有很多種實現方式,比如NIS(Network Information Service,網路資訊服務)、DNS和本地靜態檔案等。主要討論DNS。
DNS是一套分散式的域名服務系統。每個DNS伺服器上都存放著大量的機器名和IP地址的對映,並且是動態更新的。眾多網路客戶端程式都使用DNS協議來向DNS伺服器查詢目標主機的IP地址。
Linux使用/etc/resolv.conf檔案來存放DNS伺服器的IP地址。
2. host程式的使用:
Linux下一個常用的訪問DNS伺服器的客戶端程式是host,比如下面的命令是向首選DNS伺服器查詢機器www.baidu.com的IP地址:
host命令的輸出告訴我們,機器名www.baidu.com是www.a.shifen.com.的別名,並且該機器名對應兩個IP地址。host命令使用DNS協議和DNS伺服器通訊,其-t選項告訴DNS協議使用哪種查詢型別。我們這裡使用的是A型別,即通過機器的域名獲得其IP地址(但實際上返回的資源記錄中還包含機器的別名)。
3. tcpdump監聽資料
為了看清楚DNS通訊的過程,下面我們將從主機1:192.168.0.141上執行host命令以查詢主機www.jd.com對應的IP地址,並使用tcpdump抓取這一過程中LAN上傳輸的乙太網幀。具體的操作過程如下:
# tcpdump-i eth0-nt-s 500 port domain
然後在另外一個終端中輸入下面的命令:
#host-t A www.jd.com下圖是host-t A www.jd.com輸出的資料:
下圖是tcpdump監聽到的資料:
其中IP地址192.168.0.1是預設閘道器的地址。
root@linux_ever:~# route
核心 IP 路由表
目標 閘道器 子網掩碼 標誌 躍點 引用 使用 介面
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
4. 對資料進行分析
這一次執行tcpdump抓包時,我們使用“port domain”來過濾資料包,表示只抓取使用domain(域名)服務的資料包,即DNS查詢和應答報文。tcpdump的輸出如下:
IP 192.168.0.141.53511 > 192.168.0.1.53: 65362+ A? www.jd.com. (28)IP 192.168.0.1.53 > 192.168.0.141.53511: 65362 2/0/0 CNAME www.jdcdn.com., A 14.152.71.1 (68)
這兩個資料包開始的“IP”指出,它們後面的內容描述的是IP資料包。tcpdump以“IP地址.埠號”的形式來描述通訊的某一端;以“>”表示資料傳輸的方向,“>”前面是源端,後面是目的端。可見,第一個資料包是測試主機1(IP地址是192.168.0.141)向其首選DNS伺服器(IP地址是192.168.0.1.53)傳送的DNS查詢報文(目標埠53是DNS服務使用的埠),第二個資料包是伺服器反饋的DNS應答報文。
相關文章
- 使用tcpdump觀察ARP通訊過程和ARP報文詳解TCP
- https的通訊過程HTTP
- Flink - 元件通訊過程元件
- 通過例項學習 tcpdump 命令TCP
- TCP/IP的通訊過程-VeCloudTCPCloud
- 漫遊ZooKeeper nio通訊過程
- 一次HTTP通訊過程HTTP
- DNS解析過程原理DNS
- PHP-FPM 與 NGINX 通訊過程PHPNginx
- 無線通訊的發展過程
- DNS域名解析過程DNS
- 最新最全的Portlet 通訊過程詳解
- DNS的原理和解析過程DNS
- 轉:DNS解析過程詳解DNS
- 網路 - DNS解析過程原理DNS
- DNS解析全過程及原理DNS
- 我的dns配置過程(轉)DNS
- 利用DNS隧道通訊木馬分析DNS
- 通過觀察者監聽模型事件模型事件
- Sun 通過GlassFish觀察SOA開發
- 圖解Flutter建立Isolate的過程及通訊圖解Flutter
- go dns解析過程及調優GoDNS
- tcpdump使用TCP
- 記一次https通訊除錯過程HTTP除錯
- 從Chrome原始碼看DNS解析過程Chrome原始碼DNS
- 移遠 EC20 模組(4G通訊模組)AT指令測試 TCP 通訊過程TCP
- NativePayload_DNS,通過DNS流量,繞過防病毒傳輸後門DNS
- CCNA - Part10 資料包的通訊過程
- 例項詳解不同VLAN間通訊(轉發過程)
- 揭祕得物客服IM全鏈路通訊過程
- 客戶端到伺服器端的通訊過程客戶端伺服器
- Tcpdump使用示例TCP
- Tcpdump的使用TCP
- 什麼是DNS解析?DNS解析的過程是什麼樣的?DNS
- DNS協議 是什麼?說說DNS 完整的查詢過程?DNS協議
- DNS解析是什麼?DNS解析在網路通訊中作用有哪些?DNS
- DNS是什麼?DNS在網路通訊中的作用是什麼?DNS
- 微服務通訊之feign的註冊、發現過程微服務