计算机网络与通信实验报告(二)学号姓名班级报告日期软件3班2013.4.21实验内容利用ethereal分别对TCP套接字的实现及UDP套接字的实现捕包分析实验目的1、分析HTTP协议2、分析DNS协议实验预备知识捕包软件的使用,以及报文段的解析,套接字编程。实验过程描述1、HTTPGET/response交互首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。(1)启动Webbrowser。(2)启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。(3)一分钟以后,开始Ethereal分组俘获。(4)在打开的Webbrowser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件):(5)停止分组俘获。2、HTTP条件GET/response交互(1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。(2)启动Ethereal分组俘获器。开始Ethereal分组俘获。(3)在浏览器的地址栏中输入以下URL:你的浏览器中将显示一个具有五行的非常简单的HTML文件。(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。(5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。根据操作回答“四、实验报告内容”中的7-10题。3、获取长文件(1)启动浏览器,将浏览器的缓存清空。(2)启动Ethereal分组俘获器。开始Ethereal分组俘获。(3)在浏览器的地址栏中输入以下URL:,浏览器将显示一个相当大的美国权力法案。(4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。根据操作回答“四、实验报告内容”中的11-14题。4、嵌有对象的HTML文档(1)启动浏览器,将浏览器的缓存清空。(2)启动Ethereal分组俘获器。开始Ethereal分组俘获。(3)在浏览器的地址栏中输入以下URL:,浏览器将显示一个具有两个图片的短HTTP文件(4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。根据操作回答“四、实验报告内容”中的15-16题。5、HTTP认证(1)启动浏览器,将浏览器的缓存清空。(2)启动Ethereal分组俘获器。开始Ethereal分组俘获。(3)在浏览器的地址栏中输入以下URL:,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:eth-students,密码:networks)。(4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。根据操作回答“四、实验报告内容”中的17-18题。6、跟踪DNSnslookup工具允许运行该工具的主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。其命令的一般格式是:nslookup–option1–option2host-to-finddns-serveripconfig命令用来显示你当前的TCP/IP信息,包括:你的地址、DNS服务器的地址、适配器的类型等信息。如果,要显示与主机相关的信息用命令:ipconfig/all如果查看DNS缓存中的记录用命令:ipconfig/displaydns要清空DNS缓存,用命令:ipconfig/flushdns运行以上命令需要进入MSDOS环境。(1)利用ipconfig命令清空你的主机上的DNS缓存。(2)启动浏览器,将浏览器的缓存清空。(3)启动Ethereal分组俘获器,在显示过滤筛选说明处输入“ip.addr==your_IP_address”(如:ip.addr==10.17.7.23),过滤器将会删除所有目的地址和源地址都与指定IP地址不同的分组。(4)开始Ethereal分组俘获。(5)在浏览器的地址栏中输入:(6)停止分组俘获。回答19-25题(7)开始Ethereal分组俘获。(8)在(即执行命令:nslookup)。(9)停止分组俘获。(10)重复上面的实验,只是将命令替换为:nslookup–type=NSmit.edu(11)重复上面的实验,只是将命令替换为:nslookup协议,我运行的是客户端,地址是172.29.128.39,对方运行的是服务器端ip地址是172.29.128.40UDP协议,我运行的是服务器端,对方运行的是客户端。(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?(2)你的浏览器向服务器指出它能接收何种语言版本的对象?(3)你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少?(4)从服务器向你的浏览器返回的状态代码是多少?(5)你从服务器上所获取的HTML文件的最后修改时间是多少?(6)返回到你的浏览器的内容以供多少字节?(7)分析你的浏览器向服务器发出的第一个HTTPGET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?否。(8)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?明确返回了,如下图:(9)分析你的浏览器向服务器发出的第二个“HTTPGET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?在第二个httpget请求中没有找到if-modified-since信息,但是在第三次有。(10)服务器对第二个HTTPGET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。状态码是:304,状态信息是NotModified,服务器没有明确返回文件内容。因为这只是一个get的响应,服务器只发送一个响应报文,不包含文件对象。3、(11)你的浏览器一共发出了多少个HTTPGET请求?(机房的机器)一个(12)承载这一个HTTP响应报文一共需要多少个data-containingTCP报文段?如图所示,共需四个TCP报文段。(13)与这个HTTPGET请求相对应的响应报文的状态代码和状态短语是什么?如图所示,状态码是:200,状态短语是OK。(14)在被传送的数据中一共有多少个HTTP状态行与TCP-induced“continuation”有关?如图所示对于一个大的html文件,被tcp分成四个相连的独立包。4、(15)你的浏览器一共发出了多少个HTTPGET请求?这些请求被发送到的目的地的IP地址是多少?四个,如图所示目的ip为128.119.245.12(16)浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。第一个图片无法显示,如果两个图片都显示了,且get请求和上图一样的话,应该是并行下载的,因为只有四个get请求。5、(17)对于浏览器发出的最初的HTTPGET请求,服务器的响应是什么(状态代码和状态短语)?最初的状态码是401,状态短语authorizationrequired。(18)当浏览器发出第二个HTTPGET请求时,在HTTPGET报文中包含了哪些新的字段?(19)定位到DNS查询报文和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的?可见是udp(20)DNS查询报文的目的端口号是多少?DNS查询响应报文的源端口号是多少?查询目的端口是53,响应报文的源端口号是22955(21)DNS查询报文发送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all)决定你主机的本地DNS服务器的IP地址。这两个地指相同吗?相同。(22)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?是A类型的查询,包含answer。(23)检查DNS查询响应报文,其中提供了多少个“answers”?每个answers包含哪些内容?提供了3个answers,其中answers的内容如图所示。(24)考虑一下你的主机发送的subsequent(并发)TCPSYN分组,SYN分组的目的IP地址是否与在DNS查询响应报文中提供的某个IP地址相对应?是。如图。(25)打开的WEB页中包含图片,在获取每一个图片之前,你的主机发出新的DNS查询了吗?没有。(26)DNS查询报文的目的端口号是多少?DNS查询响应报文的源端口号是多少?目的端口号是53,响应报文的源端口号也是53.(27)DNS查询报文发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?是,都是211.137.191.26(28)检查DNS查询报文,它是哪一类型的DNS查询?该查询报文中包含“answers”吗?为PTR类型的查询,包含answer。(29)检查DNS查询响应报文,其中提供了多少个“answers”?每个answers包含哪些内容?包含3个answers,内容如图。实验当中问题及解决方法1、实验中,在打开具有两个图片的网页时,第一个图片无法显示,后来到机房的电脑上操作效果一样。上网查显示,302状态码的意义是暂时转向到另外一个网址。2、实验中,在打开需要输入用户名和密码的网页时,输入的密码不正确,导致无法进入网页,输入三次后进入了页面。但捕包显示是401authorizationrequired信息,上网查也没有太明确的回答,只是说是浏览器错误。成绩(教师打分)优秀良好及格不及格