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协议_第1张图片

dns响应报文

DNS协议_第2张图片
发现这个报文有点难,找个简单的分析
在这里插入图片描述
DNS协议_第3张图片

使用scapy进行读取

wireshark抓包成pcap文件,使用scapy的rdpcap,在scapy里面进行分析

查询报文
DNS协议_第4张图片
响应报文
DNS协议_第5张图片

dns请求重放

流程:
wireshark抓dns包, 保存为pcap文件
使用scapy读取pcap文件
简单修改报文数据,使用sendp发送,某种程度上实现了dns报文重放

CNAME

使用wireshark分析dns包的时候发现了cname字段,很是疑惑。
为什么某些dns响应里面会有cname呢
在这里插入图片描述

你可能感兴趣的:(network)