使用wireshark进行协议分析实验报告

深 圳 大 学 实 验 报 告

实验课程名称:             计算机网络                             

      实验项目名称:     使用wireshark进行协议分析                          

              

学院:计算机与软件学院  专业:  计算机科学与技术      

        

      报告人:邓清津   学号:  2011150146   班级:   2     

       

      同组人:                                             

  

 指导教师:                 杜文峰                   

      实验时间:                2013/6/10                        

      实验报告提交时间:        2013/6/10                   

教务处制

一、实验目的与要求

学习使用网络数据抓包软件.学习使用网络数据抓包软件wireshark,并对一些协议进行分析。

二、实验仪器与材料

Wireshark抓包软件

三、实验内容

使用wireshark分析各层网络协议
1.HTTP协议
2.ARP协议,ICMP协议
3.IP协议
4.EthernetII层数据帧

为了分析这些协议,可以使用一些常见的网络命令。例如,ping等。

四、实验步骤

1、              安装Wireshark,简单描述安装步骤:

2、 打开wireshark,选择接口选项列表。或单击“Capture”,配置“option”

选项。

3.点击start后,进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。 

4. 开始分组捕获后,会出现如图所示的分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。

一、分析HTTP协议

1.在浏览器地址栏中输入某网页的URL,如:www.baidu.com。为显示该网页,浏览器需要连接www.baidu.com的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。 

2. 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。

3.点击其中一个http协议包

请求行:方法字段:GET,版本是http/1.1.

首部行:主机host:wp.mail.qq.com;

Connection:Keep-Alive,即保持持久连接;

Accept-language:zh-cn,即接收语言是中文。

二、使用wireshark分析ARP协议

1.在显示筛选编辑框中输入“arp”,单击“apply”,分组列表窗口将只显示ARP消息。

2.点击第一行,查看具体数据:

可以看出硬件类型(hardware type)是以太网(1),协议类型(protocol  type)为0x0800,表示使用ARP的协议类型为IPV4。硬件地址长度(hardware size)为6。协议地址长度(protocol size)为4。

发送方硬件地址(sender  MAC  address):78:84:3c:a0:30:58

发送方协议地址(Sender IP address):172.31.142.68 (172.31.142.68)

目的硬件地址(target MAC address)为00:00:00:00:00:00,表示是广播地址。

目的协议地址(target IP address)为172.31.142.72,定义目的设备的协议地址。

三、使用wireshark分析ICMP协议

1.在PC1运行Wireshark,开始截获报文,为了只截获和实验内容有关的报文,将Wireshark的Captrue Filter设置为“No Broadcast and no Multicast”;

2.在 PC1 以 www.sina.com.cn为目标主机,在命令行窗口执行 Ping 命令,要求ping通10次;

3.停止截获报文,抓包结果:(只显示ping的数据包)

4.  选择分组列表窗口中的第一条ICMP消息。

四、使用wireshark分析IP协议

1.在显示筛选编辑框中输入“ip”,单击“apply”,分组列表窗口将只显示IP消息。

2.  任取一个有IP协议的数据报

四、使用wireshark分析EthernetII层数据帧

1. 捕获数据帧并分析 , 启动网络协议分析仪在网络内进行捕获,获得若干以太网帧。

分析:

帧的编号:164;捕获1143比特 

以太网接收端地址:(f4:6d:04:f3:bf:a6)

发送地址: (38:22:d6:2b:9b:72)  

IP接收端地址:172.31.142.59

发送地址: 183.60.58.87

源端口:http(80)   

序列号:1 

应答号:1 

长度:1089字节

五、总结分析

通过此次实验,学会利用wireshark捕获数据包。并对各层网络协议(HTTP协议、ARP协议、ICMP协议、IP协议)等和EthernetII层数据帧上的数据包信息进行分析,知道了数据帧上信息的涵义。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

    2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

 

第二篇:实验一 应用协议与数据包分析实验(使用Wireshark)

《计算机网络》

实验报告

信息安全1201

吴淑珍

201208060122

20##年4月1日


1.  实验报告内容包括:实验目的、实验内容、实验程序和程序流程图、实验步骤、记录中间结果和最终结果。


实验一  应用协议与数据包分析实验(使用Wireshark)

一、实验目的

  通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。

二、实验内容

学习HTTP 协议,了解HTTP 的工作原理和HTTP 报文格式 。运行Wireshark,截获在浏览器访问web界面的报文,并根据截获的报文分析其格式与内容,进一步学习 HTTP 协议工作过程。

三、实验步骤

    步骤1:在PC 机上运行Wireshark,开始截获报文;

    步骤2:从浏览器上访问Web 界面,如http://www.163.com。打开网页,待浏览器的状态栏出现 “完毕”信息后关闭网页。

步骤3:停止截获报文,将截获的报文命名为http-学号保存。

步骤4:分析截获的报文。

四、实验结果

分析截获的报文,回答以下几个问题:

    1综合分析截获的报文,查看有几种HTTP 报文?

    答:两种,一种是请求报文,请求行方法为GET(有一个截去顶端的GET);另一种是响应报文。

    2在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文,仔细

分析它们的格式,填写表1.1 和表1.2。

                                  表1.1 HTTP 请求报文格式

                      

*GET方法首部行后面没有实体主体。

                                  表1.2 HTTP 应答报文格式                                

*实体主体部分为服务器发送给客户的对象。

***查找的资料

Content-Length用于描述HTTP消息实体的传输长度。在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。

在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则:

响应为1xx,204,304相应或者head请求,则直接忽视掉消息实体内容。

如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。

“如果head中有Content-Length,那么这个Content-Length既表示实体长度,又表示传输长度。如果实体长度和传输长度不相等(比如说设置了Transfer-Encoding),那么则不能设置Content-Length。如果设置了Transfer-Encoding,那么Content-Length将被忽视”。这句话翻译的有点饶,其实关键就一点:有了Transfer-Encoding,则不能有Content-Length。

通过服务器关闭连接能确定消息的传输长度。(请求端不能通过关闭连接来指明请求消息体的结束,因为这样可以让服务器没有机会继续给予响应)。这种情况主要对应为短连接,即非keep-alive模式。

HTTP1.1必须支持chunk模式。因为当不确定消息长度的时候,可以通过chunk机制来处理这种情况。

在包含消息内容的header中,如果有content-length字段,那么该字段对应的值必须完全和消息主题里面的长度匹配。

“The entity-length of a message is the length of the message-body before any transfer-codings have been applied”

也就是有chunk就不能有content-length 。

其实后面几条几乎可以忽视,简单总结后如下:

1、Content-Length如果存在并且有效的话,则必须和消息内容的传输长度完全一致。(如果过短则会截断,过长则会导致超时。)

2、如果存在Transfer-Encoding(重点是chunked),则在header中不能有Content-Length,有也会被忽视。

3、如果采用短连接,则直接可以通过服务器关闭连接来确定消息的传输长度。(这个很容易懂)

结合HTTP协议其他的特点,比如说Http1.1之前的不支持keep alive。那么可以得出以下结论:

1、在Http 1.0及之前版本中,content-length字段可有可无。

2、在http1.1及之后版本。如果是keep alive,则content-length和chunk必然是二选一。若是非keep alive,则和http1.0一样。content-length可有可无。

***   

3分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用

了哪几个端口号?

答:4个。服务器使用的端口是80,客户机的临时端口分别是1153、1168、1169、1177,接收到的响应报文号分别是383、818、819、862。

4 综合分析截获的报文,理解HTTP 协议的工作过程,将结果填入表1.3 中。

                                 表1.3 HTTP 协议工作过程

 

相关推荐