14.1.5 实际的DNS报文数据
来源:互联网 发布:淘宝上的衣服和实体店 编辑:程序博客网 时间:2024/06/08 10:44
14.1.5 实际的DNS报文数据
在客户机利用域名访问一台主机时,首先要向所设的DNS服务器发送查询报文,以获得该域名所对应的IP地址,DNS服务器要根据具体情况返回给客户端应答。下面通过抓包工具Ethereal捕获这些数据包,并进行观察,以便更深入地理解DNS协议。
假设在一台IP地址为10.10.91.252的客户机上执行ping www.baidu.cn命令,成功执行完成后,用Ethereal抓到的数据包如图14-10所示。在命令执行前,先用ipconfig /flushdns清除本地的DNS缓存,否则客户机有可能不发送DNS报文而是直接从DNS缓存中得到IP地址。
从图14-10可以看出,客户机10.10.91.252在ping一个域名时,要先通过DNS查询获得该域名所对应的IP地址,因此向所设的DNS服务器10.10.1.29发送了数据包1,可以看出查询类型为A。DNS服务器10.10.1.29通过数据包2告诉客户机,www.baidu.cn域名所对应的IP地址是220.181.6.18。于是,ping命令向220.181.6.18发送了数据包3、5、7和9四个ICMP请求,而220.181.6.18则通过4、6、8和10四个数据包进行了回复。
从数据包2还可以看出,DNS服务器返回了一条CNAME资源记录和两条A资源记录,客户端根据自己的算法取出了第一条A资源记录中所包含的IP地址。另外,从图4-10中所示窗口的中间部分还可以看出,DNS报文是通过UDP协议发送的,服务器的端口号是53号。
图14-10 Ethereal抓到的DNS数据包
%说明:以上是DNS客户端与服务器的报文交互情况。实际上,DNS服务器为了解析www.baidu.cn域名,可能还需要与其他DNS服务器进行交互,这些交互数据包不能在客户机上捕获。
- 14.1.5 实际的DNS报文数据
- DNS的报文格式
- DNS pdu 数据协议单元的格式(dns报文格式)
- 对DNS报文的理解
- 对DNS报文的理解
- 14.1.4 DNS报文格式
- DNS报文
- DNS报文
- 简单的DNS请求报文实现
- DNS报文解析
- DNS报文格式
- 总结:DNS报文格式
- DNS协议 报文格式
- DNS协议报文(RFC1035)
- DNS报文格式
- DNS 报文格式
- DNS报文格式分析
- DNS协议报文(RFC1035)
- 14.1.4 DNS报文格式
- ASP.NET程序中常用的三十三种代码
- scoped_ptr
- 利用ASP.NET框架制作基于角色的安全登陆
- 有点经典
- 14.1.5 实际的DNS报文数据
- 关于Extjs API文档——阅读方法
- Windows 7中使用Microsoft File Transfer Manager报"Access Denied to temp file"错误的解决方法
- 14.2 BIND的安装与运行
- 14.2.2 BIND的获取与安装
- QT的GUI设计
- 14.2.3 BIND的简单配置与运行
- 14.2.4 chroot功能
- 14.2.5 使用rndc