DNS协议
todo
今天抓包碰到了DNS协议,感觉是我知识的盲点,影响了我的判断,现在争取把这个盲点给补充上。
《TCP/IP详解》第14章详细介绍了dns相关知识
几个问题
dns缓存时间是多少?
dns响应报文里面有个数据叫做ttl,这个ttl告诉机器应该把这个数据保存长时间
dns的id有什么作用?
dns服务器是干什么的?
dns服务器本身应该是ip形式
处理请求,返回域名对应的接口数据
dns的报文长什么样?
请求报文和响应报文
dns的流程是怎么样子的?
先走hosts,如果hosts里面没有,会去查dns服务器
dns报文使用的端口?
53号端口
dns使用udp还是tcp?
一般使用udp,不过tcp也是支持的
dns的查询和响应通常要经过广域网
CNAME是什么?
dns报文格式
dns服务器
dns查询报文
dns响应报文
发现这个报文有点难,找个简单的分析
使用scapy进行读取
wireshark抓包成pcap文件,使用scapy的rdpcap,在scapy里面进行分析
查询报文
响应报文
dns请求重放
流程:
wireshark抓dns包, 保存为pcap文件
使用scapy读取pcap文件
简单修改报文数据,使用sendp发送,某种程度上实现了dns报文重放
CNAME
使用wireshark分析dns包的时候发现了cname字段,很是疑惑。
为什么某些dns响应里面会有cname呢