Linux下使用tcpdump监听DNS查询过程
打开linux终端输入以下tcpdump监听命令
sudo tcpdump -i wlp0s20f3 -nt -s 500 port domain #使用tcpdump监听
-i指定要监听的网卡接口,wlp0s20f3是网卡接口名称
port domain用来过滤数据包,表示只抓取使用domain(域名)服务的数据包,即DNS查询和应答报文。
打开新终端,使用host命令向DNS服务器查询www.baidu.com的IP地址。
host -t A www.baidu.com
两个数据包都是IP数据报,第一个数据报表示192.168.0.105(本地)向116.116.116.116(DNS服务器)查询www.a.shifen.com的IP地址,53是DNS服务的端口号,“+”表示启用递归查询标志,“A?”表示使用A类型的查询方式,34是该报文的长度(字节)。
第二个数据报表示116.116.116.116向192.168.0.105发送DNS应答报文,2/0/0表示该报文中包含2个应答资源记录,0个授权资源记录和0个额外信息记录,A表示紧随其后的记录是IP地址。
|