DNS抓包分析
抓包分析解决网络环路的措施
抓包分析解决网络环路的措施随着互联网的发展,网络环路问题逐渐成为网络工程师和管理员们面临的一个重要挑战。
网络环路是指数据在网络中循环传输,导致网络拥堵和性能下降的问题。
解决网络环路问题需要网络工程师具备一定的技术知识和经验。
本文将介绍如何通过抓包分析来解决网络环路问题,帮助读者更好地理解和解决这一难题。
抓包分析是一种常用的网络故障排查方法,通过监视网络数据包的传输过程,分析数据包的头部信息和负载内容,可以帮助网络工程师快速定位网络环路问题的原因。
下面将从抓包分析的基本原理、工具和实际案例等方面进行介绍。
一、抓包分析的基本原理。
抓包分析的基本原理是通过网络抓包工具捕获网络数据包,然后对捕获到的数据包进行解析和分析。
网络数据包是网络通信的基本单位,包括数据包的头部信息和负载内容。
通过分析数据包的源地址、目的地址、协议类型、数据包大小等信息,可以了解网络通信的情况,帮助快速定位网络环路问题。
二、抓包分析的工具。
目前市面上有很多优秀的抓包工具,如Wireshark、tcpdump、Fiddler等,这些工具都可以帮助网络工程师进行抓包分析。
其中,Wireshark是一款功能强大的网络协议分析工具,支持多种网络协议的分析和解码,可以捕获网络数据包并进行详细的分析。
tcpdump是一款基于命令行的抓包工具,可以在Linux和Unix系统上使用,通过简单的命令就可以捕获网络数据包。
Fiddler是一款用于HTTP/HTTPS调试和抓包的工具,可以帮助网络工程师快速定位网络环路问题。
三、抓包分析的实际案例。
下面将通过一个实际案例来介绍如何通过抓包分析来解决网络环路问题。
假设一个公司的内部网络出现了网络环路问题,导致网络拥堵和性能下降。
网络工程师可以通过Wireshark等抓包工具来捕获网络数据包,并进行分析。
首先,网络工程师可以在受影响的网络设备上安装Wireshark,并设置过滤条件,只捕获与网络环路相关的数据包。
Wireshark抓包实例分析 (DNS和HTTP协议)
(八)参考资料
《计算机科学网络 自顶向下的方法》 第四版 陈鸣 译 《WireShark 教程用户使用手册》 《学习用 wireshark 进行抓包分析》 罗小嘉
表单数据以及浏览记录等等。 3、单击开始,打开运行,输入'cmd',输入命令'ipconfig/flushdns',回车,即
可看到成功刷新 DNS 缓存的显示。
2、WireShark 的使用
(1) 启动 WireShark。 (2) 启动 PC 上的 IE 浏览器。 (3) 开始分组捕获:选择“抓包”下拉菜单中的“抓包参数选择”命令,在
图二
其中,第一行为该包的信息,第二行为以太网,属于链路层,第三行为 IP 协 议,属于网络层(源 IP 与目的 IP 显示在该行),第四行为 UDP 协议,属于传输 层,第五行为 DNS 的有关数据。下面将通过图三详细分析 DNS 报文的内容。
这是一个请求查询 的报文(0),该报文没有 被删节,采用的是递归调 用的查询,问题数为 1, 回答 RR 数,权威 RR 数 以及附加 RR 数均为 0。 在问题区域显示了名字 字段与被查询的问题类 型 A(即主机地址)。
计算机网络技术基础目录一封面第1页二目录第2页三内容一实验背景介绍第3页二实验目的及任务第3页三实验环境第3页四实验原理第3页五实验步骤第3页1实验前的准备工作第4页2wireshark的使用第4页六实验结果分析第4页1dns分析第45页2http分析第67页七实验总结第7页八参考资料第7页内容一实验背景介绍wireshark简介wireshark原ethereal是目前最流行的一款网络封包分析软件
DNS协议分析实验
DNS协议分析实验DNS(Domain Name System)是互联网中负责域名解析的协议,通过将人类可读的域名转换为计算机可识别的IP地址,实现了互联网上不同计算机之间的通信。
在本实验中,我们将对DNS协议进行深入分析,了解其工作原理和数据包结构。
实验环境:在本实验中,我们将使用Wireshark作为数据包捕获工具,通过观察和分析DNS请求和响应数据包来了解DNS协议的工作原理。
实验所需的系统环境为Windows或Linux操作系统,需要安装最新版本的Wireshark软件。
实验步骤:1. 打开Wireshark软件,并选择要抓取数据包的网络接口。
2. 在过滤器中输入“dns”,以过滤出DNS协议相关的数据包。
3. 进行一系列的DNS请求和响应操作,如访问一个网站、ping一个域名等。
4. 观察Wireshark中捕获到的数据包,分析其中DNS请求和响应的数据结构。
5.获取一个真实的DNS数据包,对其进行深入分析,包括报头和数据部分的结构。
6.总结实验过程中获得的知识,对DNS协议的工作原理和数据包结构进行总结和分析。
实验结果:在实验过程中,我们可以清晰地观察到DNS请求和响应数据包的结构。
一个典型的DNS请求数据包包括报头和问题部分,而DNS响应数据包包括报头、问题部分、回答部分、授权部分和附加部分。
通过分析这些数据包,我们可以了解DNS协议是如何解析域名的,以及实现域名解析时所涉及的相关参数和信息。
在DNS请求数据包中,最重要的部分是问题部分,其中包含了要查询的域名和查询类型(A记录或AAAA记录)。
而在DNS响应数据包中,回答部分则包含了查询结果的IP地址信息,授权部分和附加部分则包含了其他相关的信息,如授权服务器和附加信息等。
通过分析实验中捕获到的真实数据包,我们可以更加深入地了解DNS协议的工作原理。
在DNS数据包的报头部分,包括了一些重要的字段信息,如标识符、查询/响应标志、授权回答标志等,这些信息对于解析数据包和理解DNS协议非常重要。
抓包工具和抓包分析
抓包工具和抓包分析1 概述在处理 IP网络的故障时,经常使用以太网抓包工具来查看和抓取 IP网络上某些端口或某些网段的数据包,并对这些数据包进行分析,定位问题。
在IMON项目里,使用抓包工具抓包进行分析的场景在EPG采集、引流模块和软终端监看模块,一般情况下EPG采集和引流模块比较稳定,软终端监看还涉及SS5代理,这部分出问题的几率比较大,这是就有可能要现场维护人员抓包进行分析、排查、定位问题,确定是网络问题还是软件问题,如果是软件问题则要将抓回的包发给研发解决。
EPG抓包可分为对鉴权过程、采集过程抓包验证,主要是通过通过抓包分析与IPTV鉴权服务器之间的TCP交互。
流媒体交互抓包可分为对组播、点播进行抓包,一般交互的协议分为IGMP、RTSP、RTMP等,组播一般是基于UDP的IGMP流,点播是基于RTP的RTSP流或基于TCP的RTMP流。
软终端抓包主要是抓取软终端与IPTV服务器交互、SS5与IPTV服务器交互的数据包,一般跟流媒体交互的报文协议差不多,也是分为组播IGMP、点播RTSP等协议,不过经过测试发现江苏的部分组播(可能是用户不同所致)发送的是RTSP的包。
2 常用抓包工具2.1 W ireSharkWireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的。
过滤器的区别捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。
需要在开始捕捉前设置。
显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。
他们可以在得到捕捉结果后随意修改。
捕捉过滤器Protocol(协议):可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。
数据包抓包分析范文
数据包抓包分析范文一、数据包抓包的基本流程1. 安装Wireshark并启动。
2.选择所需的网络接口进行抓包。
3.设置相关过滤器,以过滤出需要的数据包。
4.开始抓包并观察捕获到的数据包。
5.对数据包进行分析,包括查看协议信息、源IP、目标IP等处理。
二、数据包分析的基本操作1. 过滤器的使用:在Wireshark的过滤器栏中输入相关的过滤规则,可以过滤出特定的数据包。
例如,可以使用过滤器"ip.addr==192.168.1.1"只显示源或目的IP地址为192.168.1.1的数据包。
2. 如何分析数据包的协议:Wireshark针对每个数据包提供了协议栈的信息,在Packet Details窗格中可以查看到每层协议的详细信息。
可以通过查看各层协议的信息,了解协议的使用情况,诊断网络问题。
3. 统计功能的使用:Wireshark提供了一些统计功能,如统计一些协议的使用情况、统计各个IP地址之间的通信量等。
这些统计信息可以帮助我们了解网络的负载情况,发现潜在的问题。
4.寻找网络延迟问题:通过查看数据包的时间戳和响应时间,可以找到网络延迟的问题。
例如,如果响应时间过长,可能是由于网络拥塞或服务器性能问题引起。
5. 分析TCP连接问题:Wireshark提供了TCP分析功能,可以分析TCP连接的建立、维护和中断过程。
通过查看TCP协议头部的相关信息,可以判断网络连接的状态、是否有丢包或重传等问题。
6.安全问题的分析:通过抓包分析,可以检测到一些安全问题,如密码明文传输、未加密的通信等。
通过查看数据包的内容,可以发现潜在的安全隐患,并及时采取措施进行修复。
三、数据包分析的实际案例1.分析HTTP请求:通过抓包分析HTTP请求,可以了解请求的具体内容和响应的状态码。
可以查看HTTP头部的信息,识别用户的操作行为,检查请求是否正常。
2.分析DNS查询:通过抓包分析DNS查询,可以了解域名解析过程的性能和可靠性。
DNS报文研究 通过抓包分析dig +trace跟踪全过程
从+*************.143.69抓包分析dig的报文作者wujunfengDNS报文大小分析在UDP数据报中的用户数据长度显示为37字节:12字节为固定长度的报文首部,21字节为查询名字,以及用于查询类型和查询类的4个字节。
在DNS报文中无需填充数据。
查询结果中的U DP数据长度:69字节。
为说明这些字节需要知道以下两点:1) 在返回的结果中包含查询问题。
2) 在返回的结果中会有许多重复的域名,因此使用压缩方式。
在这个例子中,域名出现了三次。
压缩方法:当一个域名中的标识符是压缩的,它的单计数字节(范围由0~6 3)中的最高两位将被设置为11。
这表示它是一个16 bit指针而不再是8 bit的计数字节。
指针中的剩下14 bit说明在该D N S报文中标识符所在的位置(起始位置由标识字段的第一字节起算)。
只要一个标识符是压缩的,就可以使用这种指针,而不一定非要一个完整的域名压缩时才能使用。
因为一个指针可能指向一个完整的域名,也可能只指向域名的结尾部分(这是因为给定域名的结尾标识符是相同的)。
显示了在问题部分的域名中各标识符的计数字节。
在这个例子中,每个回答中的指针值为12,表示从DNS首部开始的偏移量。
====================================================C:\Users\wjf>+*************.143.69;<<>>DiG9.3.2<<>>+*************.143.69; (1 server found);; global options: printcmd. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 498578 IN NS .. 514216 IN RRSIG NS 8 0 518400 20140713000000 201 40705230000 8230 . jgMKRM9a9AWVdIMwO7RR0qmXT++dGgvIv9lDt0bFEAMsM6tzSyHpwv80 QyQO5141EwQxPSjsuQ+P6e3XcozCLxx/kZP2M4iQ9LsaZlWKoYfAqQshVmdorU8ZRANfOS9167vgW8K7eCkKaF82SC0LAwM0vpVmuE0yzPvj715r zqU=;; Received 913 bytes from 221.131.143.69#53(221.131.143.69) in 70 mscn. 172800 IN NS .cn. 172800 IN NS .cn. 172800 IN NS .cn. 172800 IN NS .cn. 172800 IN NS .cn. 172800 IN NS .;; Received 294 bytes from 192.228.79.201#53() in 230 ms. 86400 IN NS .. 86400 IN NS .;; Received 86 bytes from 203.119.29.1#53() in 240 ms. 43200 IN A 221.178.251.141. 43200 IN NS .. 43200 IN NS .;; Received 134 bytes from 211.103.13.101#53() in 130 ms经过分析发现,dig +trace,是客户端直接与各个DNS进行报文交互的(并不是通过221.131.143.69与各个DNS交互),同时会调用本地DNS使用dig +trace@221.131.143.69中的@221.131.143.6只是为了从221.131.143.69获取到13个根DNS的域名,如下是抓包分析192.168.0.115是客户端电脑的IP如下是dig +trace的第一个请求报文(向dig @指定IP 发起请求)如下是dig +trace的第二个响应报文注意在answers中有14条纪录, .排在第一个,additional有25条纪录而additional有25条纪录,有的根DNS除了返回A纪录,另外还多返回一条AAAA纪录如下是dig +trace的第三个请求报文(向本地DNS 发起请求)当前本地DNS为192.168.0.1,正好与网关地址一样,如果本地DNS为114.114.114.114,则目地DNS会变为114.114.114.114如下是dig +trace的第四个响应报文(本地DNS 响应)如下是dig +trace的第五个请求报文(向请求)如下是dig +trace的第六个响应报文(响应)如下是dig +trace的第七个请求报文(向本地DNS 发起请求)如下是dig +trace的第八个响应报文(本地DNS 响应)如下是dig +trace的第9个请求报文(发给)如下是dig +trace的第10个响应报文(响应)后面的报文省略抓包的原始报文====================================DNS UDP or TCP当名字解析器发出一个查询请求,并且返回响应中的TC(删减标志)比特被设置为1时,它就意味着响应的长度超过了512个字节,而仅返回前512个字节。
wireshark抓包实验报告总结
wireshark抓包实验报告总结一、实验目的本次实验的主要目的是学习Wireshark抓包工具的使用方法,掌握网络通信过程中数据包的组成和解析方式,以及了解常见网络协议的运行机制。
二、实验环境本次实验使用的操作系统为Windows 10,使用Wireshark版本为3.4.6。
三、实验步骤1. 安装Wireshark软件并打开。
2. 选择需要抓包的网络接口,并开始抓包。
3. 进行相应的网络操作,例如访问网站、发送邮件等。
4. 停止抓包,并对捕获到的数据包进行分析和解析。
四、实验结果1. 抓取HTTP请求和响应数据包通过Wireshark抓取HTTP请求和响应数据包,可以轻松地了解HTTP协议在通信过程中所传输的信息。
例如,在访问一个网站时,可以看到浏览器向服务器发送GET请求,并获取到服务器返回的HTML 页面等信息。
同时还可以看到HTTP头部中所携带的信息,例如User-Agent、Cookie等。
2. 抓取TCP连接数据包通过Wireshark抓取TCP连接数据包,可以了解TCP协议在建立连接、传输数据和关闭连接时所涉及到的所有步骤。
例如,在进行FTP 文件传输时,可以看到TCP三次握手建立连接,以及文件传输过程中TCP的流量控制和拥塞控制等。
3. 抓取UDP数据包通过Wireshark抓取UDP数据包,可以了解UDP协议在通信过程中所涉及到的所有信息。
例如,在进行DNS域名解析时,可以看到DNS服务器返回的IP地址等信息。
五、实验总结通过本次实验,我学会了使用Wireshark抓包工具进行网络数据包分析的方法,并了解了常见网络协议的运行机制。
同时也发现,在网络通信过程中,数据包所携带的信息非常丰富,能够提供很多有用的参考和指导。
因此,在实际工作中,我们应该灵活运用Wireshark等工具进行网络数据包分析,并结合具体业务场景进行深入研究和分析。
wireshark抓包分析报告
用wireshark分析和 Dns 报文一、请求报文和响应报文wireshark所抓的一个含有请求报文的帧:1、帧的解释链路层的信息上是以帧的形式进展传输的,帧封装了应用层、传输层、网络层的数据.而wireshark抓到的就是链路层的一帧.图中解释:Frame 18:所抓帧的序号是11,大小是409字节Ethernet :以太网,有线局域网技术 ,属链路层Inernet Protocol:即IP协议,也称网际协议,属网络层Transmisson Control Protocol:即TCP协议,也称传输控制协议.属传输层Hypertext transfer protocol:即协议,也称超文本传输协议.属应用层图形下面的数据是对上面数据的16进制表示.2、分析上图中的请求报文报文分析:请求行:GET /img/2009people_index/images/hot_key.gif /1.1方法字段 / URL字段 /协议的版本我们发现,报文里有对请求行字段的相关解释.该报文请求的是一个对象,该对象是图像.首部行:Accept: */*Referer: m/这是Accept-Language: zh-语言中文Accept-Encoding: gzip, deflate可承受编码,文件格式用户代理,浏览器的类型是Netscape浏览器;括号内是相关解释Host: 目标所在的主机Connection: Keep-Alive激活连接在抓包分析的过程中还发现了另外一些请求报文中所特有的首部字段名,比如下面请求报文中橙黄色首部字段名:Accept: */*Referer: 这是html文件Accept-Language: zh-语言中文Accept-Encoding: gzip, deflate可承受编码,文件格式If-Modified-Since: Sat, 13 Mar 2010 06:59:06 GMT内容是否被修改:最后一次修改时间If-None-Match: "9a4041-197-2f11e280"关于资源的任何属性〔 ETags值〕在ETags的值中可以表现,是否改变用户代理,浏览器的类型是Netscape浏览器;括号内是相关解释目标所在的主机Connection: Keep-Alive激活连接Cookie: cdb_sid=0Ocz4H; cdb_oldtopics=D345413D; cdb_visitedfid=17; __gads=ID=7ab350574834b14b:T=1287731680:S=ALNI_Mam5QHAAK2cJdDTRuSxY24VDbjc1Acookie,允许站点跟踪用户,coolie ID是7ab350574834b14b3、分析的响应报文,针对上面请求报文的响应报文如下:wireshark对于2中请求报文的响应报文:展开响应报文:报文分析:状态行:/1.0 200 OK首部行:Content-Length: 159内容长度Accept-Ranges: bytes承受X围Server: nginx服务器X-Cache经过了缓存服务器路由响应信息Date: Fri, 22 Oct 2010 12:09:42 GMT响应信息创建的时间Content-Type: image/gif内容类型图像Expires: Fri, 22 Oct 2010 12:10:19 GMT设置内容过期时间Last-Modified: Fri, 11 Jun 2010 00:50:48 GMT内容最后一次修改时间Powered-By-ChinaCache:PENDINGfromC-BJ-D-3BA ChinaCache的是一家领先的内容分发网络〔CDN〕在中国的服务提供商.Age: 34缓存有效34天Powered-By-ChinaCache: HIT from USA-SJ-1-3D3ChinaCache是一家领先的内容分发网络〔CDN〕在中国的服务提供商.Connection: keep-alive保持TCP连接图中最后一行puserve GIF 是对所传图像的信息的描述GIF是puserve公司开发的图像格式标准.二、DNS查询报文和回答报文1、 Wireshark所抓的DNS查询报文:展开DNS查询报文:报文分析:首部区域:标识符:Transaction ID: 0x4b48 16位比特数,标志该查询标志: Flags: 0x0100〔standard query〕0………. ….= Respone:Messsage is a query0表示为dns查询报文.000 0……. ….=opcode: standard query<0>操作码为标准查询.…..0. …. ….=Truncated:message is not truncated信息没有被截断.… ..1. …. ….=Recursion desired:Do queryrecursively 执行递归查询…. …. .0.. …..=z:reserved〔0〕…. …. …0 …..=Nontheticated data: unacceptable 问题数:Question:1 只查询一个主机名回答RR数:Answer RRS:0权威RR数:Authority RRS:0附加RR数:Additional RRS:0问题区域:Type A<Host address> class:IN<0x0001>包含最初请求的名字的资源记录权威〔资源记录的变量数〕:无附加信息:无2、Wireshark 对应的DNS回答报文:展开DNS回答报文:报文分析:首部区域:标识符:Transaction ID: 0x4b48 16位比特数,与对应的查询报文标识符一样标志: Flags: 0x8180〔standard query〕问题数:Question:1 表示只查询一个主机回答RR数:Answer RRS:5 表示该主机对应的有5条资源记录权威RR数:Authority RRS:0附加RR数:Additional RRS:0问题区域:Type A<Host address> class:IN<0x0001>最初请求的名字的资源记录回答〔资源记录的变量数〕:Answers 5条RR,即主机与ip的5条资源记录权威〔资源记录的变量数〕:无附加信息:无。
计算机网络实验报告(DNS协议分析)
实验DNS 协议分析 实验步骤1.打开wireshark ,设置好过滤器。
2.在命令提示符后键入nslookup .wireshark 捕获dns 的数据包。
结果如下: 表示本地域名服务器的名字;219.229.240.19表示本地域名服务器的IP 地址 表示 的真实域名;119.75.217.56和119.75.218.45为百度的IP 地址;3.设置好过滤器后按enter 键,开始抓包.4. 分析wireshark捕获的数据包.分析前四帧:首先通过反向查询获得本地DNS 服务器的域名域名,其次通过正向查询获得查询域名的IP 地址:4.具体分析捕获的数据包的DNS 报文格式:第一帧是192.168.1.102发送给本地DNS 服务器219.229.240.19的反向查询取得报文,用于获得本地DNS 服务器的名字。
具体协议说明如下:前两帧:通过反向查询获得本地DNS 服务器的名字 后两帧:通过正向查询获得查询域名对应的IP 地址帧数应用层存活时间网络层递归请求版本,表示的是 IP 規格版本标头长度识别码封包总长 。
通常以 byte 做单位來表示该封包的总长度,此数值包括标头和数据的总和。
第二帧是本地DNS服务器返回的响应帧,包含查询结果,即本地DNS 服务器的名字:存活时间反向查询的域名,即查询结果权威DNS本地服务器的域名第三帧是客户端发过给本地DNS服务器的DNS请求报文,用于请求对应的IP 地址请求的资源记录RR第四帧是本地DNS服务器发给客户端的响应报文,包含了对应的真正的域名和IP地址.是对应的真正域名,也是的最初的名字对应的IP是119.75.217.56和119.75.218.45。
Wireshark抓包实验
Wireshark抓包实验⼀、实验名称利⽤Wireshark抓包并分析 TCP/IP 协议⼆、实验⽬的通过实验,了解和掌握报⽂捕获⼯具 Wireshark 的使⽤⽅法和基本特点,使⽤ Wireshark 捕获⽹络报⽂,并分析各种⽹络协议的报⽂格式和⼯作过程。
三、实验内容使⽤ Wireshark 捕获⽹络报⽂,分析以太⽹、ARP、IP、TCP、DNS 和 HTTP 等协议的报⽂格式和⼯作过程。
四、实验步骤DNS分析在 cmd 下运⾏:nslookup –type=Anslookup –type=NS nslookup –type=MX nslookup –type=A 然后⽤Wireshark捕获报⽂并分析DNS和UDP协议的报⽂格式和⼯作过程。
ICMP分析在cmd下运⾏pingtracert然后⽤Wireshark捕获报⽂并分析 ICMP 报⽂格式和⼯作过程。
TCP/IP分析a) 在浏览器输⼊ ⽹址后,然后⽤ Wireshark 捕获报⽂并分析HTTP,TCP,IP,ARP和以太⽹等协议的报⽂格式和⼯作过程。
b) 运⾏各⾃编写的 UDP 和 TCP 客户/服务器程序并进⾏抓包分析。
五、实验结果及分析(⼀)DNS分析通过ipconfig命令查看IP、⽹关地址IP地址192.168.43.217默认⽹关192.168.43.1DNS报⽂格式DNS分析⼤体相同,就选择其⼀进⾏分析1.在cmd下运⾏nslookup -type=A ⾮权威应答:110.53.188.133 113.247.230.248 202.197.9.133应答服务器地址为192.168.43.1,为默认⽹关地址利⽤wireshark进⾏抓包分析,筛选DNS报⽂,本次运⾏有4个DNS报⽂,可以看出对应请求包和响应包的源IP与⽬的IP刚好相反。
Query这是⼀个请求报⽂。
⾸先主机发送⼀个 DNS 报⽂。
DNS 采⽤ UDP 协议⽀持。
访问网页全过程,用wireshark抓包分析
访问⽹页全过程,⽤wireshark抓包分析⽤wireshark抓包查看访问⽹站过程打开wireshark,打开⼀个⽆痕浏览器,输⼊⽹址,到⽹页呈现这⼀过程,⽹络数据包传递的消息都会被放在wireshark⾥。
针对这些包,我们可以逐⼀分析,摸清⽹络访问的全过程。
⾸先是通过DNS获取⽹站的ip地址:在抓到的包⾥⾯逐⼀排查,会请求⽹站的第⼀次出现的数据包是DNS包。
如图82号包(访问百度为例)。
选择82号包后,会出现下⾯的内容,分别是每层⾥⾯的内容和头部的字节码。
这个数据包的73个字节⾥包含:数据链路层报⽂头(数据链路层),ip层头(⽹络层),udp头(传输层),dns头(应⽤层)。
数据链路层的主要信息有mac地址2个(源地址和⽬的地址),主要是你电脑的mac地址,他会发到路由器的mac地址去,然后再由路由器进⾏转发。
⽹络层层有ip4,ip地址,⽬的ip地址等信息。
传输层主要负责了端⼝的管理。
我们具体看⼀下Dns 的回应包,包含从dns server发到我们电脑,具体的内容⾥⾯把query重复⼀遍,然后answer应答了我们请求的⽹站对应的IP地址,于是我们就知道了访问⽹站的ip地址。
接着我们过滤⼀下IP地址,下⼀个包就是TCP开始三次握⼿的包了。
打开看下⾯各层的信息数据链路层依然是发给路由器:⽹络层是发给百度的ip,传输层把端⼝对应了起来具体看tcp层:第⼀个请求包内容:百度回应的包:第三次确认包也是类似:到这就完成了三次握⼿,就可以开始通信了。
http协议就开始互相发送数据包。
最后的四次挥⼿也是⼀样的,可能会存在长连接的情况,要等⼀段时间服务器才会主动断开连接,翻到最下⾯应该就能看到了。
DNS原理与解析+BIND9编译安装与配置
DNS原理与解析+BIND9编译安装与配置1. DNS的本质是什么 Domain Name System = DNS(域名系统)其实就是⼀个数据库,适⽤于TCP/IP程序的分层的,分布式的数据库,同时也是⼀种重要的⽹络协议。
DNS存储了⽹络中的IP地址与对应主机的信息,邮件路由信息和其他⽹络应⽤⽅⾯的信息,⽤户通过询问解决库(解决库发送询问并对DNS回应进⾏说明)在DNS上查询信息。
1.1 DNS的作⽤是什么 DNS是⽹络分层⾥的应⽤层协议,事实上他是为其他应⽤层协议⼯作的,简单来说就是把域名,或者说主机名转化为IP地址(同时也提供反向域名查询功能),类似字典,⽐如访问实际访问的是它的IP地址,因为机器识别的是拥有固定格式和含义的IP地址,⽽域名却是千奇百怪,甚⾄可以是中⽂,不利于识别。
还有⽐如公司内部的域验证,通过分配给员⼯的域账号登录内⽹就必须通过DNS来找到域名权限服务器,来认证⾝份,故有些书上说:DNS是Internet⾥不可缺少的东西。
1.2 使⽤host命令进⾏DNS查询 host命令⽤来DNS查询。
如果命令参数是域名,则输出关联的IP;如果命令参数是IP,则输出关联的域名。
[root@study ~]# host is an alias for . has address 110.242.68.3 has address 110.242.68.4[root@study ~]# host 110.242.68.33.68.242.110.in-addr.arpa domain name pointer .1.3 为什么叫域名系统(DNS),什么是域名 ⼈和⼈要相互认识,需要名字作为辅助,⽽对于⽹络世界,在Internet内也需要⼀种命名系统来做类似的事情,该系统使⽤了域来划分,任何⼀个⽹络⾥的主机(或者路由器)都有独⼀⽆⼆的域名(类似国家代码),域⼜能继续划分为⼦域(类似每个国家有不同的省份),⼦域还能继续划分(每个省都有⾃⼰的各个城市的代码)......在Internet内对应的就是顶级域名(com,net,cn,org等等),⼆级域名......注意这仅仅是⼀种逻辑的划分。
网络解析协议实验报告(3篇)
第1篇一、实验目的1. 理解网络解析协议的基本概念和工作原理。
2. 掌握DNS、ARP等网络解析协议的报文格式和报文分析。
3. 学会使用抓包工具分析网络解析协议的报文传输过程。
4. 提高网络故障排查能力。
二、实验环境1. 硬件设备:PC机、网线、路由器。
2. 软件环境:Wireshark抓包软件、网络解析协议实验平台。
三、实验内容1. DNS协议分析(1)实验目的:了解DNS协议的工作原理,掌握DNS报文格式。
(2)实验步骤:① 在实验平台上配置好DNS服务器和客户端。
② 使用nslookup命令进行域名解析,并观察DNS服务器返回的结果。
③ 使用Wireshark抓包工具,捕获DNS查询和响应报文。
④ 分析DNS查询和响应报文的格式,包括报文类型、报文长度、域名、IP地址等信息。
2. ARP协议分析(1)实验目的:了解ARP协议的工作原理,掌握ARP报文格式。
(2)实验步骤:① 在实验平台上配置好主机A和主机B。
② 在主机A上使用ping命令ping主机B的IP地址,观察ARP请求和响应报文。
③ 使用Wireshark抓包工具,捕获ARP请求和响应报文。
④分析ARP请求和响应报文的格式,包括硬件类型、协议类型、硬件地址、协议地址等信息。
3. IP协议分析(1)实验目的:了解IP协议的工作原理,掌握IP数据报格式。
(2)实验步骤:① 在实验平台上配置好主机A和主机B。
② 在主机A上使用ping命令ping主机B的IP地址,观察IP数据报传输过程。
③ 使用Wireshark抓包工具,捕获IP数据报。
④ 分析IP数据报的格式,包括版本、头部长度、服务类型、总长度、生存时间、头部校验和、源IP地址、目的IP地址等信息。
四、实验结果与分析1. DNS协议分析结果:通过实验,我们了解到DNS协议在域名解析过程中的作用,以及DNS查询和响应报文的格式。
DNS协议通过查询和响应报文,实现域名到IP地址的转换,从而实现网络设备之间的通信。
判断本地dns解析问题的方法
判断本地dns解析问题的方法
一、检查 DNS 的服务器配置
1. 检查客户端 DNS 设置
查看客户端的 DNS 配置,一般在操作系统的网络设置中可以看到,是否设置正确;
2. 检查路由器 DNS 设置
如果客户端使用的是路由器提供的 DHCP 动态绑定 DNS 服务器,需要检查路由器是否已经配置了正确的 DNS 服务器地址;
3. 检查 DNS 服务器配置
如果使用的是本地 DNS 服务器,则需要检查 DNS 服务器的配置,是否添加了正确的域名与IP 地址映射,并能够正确解析;
二、检查 DNS 查询请求
1. 查看 DNS 请求
在客户端执行 ping 或 nslookup 时,可以检查 DNS 请求是否
正确;
2. 启用 Wireshark 进行抓包
最直接的方法就是启用 Wireshark 对客户端到 DNS 服务器的
请求进行抓包,查看是否有请求发出去,以及 DNS 服务器的响应是
否正确;
3. 查看 DNS 服务器日志
可以查看 DNS 服务器的日志,以查看客户端的 DNS 请求是否成功发出。
三、其他方法
1. 尝试更换一台能够正确解析域名的客户端,看看是不是客户端的问题;
2. 尝试在不同的网络环境(不同的网络)下测试,以判断是不是网络问题;
3. 尝试更换 DNS 服务器,以排查 DNS 服务器的问题;
4. 检查本地的防火墙设置,看看是不是由于防火墙的影响。
抓包分析
抓包分析抓包分析是一种网络安全领域中常用的技术,通过对网络通信数据包进行捕获和分析,可以获取到详细的网络通信信息,从而进行网络故障诊断、性能优化和安全策略制定等工作。
本文将从抓包分析的基本原理、常见应用场景和具体操作步骤等方面进行阐述,以帮助读者全面了解和掌握这一技术。
首先,抓包分析的基本原理是通过在网络中设置抓包工具,捕获经过该设备的网络数据包,并对捕获到的数据包进行解析和分析。
常见的抓包工具包括Wireshark、tcpdump等,它们可以在各种操作系统环境下运行,并支持多种网络协议的解析。
抓包分析的过程可以分为捕获、过滤、解析和显示等几个步骤,通过这些步骤的协同作用,可以获取到网络通信的各种信息。
抓包分析在网络故障诊断中起到了重要的作用。
当网络出现故障时,我们可以通过抓包分析来确定故障出现的具体位置和原因,进而采取相应的措施进行修复。
例如,当用户无法访问某个特定的网站时,我们可以使用抓包工具捕获用户与该网站之间的网络通信数据包,然后根据这些数据包的分析结果,找出导致无法访问的原因,可能是DNS 解析失败、网络连接超时等。
通过这些信息,我们可以有针对性地解决问题,提高网络的可用性和稳定性。
此外,抓包分析还可以应用于网络性能优化。
通过抓包分析,我们可以详细了解网络通信的各种性能指标,如延迟、丢包率、带宽利用率等,从而发现网络中的瓶颈并进行优化。
例如,在视频流传输过程中,如果发现网络丢包率较高,我们可以通过抓包分析找出丢包原因,可能是网络拥塞导致的,然后采取相应的措施进行调整,如增加带宽、调整传输协议等,从而提高视频传输的质量和稳定性。
针对抓包分析的具体操作步骤,我们可以根据具体的抓包工具来进行操作。
在Wireshark中,我们首先需要选择要进行抓包的网络接口,然后点击开始捕获按钮,Wireshark将开始捕获经过该接口的网络数据包。
捕获的数据包会以列表的形式显示出来,我们可以根据需要设置过滤条件,只显示符合条件的数据包。
Wireshark抓包分析实验
Wireshark抓包分析实验实验Wireshark抓包分析实验⼀、实验⽬的1、了解并会初步使⽤Wireshark,能在所⽤电脑上进⾏抓包2、了解IP数据包格式,能应⽤该软件分析数据包格式3、查看⼀个抓到的包的内容,并分析对应的IP数据包格式4、学会使⽤nslookup⼯具查询并分析Internet 域名信息或诊断DNS 服务器。
5、会⽤wireshark分析DNS协议。
对DNS协议有个全⾯的学习与了解。
⼆、实训器材1、接⼊Internet的计算机主机;2、抓包⼯具WireShark。
三、实验内容(⼀)IP包分析实验1、打开wireshark,选择接⼝选项列表。
或单击“Capture”,配置“option”选项。
2、设置完成后,点击“start”开始抓包,显⽰结果。
3、选择某⼀⾏抓包结果,双击查看此数据包具体结构。
4、查看IP数据报。
[1]写出IP数据报的格式。
[2]捕捉IP数据报的格式图例。
[3]记录IP数据报包的所有域,针对每⼀个域所代表的含义进⾏解释。
(⼆)DNS协议分析实验1、启动WireShark,并开始抓包。
2、在命令⾏运⾏nslookup 发现成都⼤学或其他单位官⽅DNS服务器。
nslookup /doc/cd9178b4f46527d3250ce03a.html /3、停⽌抓包4、显⽰过滤DNS包,查看其请求包和响应包的运输层协议是UDP 还是TCP,DNS请求包的⽬的端⼝及DNS响应包的源端⼝号分别是多少,DNS 请求包是发往哪个地址的,⽤ipconfig查看你的本地DNS服务器的IP地址,判断它们是否相同。
5、查看接下来你的主机发出的⼀些TCP SYN 包,其中的⽬的IP地址是否有刚才DNS应答包中的IP地址?Wireshark抓包分析实验报告⼀.实验⽬的1.了解并初步使⽤Wireshark,能在所⽤电脑上进⾏抓包。
2.了解IP数据包格式,能应⽤该软件分析数据包格式。
3.查看⼀个抓到的包的内容,并分析对应的IP数据包格式。
用协议分析工具分析DNS以及各层协议的工作机制
用协议分析工具分析DNS以及各层协议的工作机制协议分析工具是网络工程师和安全分析师常用的工具,它能够帮助他们深入理解网络协议的工作机制,并能够检测、分析和解决网络中的问题。
在本文中,我们将以DNS协议为例,介绍如何使用协议分析工具来分析DNS以及其他各层协议的工作机制。
首先,让我们了解一下DNS协议的工作机制。
DNS(Domain Name System)是互联网上的一种分布式数据库系统,它将域名映射到IP地址。
DNS协议使用UDP和TCP作为传输层协议,在应用层使用DNS查询和回答消息格式来进行通信。
要分析DNS协议的工作机制,可以使用诸如Wireshark等协议分析工具。
Wireshark是一种功能强大的协议分析工具,它能够在网络上捕获和分析数据包,并显示出每个数据包中的详细信息。
要分析DNS协议,我们可以首先使用Wireshark在网络上捕获DNS数据包。
然后,我们可以选择特定的DNS数据包进行分析。
在Wireshark中,我们可以使用过滤器来选择特定协议的数据包。
例如,我们可以输入“dns”作为过滤器,来过滤并显示出仅包含DNS协议的数据包。
一旦我们捕获了DNS数据包,并选择了要分析的数据包,我们可以查看其详细信息。
在Wireshark中,我们可以展开每个数据包的分层结构,以显示它们的各个字段和值。
通过查看这些字段和值,我们可以了解DNS消息的各个部分,如标识符、查询类型、查询结果等。
此外,我们还可以使用Wireshark中的其他功能来进一步分析DNS数据包的工作机制。
例如,Wireshark提供了一个统计功能,可以显示DNS查询和回答的数量、类型和响应时间。
我们可以使用这些统计数据来分析DNS服务器的性能和网络延迟问题。
除了DNS协议,协议分析工具还可以用于分析其他各层协议的工作机制,如TCP、IP、以太网等。
通过使用协议分析工具,我们可以捕获和分析这些协议在网络中的数据包,并深入了解它们的各个字段和值。
dns协议与抓包分析
竭诚为您提供优质文档/双击可除dns协议与抓包分析篇一:dns协议与抓包分析1.dns全称为domainnamesystem,中文为计算机域名系统,它是由解析器和域名服务器组成的,域名服务器是指保存有该网络中所有主机的域名和对应ip地址,并具有将域名转换为ip地址,并具有将域名转换为ip地址功能的服务器的服务器。
其中域名必须对应一个ip地址,而ip地址不一定有域名。
将域名映射为ip地址的过程就称为“域名解析”。
在internet上域名与ip地址之间是一对一(或者多对一)的,域名和ip地址之间的转换过程称为域名解析,域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。
dns 命名用于internet等tcp/ip网络中,通过用户友好的名称查找计算机和服务。
域名的最终指向是ip2.dns解析过程(1)当客户机提出查询请求时,首先在本地计算机的缓存中查找,如果在本地无法查询信息,则将查询请求发给dns服务器(2)首先客户机将域名查询请求发送到本地dns服务器,当本地dns服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则进行此记录进行解析,如果没有区域信息可以满足查询要求,服务器在本地缓存中查找(3)如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名dns服务器(4)根域名服务器负责解析客户机请求的根域名部分,它将包含下一级域名信息的dns服务器地址地址返回给客户机的dns服务器地址(5)客户机的dns服务器利用根域名服务器解析的地址访问下一级dns服务器,得到再下一级域名的dns服务器地址(6)按照上述递归方法逐级接近查询目标,最后在有目标域名的dns服务器上找到相应ip地址信息(7)客户机的本地dns服务器将递归查询结构返回客户机(8)客户机利用从本地dns服务器查询得到的ip访问目标主机,就完成了一个解析过程(9)同时客户机本地dns服务器更新其缓存表,客户机也更新期缓存表,方便以后查询3.dns处于ip分层结构的应用层,是一种应用层协议,dns协议数据单元封装在udp数据报文中,dns服务器端使用公用端口号为53(使用udp协议0x11)4.dns协议报文结构:该报文是由12字节的首部和4个长度可变的字节组成标识字段:占用两个字节,由客户程序设置,并由服务器返回结果opcode:4bits字段,通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)aa:1bits标志表示授权回答(authoritiveanswer),该名字服务器是授权于该领域的tc:1bits字段,表示可截(truncated),使用udp时,它表示当应答的总长度超过512字节时,只返回前512个字节Rd:1bits字段,表示期望递归,该比特能在一个查询中设置,并在一个响应中返回,这个标志告诉名字服务器必须处理这个查询,也称为一个递归查询,如果该位为0,且被请求的名字服务器没有一个授权回答,它就返回一个能解答该查询的其他名字服务器列表,这称为迭代查询(期望递归)Ra:1bits字段,表示可用递归,如果名字服务器支持递归查询,则在响应中将该bit置为1(可用递归)zero:必须为0rcode:是一个4bit的返回码字段,通常值为0(没有差错)和3(名字差错),名字差错只有从一个授权名字服务器上返回,它表示在查询中指定的域名不存在随后的4个bit字段说明最后4个变长字段中包含的条目数,对于查询报文,问题数通常是1,其他三项为0,类似的,对于应答报文,回答数至少是1,剩余两项可以使0或非05.dns查询报文中每个查询问题的格式查询类:通常值为1,表示是互联网的地址,也就是ip 协议族的地址查询类型:有很多种查询类型,一般最常用的查询类型是a类型(表示查找域名对应的ip地址)和ptR类型(表示查找ip地址对应的域名)查询名为要查找的名字,它由一个或者多个标示符序列组成,每个标示符已首字符字节数的计数值来说明该表示符长度,每个名字以0结束,计数字节数必须是0~63之间,该字段无需填充字节,如:6.dns响应报文中的资源记录格式:域名:记录中资源数据对应的名字,它的格式和查询名字段格式相同类型:类型说明RR的类型码,类通常为1,指internet 数据生存时间:客户程序保存该资源记录的秒数资源数据长度:说明后面资源数据的数量,该数据的格式依赖于类型字段的值,对于类1(a记录)记录数据室4字节的ip地址资源数据:服务器端返回给客户端的记录数据7.数据包dns查询(dnsquery)8.数据包dns响应(dnsResponse)9.aRpa域的作用:10.根据in-arpa.arpa,我们可以根据ip地址解析对应的域名,在dns的服务器中,将要解析的点分十进制的ip地址反过来写,然后将该域名根在这个反写的ip地址的后面就形成了一个反向查询域,然后客户端就可以根据该ip地址来解析对应的域名了11.ddns(即所谓的动态dns)工作原理:(1)client端每次开机或者是重新拨号后,获取一个新的ip之后,会向dnsserver端提出ip和域名更新要求,希望server端变更域名与ip的对应关系(2)server端接受client端要求之后,会去查询client 提供的账号密码是否正确,正确之后会立即修改server本身对于你的主机名称的设定值12.篇二:利用wireshark分析dns协议实验七利用wireshark分析dns协议一、实验目的分析dns协议二、实验环境与因特网连接的计算机,操作系统为windows,安装有wireshark、ie等软件。
利用WireShark进行DNS协议分析
利⽤WireShark进⾏DNS协议分析⼀.准备⼯作系统是Windows 8.1Pro分析⼯具是WireShark1.10.8 Stable Version使⽤系统Ping命令发送ICMP报⽂.⼆.开始⼯作打开CMD.exe键⼊:ping 将⾃动进⾏域名解析,默认发送4个ICMP报⽂.启动Wireshark,选择⼀个有效⽹卡,启动抓包.在控制台回车执⾏完毕后停⽌监控.三.分析阶段截获的所有报⽂如下:总得来看有两个DNS包(⼀次域名解析),和8个ICMP包(四次ping)下⾯开始分析DNS的⼯作过程:打开第⼀个包:可以发现DNS为应⽤层协议,下层传输层采⽤UDP,再下层⽹络层是IP协议,然后是数据链路层的以太⽹帧.需要关注的是应⽤层的实现也即DNS协议本⾝.在此之前,可以从下层获得⼀些必要信息:UDP(User Datagram Protocol)报⽂中:DNS的⽬的端⼝(Dst Port)是53IPv4(Internet Protocol Version 4)报⽂中⽬的IP是192.168.1.1(局域⽹路由器)由于IP报⽂在⽹络层进⾏路由选择,他会依次送给路由器⽽不是直接送给DNS服务器,这⼀点也⼗分容易理解,第⼀个包是请求包,不可能直接包含DNS服务器地址.展开DNS数据:第⼀个是Transaction ID为标识字段,2字节,⽤于辨别DNS应答报⽂是哪个请求报⽂的响应.第⼆个是Flags标志字段,2字节,每⼀位的含义不同,具体可以参考上⾯那个图,也可以看下⾯这个图:QR: 查询/响应,1为响应,0为查询Opcode: 查询或响应类型,这⾥0表⽰标准,1表⽰反向,2表⽰服务器状态请求AA: 授权回答,在响应报⽂中有效,待会⼉再看TC: 截断,1表⽰超过512字节并已被截断,0表⽰没有发⽣截断RD: 是否希望得到递归回答RA: 响应报⽂中为1表⽰得到递归响应zero: 全0保留字段rcode: 返回码,在响应报⽂中,各取值的含义:0 - ⽆差错1 - 格式错误2 - 域名服务器出现错误3 - 域参照问题4 - 查询类型不⽀持5 - 被禁⽌6 ~ 15 保留紧接着标志位的是Quetions(问题数),2字节,通常为1Answer RRs(资源记录数),Authority RRs(授权资源记录数),Additional RRs(额外资源记录数)通常为0字段Queries为查询或者响应的正⽂部分,分为Name Type ClassName(查询名称):这⾥是ping后的参数,不定长度以0结束Type(查询类型):2字节,这⾥是主机A记录.其各个取值的含义如下:值助记符说明1 A IPv4地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCP/IP原理与应用课程作业一对DNS域名系统的抓包分析姓名:XXX学号:XXXXXXXXXX学院:计算机科学与工程一、实验目的通过网络抓包试验,深刻理解TCP/IP协议簇中DNS域名系统的使用方式与报文具体格式与含义,加强对课程的理解与应用。
二、相关原理2.1 DNS的定义DNS 是域名系统(Domain Name System) 的缩写,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
其中域名必须对应一个IP地址,而IP地址不一定有域名。
域名系统采用类似目录树的等级结构。
域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。
将域名映射为IP地址的过程就称为“域名解析”。
在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
DNS 命名用于Internet 等TCP/IP 网络中,通过用户友好的名称查找计算机和服务。
当用户在应用程序中输入DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如IP 地址。
因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。
其实,域名的最终指向是IP。
2.2 DNS的构成在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在0~255之间。
因为,8个二进制数转化为十进制数的最大范围就是0~255。
现在已开始试运行、将来必将代替IPv4的IPV6中,将以128位二进制数表示一个IP地址。
2.3 DNS的查询DNS查询可以有两种解释,一种是指客户端查询指定DNS服务器上的资源记录(如A记录),另一种是指查询FQDN名的解析过程。
一、查询DNS服务器上的资源记录您可以在Windows平台下,使用命令行工具,输入nslookup,返回的结果包括域名对应的IP地址(A记录)、别名(CNAME记录)等。
除了以上方法外,还可以通过一些DNS查询站点如国外的国内的查询域名的DNS信息。
二、FQDN名的解析过程查询若想跟踪一个FQDN名的解析过程,在Linux Shell下输入dig www +trace,返回的结果包括从跟域开始的递归或迭代过程,一直到权威域名服务器。
2.4 DNS的报文格式DNS报文的首部:DNS报文首部的后面是可变部分,包括四个小部分。
问题部分由一组问题记录组成。
图2-4 DNS报文问题记录格式DNS报文的其余三个部分是回答部分、授权部分和附加信息部分,附加信息包含回答部分和授权部分返回的资源所要求的附加信息(如IP地址)。
这三部分均由一组资源记录组成,而且仅在应答报文中出现。
一条资源记录描述一个域名。
三、结合具体抓包实例进行的分析3.1协议数据包窗口从包到达的时间,顺序以及源和目的IP地址可知,这是一对DNS请求与应答报文。
下图为1号包与2号包中DNS段的报文分析注释,由此可证明,包1为DNS 请求报文,包2为包1的应答报文,请求与应答报文的到达间隔时间为0.022177000s,它们的标识字段都为0xf03aH,用于相互匹配。
因为DNS请求报文的目的是请求的IP地址,故包1的源IP地址为本机IP,目的IP地址为DNS服务器的IP,包2与包1相反。
3.2协议树窗口DNS请求报文:DNS应答报文:可以看出,DNS请求报文与应答报文链路层的MAC地址相反,请求报文中的源物理地址为本机的物理地址,这与IP地址相对应。
此外,DNS请求报文与应答报文传输层中UDP的源端口与目的端口相反,其中请求报文UDP的源端口为客户机动态申请的本地端口,目的端口为DNS所固有的53号周知端口。
这两点都体现了DNS请求报文与应答报文间的请求-应答关系。
DNS请求报文与应答报文协议树窗口显示的协议层次与网络协议的层次对应相DNS请求报文:DNS应答报文:以上两张图分别给出了DNS请求报文与应答报文的时间参数、包号、长度与协议层次,在此不一一细说。
但是,我们可以很清楚的看出,DNS请求报文的长度为72字节,而应答报文的长度为156字节,比请求报文长得多。
这是由于在DNS 应答报文中,具有请求报文所没有的回答部分、授权部分与附加部分,在下面的应答报文分析中会具体说明。
3.4数据链路层节点DNS请求报文:DNS应答报文:由上图可以更明显的看出,DNS请求与应答报文的源与目的MAC地址的相反现象。
此外,DNS请求与应答报文以太网协议中的类型均为IP,即在DNS协议层次中网络层协议为IP,这体现了DNS作为TCP/IP协议簇中协议的特点。
3.5 IP节点DNS请求报文:DNS应答报文:DNS请求与应答报文IP层相同点:版本号:IPv4首部长度:20字节,没有其他选项服务类型:最低优先级的一般服务片偏移:0,无分片协议标识:UDP(0x11H)DNS请求与应答报文IP层不同点:数据报长度:上文已有分析。
标识不同,因为请求与应答为两个不同的报文,信源机给予的用于区分分片的标识不同。
生存时间不同,请求报文为64,应答报文为60。
校验和不同,DNS请求与应答报文IP层首部不同,故校验和不同。
源与目的IP地址不同,原因在前面的分析中已经说明。
3.6 UDP节点DNS请求报文:DNS应答报文:DNS请求与应答报文的源与目的端口相反,原因在前面的分析中已经说明。
请求报文UDP长度为38字节,应答报文UDP长度为122字节。
3.7DNS节点3.7.1DNS请求报文首部:标识字段:0xf03aH,用于匹配请求与响应标志字段:0x0100HQR:0,为请求报文OpCode:0000(0),标准查询(正向解析)AA:0,此字段只在服务器的响应中有效,在上图中不显示TC:0,报文没有被截断RD:1,请求服务器进行递归解析RA:0,此字段只在服务器的响应中有效,在上图中不显示3比特保留位:000rCode:0000,没有错误问题记录数:1回答记录数:0(DNS请求报文此字段为0)授权记录数:0(DNS请求报文此字段为0)附加信息记录数:0(DNS请求报文此字段为0)问题部分:询问名:可变长,在此为14字节,由标号序列组成,每个标号前有一个字节指出该标号的字节长度,0长度表示名称结束。
具体表示:3www4soku3com0询问类型:A,数值为1,记录类型为IPv4地址,用于域名到IPv4地址的转换。
询问类:IN,数值为1,表示因特网协议。
3.7.2DNS应答报文首部:标识字段:0xf03aH,用于匹配请求与响应,此处与DNS请求报文相匹配。
标志字段:0x8180HQR:1,为应答报文OpCode:0000(0),标准查询(正向解析)(与请求报文相同)AA:0,回答的服务器是该域的授权服务器TC:0,报文没有被截断RD:1,请求服务器进行递归解析(与请求报文相同)RA:1,服务器支持递归解析(回应RD)3比特保留位:000rCode:0000,没有错误问题记录数:1回答记录数:1授权记录数:2附加信息记录数:2问题部分:与请求报文相同,即作为DNS请求报文的回答,DNS应答报文的问题部分就是请求报文的问题部分的拷贝。
回答部分:域名:0xC00CH,为指向问题部分询问名的指针,具体地址为00000000001100(二进制地址)类型:A,数值为1,记录类型为IPv4地址,用于域名到IPv4地址的转换。
类:IN,数值为1,表示因特网协议。
生存时间:15min资源数据长度:4字节资源数据:给出查询得到IP地址,211.151.50.103授权部分:在此部分中,授权由2条资源记录组成。
附加信息:在此部分中,附加信息仍由2条资源记录组成。
由于此处授权和附加信息含义基本一目了然,这里不进行赘述了,至此,本次DNS抓包实验的分析基本结束了,下面是本次实验的个人小结。
四、体会与小结经过本次对DNS域名系统的抓包实验的分析,我加深了对DNS域名系统的理解和掌握。
首先从DNS的含义上,DNS是由解析器和域名服务器组成的,其中,域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
它主要有主服务器和转发服务器两种形式。
在理解了DNS的含义后,我又对其具体构成进行了深入的掌握和理解。
本次实验,也让我对DNS的理解达到了理论与实际相结合的程度。
另外,我也通过实验初步掌握了软件Wireshark的使用,也让我感受到了亲自动手进行实验的乐趣,并充分提升了我对TCP/IP这门课程的学习兴趣。
相信在未来的学习生活中,我也将通过自己的努力,更好的掌握TCP/IP这门课程,并更多的讲理论运用于实际。