当前位置:文档之家› 基于wireshark的HTTP协议分析

基于wireshark的HTTP协议分析

长沙理工大学计算机与通信工程学院

《计算机网络》课程设计报告

学 院 计算机与通信工程 专 业 通信工程 班 级 通信1003班 学 号 201054080333 学生姓名 赵旋 指导教师 熊兵 课程成绩 完成日期 2013年7月11日

课程设计成绩评定

院系计算机与通信工程专业通信工程

班级1003 学号201054080333

学生姓名赵旋指导教师熊兵

指导教师对学生在课程设计中的评价

评分项目优良中及格不及格学习态度与遵守纪律情况

课程设计完成情况

课程设计报告的质量

指导教师成绩指导教师签字年月日

课程设计答辩组对学生在课程设计中的评价

评分项目优良中及格不及格课程设计完成情况

课程设计报告的质量

课程设计答辩

答辩组成绩答辩组长签字年月日

课程设计综合成绩

注:课程设计综合成绩=指导教师成绩×60%+答辩组成绩×40%

课程设计任务书

计算机与通信工程学院通信工程专业

课程名称计算机网络时间2013学年第二学期19~20周

学生姓名赵旋指导老师熊兵

题目基于wireshark的HTTP协议分析

主要内容:

1、利用wireshark软件进行抓包;

2、分析HTTP协议的数据包;

3、分析HTTP(Address Resolution Protocol)报文格式;

要求:

(1)掌握用wireshark软件的操作。

(2)按照要求来写课程设计报告,能够正确分析HTTP协议的内容。

应当提交的文件:

(1)课程设计报告。

基于Wireshark的HTTP协议分析

学生姓名:赵旋指导老师:熊兵

摘要本文通过协议分析工具Wireshark软件作为HTTP协议的设计平台,通过对连接网页时用Wireshark进行抓取协议,再过滤得到HTTP协议。并分析HTTP协议从而了解HTTP协议的数据包。通过此次课设了解并且学会使用Wireshark软件,学会如何利用Wireshark进行捕获抓包、过滤对协议进行分析,而且进一步掌握HTTP协议。

关键词Wireshark;数据包;HTTP协议

1 引言

经过计算机网络基础前面时间的学习,使我们对网络应用层的协议有了一定的了解。协议就像一门语言,需要定义语法、语意和语序(时序、同步)。语法即为协议的具体格式;语意定义了具体格式中具体指代,比如说,空一行后的数据表示为数据字段;就目前说掌握的只是而言,我对语序的理解还不是很清楚,这里就不加赘述。

下面将主要从应用层的协议出发,利用我们所学习过的知识,对不同的应用请求响应过程进行分析,探究在不同网络工作环境下网络协议的变化。

1.1 课程设计目的

(1) 熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。

(2) 通过对WireShark抓包实例进行分析,进一步加深对常用网络协议的理解,如DNS和HTTP协议。

(3) 培养理论联系实践的科学研究精神。

1.2 实验方法

(1)利用Wireshark软件抓取本地PC的数据包,观察其主要使用的网络协议。

(2)根据所获数据包的内容分析相关协议,从而加深对HTTP网络协议的理解。

2 基本原理

2.1 协议简介

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW

服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

HTTP协议的主要特点可概括如下:

(1) 支持客户/服务器模式。

(2) 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

(3) 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

(4) 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时

间。

(5) 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。

1、请求报文

图 2.1 请求报文结构

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

(1)请求行

请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。

GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET 方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。

POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法

将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。

(2)请求头部

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:User-Agent:产生请求的浏览器类型。

Accept:客户端可识别的内容类型列表。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

(3)空行

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。

(4)请求数据

请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。

2、HTTP响应报文

图 2.2 响应报文结构

HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。

状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务

器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

1xx:指示信息--表示请求已接收,继续处理。

2xx:成功--表示请求已被成功接收、理解、接受。

3xx:重定向--要完成请求必须进行更进一步的操作。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务器端错误--服务器未能实现合法的请求。

常见状态代码、状态描述的说明如下。

200 OK:客户端请求成功。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate 报头域一起使用。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

500 Internal Server Error:服务器发生不可预期的错误。

503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

2.2 wireshark简介

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark主要应用于网络管理员用来解决网络问题,网络安全工程师用来检测安全隐患,网络管理员用来解决网络问题,用来学习网络协议。Wireshark不是入侵侦测软件(Intrusion DetectionSoftware,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。网络分析也被称为流量分析、协议分析、嗅探、数据包分析或者窃听。网络分析器可以是一个配有专用软件的独立硬件设备,也可以是一种安装在PC机上的软件工具。网络分析器有开源和商用两种,不同之处在于它们所支持的协议种类、用户接口、图表及统计功能,以及数据包的解

码的质量。而Wireshark正是一种开源的网络分析器。

3 设计步骤3.1课程设计步骤

(1)启动WireShark。

图 3.1 wireshark启动界面

(2)启动PC上的chrome浏览器。

图3.2 启动chrome浏览器

(3) 开始分组捕获:选择“抓包”下拉菜单中的“抓包参数选择”命令,在WireShark:“抓包选项”窗口中可以设置分组捕获的选项。

图3.3选项

(4) 在这次实验中,使用窗口中显示的默认值。选择“抓包”下拉菜单中的“网络接口”命令,显示计算机中所安装的网络接口(即网卡)。我们需要选择电脑真实的网卡,点击后显示本机的IP地址。

(5) 随后,点击“开始”则进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。

图3.4 抓包选项设置

(6) 待捕获一段时间,关闭浏览器,选择主窗口中有的“stop”按钮,可以停止分组的捕获。

图3.5 结束按钮

3.2 抓包并分析过程

这次实验通过分析打开谷歌主页来分析http协议的作用。

在filter中输入http进行筛选。

wireshark所抓的含有http请求报文的帧:

图3.6 打开谷歌主页抓到的HTTP包

对打开谷歌网页这个事务进行分析:在浏览器中输入谷歌主页地址,敲击回车的过程中,浏览器向DNS请求解析https://www.doczj.com/doc/9815364576.html,的IP地址。域名系统DNS 解析出谷歌服务器的IP地址为173.194.72.199在这个过程中本机IP 10.10.22.75。然后浏览器与服务器建立TCP连接(服务器端的IP地址为173.194.72.199,端口是80)。然后浏览器发出取文件命令:GET /webhp?hl=zh-CN&sourceid=cnhp HTTP/1.1\r\n。服务器给出响应把文件(text/html)发送给浏览器,浏览器显示

text/html中的所有文本。浏览器下载网页文本内容,网页文本中标记着图片、CSS 文件和Flash等等。在这次课程设计中谷歌主页还包括谷歌logo图片和其他一些内容,浏览器分析出这些内容后开4个线程对这些内容进行下载,分别向服务器发送请求报文,服务器接收到内容后根据HTTP协议发送响应报文。所有的内容下载完毕时候浏览器会显示全部内容,一个完整的谷歌主页就这样打开了。3.3 分析HTTP报文

下面是根据时间顺序给抓到的包编号为1到8。

图3.6 第1个包

分析:本地PC机(IP地址为10.10.22.75)中的浏览器向谷歌的服务器(IP地址为173.194.72.199)请求服务时,先和校园网代理服务器建立TCP连接,并向代理服务器发出HTTP请求报文,请求服务器发送文本文件。

代码分析:

GET /webhp?hl=zh-CN&sourceid=cnhp HTTP/1.1\r\n //请求目标Host:https://www.doczj.com/doc/9815364576.html, //目标所在的主机

Connection:keep-alive //激活连接Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 //用户代理,浏览器的类型是chrome浏览器;括号内是相关解释

X-Chrome-Variations:

CLS1yQEIkbbJAQihtskBCKO2yQEIp7bJAQiptskBCLm2yQEI/IPKAQibhMoB Accept-Encoding:gzip,deflate,sdch //可接受编码,文件格式

Accept-Language:zh-CN,zh;q=0.8 //语言中文

Accept-Charset:GBK,utf-8;q=0.7,*;q=0.3 //告诉服务器,客户端提交的表单可能使用的编码

Cookie:

NID=67=FFrU7T8-DNJkzwhsGzijolp09lzBgCLKCRzVNkZRrfsoTT2-aTJFjxZ9dW gebP_mDb_DAt6tYahSqydnDLk0gW5vP47JC7Xhj-183NqQxUGUnb3dZHh71-We AabsKurvndnGPPa3MdY; PREF=ID=1c5991ad66b47581:U=4e3bc9a43161a8a2:FF=2:LD=zh-CN:NW=1:TM=1330947425:LM=1372979082:

S=zO71aH_kzkhNciIQ //允许站点跟踪用户,cookieID是1c5991ad66b47581

图3.7 第2个包

分析:由状态栏的200代码可知,谷歌服务器(IP地址为173.194.72.199)成功接收到我们本地发送的请求报文,向IP地址为10.10.22.75的本地发送响应报文,把文件发送给浏览器。根据报文内容可以知道更多的关于文档的信息。

代码分析:

HTTP/1.1 200 OK\r\n //状态行,成功

Date:Fri, 05 Jul 2013 04:19:16 GMT\r\n //响应信息创建的时间

Expires:-1\r\n //设置内容过期时间

Cache-Control:private, max-age=0\r\n

Content-Type:text/html; charset=UTF-8\r\n //内容类型:文本

Content-Encoding:gzip\r\n //内容编码

Server:gws\r\n //服务器

X-XSS-Protection:1; mode=block\r\n //X-XSS防护

X-Frame-Options:SAMEORIGIN\r\n

Transfer-Encoding:chunked\r\n //分块传输编码

\r\n

HTTP chunked response

Line-based text data:text/html //对所传文本信息(基于html)的描述

图3.8 第3个包

分析:第二个包中抓到的包中的文本文档中有标记还要继续下载的内容,本地服务器再次发送请求报文向谷歌服务器请求下载文件,由请求行可以看出请求的是一张png格式的图片,应该是谷歌主页的logo。

代码分析:

GET /textinputassistant/tia.png/1.1\r\n //请求目标是一张格式为png的图片

Host:https://www.doczj.com/doc/9815364576.html, //目标所在的主机

Connection:keep-alive //激活连接

Accept:*/*

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 //用户代理,浏览器的类型是chrome浏览器;括号内是相关解释

X-Chrome-Variations:CLS1yQEIkbbJAQihtskBCKO2yQEIp7bJAQiptskBCLm2yQEI/IPKAQibhMoB Accept-Encoding:gzip,deflate,sdch //可接受编码,文件格式

Accept-Language:zh-CN,zh;q=0.8 //语言中文

Accept-Charset:GBK,utf-8;q=0.7,*;q=0.3 //告诉服务器,客户端提交的表单可能使用的编码

Cookie://允许站点跟踪用户

图3.9 第4个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,相应的的向本地发出响应报文并把图像文件发送给了本地。响应报文中有关于图片的一些信息记录。

代码分析:

HTTP/1.1 200 OK\r\n //状态行,成功

Content-Type:image/png\r\n //内容类型:图像格式为png

Last-modified:mon,02 Apr 2012 02:13:37 GMT\r\n //上一次修改时间Date:Fri, 05 Jul 2013 04:19:16 GMT\r\n //响应信息创建的时间

Expires:Thu, 03 Ju1 2014 21:21:50\r\n //设置内容过期时间

Server:sffe\r\n //服务器sffe

Content-length:387\r\n //内容长度

X-XSS-Protection:1; mode=block\r\n //X-XSS防护

Portable network Graphics //对所传图片信息的描述

下面一并分析第5和第六个包。

图3.10 第5个包

图3.11 第6个包

分析:本地连续向谷歌服务器发送了两个请求报文,是因为在第二个包接收后在网页文本文档中标记的图片,音乐等多媒体文档都有标记在里面,浏览器分析出这些内容后对这些内容进行并行下载。

图3.12 第7个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,204 No Content 没有新文档,浏览器应该继续显示原来的文档。

重要代码分析:

HTTP/1.1 204 no Content\r\n //没有需要更新的内容

图3.13 第8个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,相应的的向本地发出响应报文并把文本文件发送给了本地。响应报文中有关于内容编码、内容类型、上次修改时间、创建日期、以及期限的记录上面包的的分析中都有提到,不再赘述。这个文本文件是基于javascript脚本的,详细内容都有具体给出。

重要代码分析:

Line-based text data:text/javascript //对所传文本信息(基于javascript脚本)的描述

最后,通过HTTP协议向谷歌服务器请求谷歌主页的万维网文档,服务器通过HTTP协议把文档传送给浏览器,浏览器下载完所有内容后把所有内容显示到浏览器上面,从而在浏览器上打开了谷歌网站的主页。

4 结束语

经过本次实验的我学会了如何使用WireShark进行基本的数据的抓取,以及对数据包的简单分析,加深了对常用网络协议HTTP的理解,顺便也理解了DNS 协议,对TCP和UDP的报文结构有了更多的了解。

由于自身能力和时间的限制,对更加细节的流程把握的不是很好,希望能够随着今后对课程体系更深入的学习能有进一步的改进。同时,此次课程设计也让我看到了自己的不足,自己对本专业的相关知识掌握的还很少,还有很多知识都没掌握,还让我认识到解决问题的方法、途径很多做事要开阔自己的思维,看待问题要从多个角度看。

最后,感谢熊兵老师的悉心指导和同学的帮助!在熊老师的耐心指导下,我从原理到实践都理解通透。老师严谨求实的治学态度、踏实坚韧的工作精神将使我终生受益。非常感谢老师的知道与教诲。

参考文献

[1] 谢希仁.计算机网络.北京:电子工业出版社, 2011:239-246

[2] 陈鸣译.计算机科学网络自顶向下的方法(第4版),2001-9-6

[3] 计算机网络管理.西安电子科技大学出版社,2009:250-280

[4] 罗小嘉.学习用wireshark进行抓包分析.2009

wireshark分析tcp协议

WireShark分析TCP协议 韩承昊3172700 摘要: 利用wireshark分析TCP协议的报文,和其基本行为,包括三 次握手,中间信息的交互,和最后的断开连接。其中通过中间信息的交互,可以看出TCP的累积式确认。 一:基本TCP报文分析 我们来看一个简单的TCP报文,现在蓝字选中的是源端口号,

我们可以看到在这个报文中是14065,下面对应的是相应的二进制代码,我们可以看到的确是16bit。紧随其后的16bit就是目的端口号。 下面是序号,Sequence number: 1169。接下来的32bit是确认号,Acknowledgement number: 19353。再后面是首部长度,Header length: 20 bytes,和未用的3bit数据。 0= Urgent:Not set,1=Acknowledgement: set,0= Push:Not set,0= Reset:Not set,0= Syn:Not set,0= Fin:Not set,这些表示的是一些标识位,是URG紧急标识,ACK确认标识,PSH推送标识,RST、SYN、FIN用于建立和结束连接。window size value:65535 表示接收窗口。 二:三次握手分析 三次握手的第一步,客户机端会向服务器端发送一个特殊的TCP报文段,这个报文段的SYN被置为1,并会发送一个起始序号seq。

我们看到SYN为1,且Sequence number=0,这样,面对这样的请求报文段,服务器听该返回一个SYN=1,返回自己的初始seq,并且要求主机发送下一个报文段的序号,ack=1。下面是服务端实际返回的报文。 正如我们所期待的那样,服务器返回了自己的seq=0,并且要求主机端发送下一个报文段,并且SYN=1。这样主机端就应该返回seq=1,ack=1,要求服务端发送下一个报文,并且SYN=0,结束建立连接阶段,结束三次握手。

实验使用Wireshark分析

实验六使用W i r e s h a r k分析U D P 一、实验目的 比较TCP和UDP协议的不同 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、打开两次TCP流的有关跟踪记录,保存在中,并打开两次UDP流中的有关跟踪文件。如图所示: 图1:TCP 流跟踪记录 图2:UDP流跟踪记录 2、分析此数据包: (1)TCP传输的正常数据: 文件的分组1到13中显示了TCP连接。这个流中的大部分信息与前面的实验相同。我们在分组1到分组3中看到了打开连接的三次握手。分组10到分组13显示的则是连接的终止。我们看到分组10既是一个带有FIN标志的请求终止连接的分组,又是一个最后1080个字节的(序号是3921—5000)的重传。 TCP将应用程序写入合并到一个字节流中。它并不会尝试维持原有应用程序写人的边界值。我们注意到TCP并不会在单个分组中传送1000字节的应用程序写入。前1000个字节会在分组4种被发送,而分组5则包含了1460个字节的数据-----一些来自第二个缓冲区,而另一些来自第三个缓冲区。分组7中含有1460个字节而分组8中则包含剩余的1080个字节。(5000-0=1080) 我们注意到实际报告上的秒是从初始化连接的分组1开始到关闭连接的分组10结束。分组11—13未必要计入接收端应用程序的时间内,因为一旦接收到第一个FIN,TCP层便马上发送一个关闭连接的信号。分组11—13只可能由每台计算机操作系统得TCP层后台传输。 如果我们注意到第一个包含数据的分组4和最后一个分组8之间的时间,我们就大约计算出和由UDP接收端所报告的秒相同的时间。这样的话,增加TCP传输时间的主要原因就是分组10中的重传。公平的说,UDP是幸运的,因为它所有的分组都在第一时间被接受了。

实训二 用WireShark分析IP、TCP、HTTP

计算机学院网络工程2012(1)班学号:3112006354 姓名:詹德超实训二用WireShark分析IP、TCP、HTTP 一、实验目的 1.分析HTTP协议报文的首部格式,理解HTTP协议的工作过程。 2.用Wireshark 捕获和分析HTTP 报文。 二、实验设备 1.接入Internet的计算机主机; 2.抓包工具WireShark。 三、实验内容 1.HTTP 协议简介 HTTP 是超文本传输协议(Hyper Text Transfer Protocol)的缩写,用于WWW 服务。 (1)HTTP 的工作原理 HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层传输协议,但HTTP协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就在万维网客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。此外,客户可以使用多个端口和服务器(80 端口)之间建立多个连接。其工作过程包括以下几个阶段。 ①服务器监听TCP 端口 80,以便发现是否有浏览器(客户进程)向它发出连接请求; ②一旦监听到连接请求,立即建立连接。 ③浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。 ④释放TCP 连接。 在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP 规定的格式和规则。 当用户在浏览器的地址栏输入要访问的HTTP 服务器地址时,浏览器和被访问HTTP 服务器的工作过程如下: ①浏览器分析待访问页面的URL 并向本地DNS 服务器请求IP 地解析; ② DNS 服务器解析出该HTTP 服务器的IP 地址并将IP 地址返回给浏览器; ③浏览器与HTTP 服务器建立TCP 连接,若连接成功,则进入下一步; ④浏览器向HTTP 服务器发出请求报文(含GET 信息),请求访问服务器的指定页面; ⑤服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览器会打开多个端口,与服务器建立多个连接; ⑥释放TCP 连接; ⑦浏览器收到页面并显示给用户。 (2)HTTP 报文格式

网络协议分析——抓包分析

计算机网络技术及应用实验报告开课实验室:南徐学院网络实验室

第一部分是菜单和工具栏,Ethereal提供的所有功能都可以在这一部分中找到。第二部分是被捕获包的列表,其中包含被捕获包的一般信息,如被捕获的时间、源和目的IP地址、所属的协议类型,以及包的类型等信息。 第三部分显示第二部分已选中的包的每个域的具体信息,从以太网帧的首部到该包中负载内容,都显示得清清楚楚。 第四部分显示已选中包的16进制和ASCII表示,帮助用户了解一个包的本来样子。 3、具体分析各个数据包 TCP分析:

源端口 目的端口序号 确认号 首部长度窗口大小值

运输层: 源端口:占2个字节。00 50(0000 0000 1001 0000) 目的端口:占2个字节。C0 d6(1100 0000 1101) 序号:占四个字节。b0 fe 5f 31(1011 0000 0101 1110 0011 0001) 确认号:占四个字节。cd 3e 71 46(1100 1101 0011 1110 0110 0001 0100 0110) 首部长度:共20个字节:50(0101 0001) 窗口大小值:00 10(0000 0000 0001 00000) 网络层: 不同的服务字段:20 (0010 0000)

总的长度:00 28(0000 0000 0010 10000) 识别:81 28(1000 0001 0010 10000) 片段抵消:40 00(0100 0000 0000 0000) 生存时间:34 (0011 0100) 协议: 06(0000 0110)

实验yi:网络协议分析工具Wireshark的使用

实验一: 一、实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线 四、实验步骤(操作方法及思考题) 1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分) (1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存; (3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址); (4)执行命令:“ping 缺省路由器的IP地址”; 写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。 -------------------------------------------------------------------------------- (1)ipconfig/all (2)arp –d (3)( arp or icmp ) and ether host 18-03-73-BC-70-51, ping 192.168.32.254 后的截包信息图片:

首先,通过ARP找到所ping机器的ip地址,本机器发送一个广播包,在子网中查询192.168.32.254的MAC地址,然后一个节点发送了响应该查询的ARP分组,告知及其所查询的MAC地址。接下来,本机器发送3个请求的ICMP报文,目的地段回复了三个响应请求的应答ICMP报文。在最后对请求主机对应的MAC地址进行核查。 2.用Wireshark观察tracert命令的工作过程:(20分) (1)运行Wireshark, 开始捕获tracert命令中用到的消息; (2)执行“tracert -d https://www.doczj.com/doc/9815364576.html,” 根据Wireshark所观察到的现象思考并解释tracert的工作原理。 ----------------------------------------------------------- 实验室路由跟踪显示有6个路由器

利用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 姓名:杨宝芹 学号:2012117270 班级:电子信息科学与技术 时间:2014.12.26

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入https://www.doczj.com/doc/9815364576.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式https://www.doczj.com/doc/9815364576.html,。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

wireshark抓包分析了解相关协议工作原理

安徽农业大学 计算机网络原理课程设计 报告题目wireshark抓包分析了解相关协议工作原理 姓名学号 院系信息与计算机学院专业计算机科学与技术 中国·合肥 二零一一年12月

Wireshark抓包分析了解相关协议工作原理 学生:康谦班级:09计算机2班学号:09168168 指导教师:饶元 (安徽农业大学信息与计算机学院合肥) 摘要:本文首先ping同一网段和ping不同网段间的IP地址,通过分析用wireshark抓到的包,了解ARP地址应用于解析同一局域网内IP地址到硬件地址的映射。然后考虑访问https://www.doczj.com/doc/9815364576.html,抓到的包与访问https://www.doczj.com/doc/9815364576.html,抓到的包之间的区别,分析了访问二者网络之间的不同。 关键字:ping 同一网段不同网段 wireshark 协议域名服务器 正文: 一、ping隔壁计算机与ping https://www.doczj.com/doc/9815364576.html,抓到的包有何不同,为什么?(1)、ping隔壁计算机 ARP包:

ping包: (2)ing https://www.doczj.com/doc/9815364576.html, ARP包:

Ping包: (3)考虑如何过滤两种ping过程所交互的arp包、ping包;分析抓到的包有

何不同。 答:ARP地址是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题,如果要找的主机和源主机不在同一个局域网上,就会解析出网 关的硬件地址。 二、访问https://www.doczj.com/doc/9815364576.html,,抓取收发到的数据包,分析整个访问过程。(1)、访问https://www.doczj.com/doc/9815364576.html, ARP(网络层): ARP用于解析IP地址与硬件地址的映射,本例中请求的是默认网关的硬件地址。源主机进程在本局域网上广播发送一个ARP请求分组,询问IP地址为192.168.0.10的硬件地址,IP地址为192.168.0.100所在的主机见到自己的IP 地址,于是发送写有自己硬件地址的ARP响应分组。并将源主机的IP地址与硬件地址的映射写入自己ARP高速缓存中。 DNS(应用层): DNS用于将域名解析为IP地址,首先源主机发送请求报文询问https://www.doczj.com/doc/9815364576.html, 的IP地址,DNS服务器210.45.176.18给出https://www.doczj.com/doc/9815364576.html,的IP地址为210.45.176.3

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

1 深圳大学实验报告 实验课程名称:计算机网络 实验项目名称:使用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,如:https://www.doczj.com/doc/9815364576.html,。为显示该网页,浏览器需要连接https://www.doczj.com/doc/9815364576.html,的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。 2. 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。 3.点击其中一个http协议包

完整实验五 使用Wireshark分析TCP协议

实验五使用Wireshark分析TCP协议、实验目的 分析TCP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、捕获一个从你电脑到远程服务器的TCP数据 打开FTP客户端,连接ftp://202.120.222.71,用” TCP为过滤条件,捕获建 立连接和断开连接的数据。 图5.1捕获的TCP数据 (1)连接建立: TCP连接通过称为三次握手的三条报文来建立的。观察以上数据,其中分组10到12显示的就是三次握手。第一条报文没有数据的TCP报文段(分组10), 并将首部SYN位

设置为1。因此,第一条报文常被称为SYN分组。这个报文段 里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1 开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组10,Wireshark显示的序号是0。选择分组首部的序号字段,原始框中显示“9b 8e d1 f5 ”ireshark显示的是逻辑序号,真正的初始序号不是0。如图5.2所示: 图5.2逻辑序号与实际初始序号(分组10) SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。 如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK 分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给

计算机网络实验-使用Wireshark分析IP协议

实验三使用Wireshark分析IP协议 一、实验目的 1、分析IP协议 2、分析IP数据报分片 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 IP协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。因特网内的每台主机都有IP地址。数据被称作数据报的分组形式从一台主机发送到另一台。每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。这个过程就是分组交换。 IP允许数据报从源端途经不同的网络到达目的端。每个网络有它自己的规则和协定。IP能够使数据报适应于其途径的每个网络。例如,每个网络规定的最大传输单元各有不同。IP允许将数据报分片并在目的端重组来满足不同网络的规定。 表 DHCP报文

者续借租用 DHCP-ACK DHCP服务器通知客户端可以使用分配的IP地址和配置参 数 DHCP-NAK DHCP服务器通知客户端地址请求不正确或者租期已过期, 续租失败 DHCP-RELEASE DHCP客户端主动向DHCP服务器发送,告知服务器该客户 端不再需要分配的IP地址 DHCP-DECLINE DHCP客户端发现地址冲突或者由于其它原因导致地址不 能使用,则发送DHCP-DECLINE报文,通知服务器所分配的 IP地址不可用 DHCP-INFORM DHCP客户端已有IP地址,用它来向服务器请求其它配置 参数 图 DHCP报文 1、使用DHCP获取IP地址

wireshark抓包分析

用wireshark分析Http 和Dns 报文 一、http请求报文和响应报文 wireshark所抓的一个含有http请求报文的帧: 1、帧的解释 链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而wireshark抓到的就是链 路层的一帧。 图中解释: Frame 18:所抓帧的序号是11,大小是409字节 Ethernet :以太网,有线局域网技术,属链路层 Inernet Protocol:即IP协议,也称网际协议,属网络层 Transmisson Control Protocol:即TCP协议,也称传输控 制协议。属传输层 Hypertext transfer protocol:即http协议,也称超文本传 输协议。属应用层 图形下面的数据是对上面数据的16进制表示。

2、分析上图中的http请求报文 报文分析: 请求行: GET /img/2009people_index/images/hot_key.gif HTTP/1.1 方法字段/ URL字段/http协议的版本 我们发现,报文里有对请求行字段的相关解释。该报文请求的是一个对象,该对象是图像。 首部行: Accept: */* Referer: https://www.doczj.com/doc/9815364576.html,/这是网站网址 Accept-Language: zh-cn 语言中文 Accept-Encoding: gzip, deflate 可接受编码,文件格式User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Window s NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; 360SE) 用户代理,浏览器的类型是Netscape浏览器;括号内 是相关解释 Host: https://www.doczj.com/doc/9815364576.html,目标所在的主机 Connection: Keep-Alive 激活连接 在抓包分析的过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:

IPV6抓包协议分析

IPV6协议抓包分析 一、实践名称: 在校园网配置使用IPv6,抓包分析IPv6协议 二、实践内容和目的 内容:网络抓包分析IPv6协议。 目的:对IPv6协议的更深层次的认识,熟悉IPv6数据报文的格式。 三、实践器材: PC机一台,网络抓包软件Wireshark 。 四、实验数据及分析结果: 1.IPv6数据报格式: 2. 网络抓包截获的数据:

3. 所截获的IPv6 的主要数据报为:? Internet Protocol Version 6?0110 .... = Version: 6?. (0000) 0000 .... .... .... .... .... = Traffic class: 0x00000000?.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 93 Next header: UDP (0x11)?Hop limit: 1?Source: fe80::c070:df5a:407a:902e (fe80::c070:df5a:407a:902e) Destination: ff02::1:2 (ff02::1:2) 4. 分析报文: 根据蓝色将报文分成三个部分:

第一部分: 33 33 00 01 00 02,目的组播地址转化的mac地址, 以33 33 00表示组播等效mac;00 26 c7 e7 80 28, 源地址的mac地址;86 dd,代表报文类型为IPv6 (0x86dd); 第二部分: 60,代表包过滤器"ip.version == 6"; 00 00 00,Traffic class(通信类别): 0x00000000; 00 5d,Payload length(载荷长度,即报文的最后一部分,或者说是报文携带的信息): 32; 11,Next header(下一个封装头): ICMPv6 (17); 01,Hop limit(最多可经历的节点跳数): 1; fe 80 00 00 00 00 00 00 c0 70 df 5a 40 7a 90 2e,源ipv6地址; ff 02 00 00 00 00 00 00 00 00 00 00 00 01 00 02,目的ipv6地址; 第三部分(报文携带的信息): 02,表示类型为Neighbor Solicitation (2); 22,表示Code: 38; 02 23是Checksum(校验和): 0x6faa [correct]; 00 5d 36 3a,Reserved(保留位): 00000000; fe 80 00 00 00 00 00 00 76 d4 35 ff fe 03 56 b0,是组播地址中要通信的那个目的地址; 01 01 00 23 5a d5 7e e3,表示

(完整)实验五_使用Wireshark分析TCP协议

实验五使用Wireshark分析TCP协议 一、实验目的 分析TCP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、捕获一个从你电脑到远程服务器的TCP数据 打开FTP客户端,连接ftp://202.120.222.71,用”TCP”为过滤条件,捕获建立连接和断开连接的数据。 图5.1 捕获的TCP数据 (1)连接建立: TCP连接通过称为三次握手的三条报文来建立的。观察以上数据,其中分组

10到12显示的就是三次握手。第一条报文没有数据的TCP报文段(分组10),并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组10,Wireshark显示的序号是0。选择分组首部的序号字段,原始框中显示“9b 8e d1 f5”。Wireshark显示的是逻辑序号,真正的初始序号不是0。如图5.2所示: 图5.2 逻辑序号与实际初始序号(分组10) SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。 如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK 分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给

实验六利用Wireshark分析协议HTTP

实验六利用W i r e s h a r k分析协议H T T P 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、利用Wireshark俘获HTTP分组 (1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。 (2)启动Wireshark 分组俘获器。 (3)在Web 浏览器中输入:https://www.doczj.com/doc/9815364576.html, (4)停止分组俘获。 图1.1 利用Wireshark俘获的HTTP分组 在URL https://www.doczj.com/doc/9815364576.html,中,https://www.doczj.com/doc/9815364576.html,是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名https://www.doczj.com/doc/9815364576.html,

转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过https://www.doczj.com/doc/9815364576.html,这样的域名。当输入URL http://https://www.doczj.com/doc/9815364576.html, 时,将要求Web服务器从主机https://www.doczj.com/doc/9815364576.html,上请求数据,但首先Web浏览器必须确定这个主机的IP地址。 随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。 2、HTTP GET/response交互 (1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。 “Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是https://www.doczj.com/doc/9815364576.html,。这就允许了一个Web服务器在同一时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本的主要变化。 User-Agent首部描述了提出请求的Web浏览器及客户机器。 接下来是一系列的Accpet首部,包括Accept(接受)、Accept-Language (接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。这些首部表明了客户的能力和偏好。 Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。它表明在发送请求之后连接是否保持活动状态及保持多久。大多数HTTP1.1连接是持久的(persistent),意思是在每次请求后不关闭TCP 连接,而是保持该连接以接受从同一台服务器发来的多个请求。 (2)我们已经察看了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“HTTP/1.1 200 ok”,指明它开始使用HTTP1.1版本来发送网页。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。

计算机网络实验-使用Wireshark分析TCP和UDP协议

实验3 Wireshark抓包分析TCP和UDP协议 一、实验目的 1、通过利用Wireshark抓包分析TCP和UDP报文,理解TCP和UDP报文的封装格式. 2、理解TCP和UDP的区别。 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。 三、实验原理 1、wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 2、TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP的首部格式为:

3.UDP则提供面向非连接的服务。UDP的首部格式为: 四、实验步骤 1.如图所示这是TCP的包,下面蓝色的是TCP中所包含的数据。

由截图可以看出来TCP报文中包含的各个数据,TCP报文段(TCP报文通常称为段或TCP报文段),与UDP数据报一样也是封装在IP中进行传输的,只是IP 报文的数据区为TCP报文段。 这是TCP的源端口号

目的端口号10106 序列号是167

确认端口号50547 头长度20字节 窗口长度64578

校验合0x876e 五、实验内容 1.找出使用TCP和UDP协议的应用。 2.利用wireshark抓获TCP数据包。 3.分析TCP数据包首部各字段的具体内容,画出TCP段结构,填写其中内容。4.利用wireshark抓获UDP数据包。 5.分析UDP数据包首部各字段的具体内容,画出UDP段结构,填写其中内容。6.找出TCP建立连接的一组数据包,指出其中的序号和确认号变化。 7.找出TCP关闭连接的一组数据包,指出其中的标志字段数值。

wireshark分析HTTP

利用Wireshark分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 3.1课程设计步骤 (1)启动WireShark。 图 3.1 wireshark启动界面 (2)启动PC上的chrome浏览器。

图3.2 启动chrome浏览器 (3) 开始分组捕获:选择“抓包”下拉菜单中的“抓包参数选择”命令,在 WireShark:“抓包选项”窗口中可以设置分组捕获的选项。 (4) 在这次实验中,使用窗口中显示的默认值。选择“抓包”下拉菜单中的 “网络接口”命令,显示计算机中所安装的网络接口(即网卡)。我们需要选择电 脑真实的网卡,点击后显示本机的IP地址。 (5) 随后,点击“开始”则进行分组捕获,所有由选定网卡发送和接收的分 组都将被捕获。 图3.4 抓包选项设置

(6) 待捕获一段时间,关闭浏览器,选择主窗口中有的“stop”按钮,可以停止分组的捕获。 图3.5 结束按钮 3.2 抓包并分析过程 这次实验通过分析打开谷歌主页来分析http协议的作用。 在filter中输入http进行筛选。 wireshark所抓的含有http请求报文的帧: 图3.6 打开谷歌主页抓到的HTTP包 对打开谷歌网页这个事务进行分析:在浏览器中输入谷歌主页地址,敲击回车的过程中,浏览器向DNS请求解析https://www.doczj.com/doc/9815364576.html,的IP地址。域名系统DNS 解析出谷歌服务器的IP地址为173.194.72.199在这个过程中本机IP 10.10.22.75。然后浏览器与服务器建立TCP连接(服务器端的IP地址为173.194.72.199,端口是80)。然后浏览器发出取文件命令:GET /webhp?hl=zh-CN&sourceid=cnhp HTTP/1.1\r\n。服务器给出响应把文件(text/html)发送给浏览器,浏览器显示 text/html中的所有文本。浏览器下载网页文本内容,网页文本中标记着图片、CSS 文件和Flash等等。在这次课程设计中谷歌主页还包括谷歌logo图片和其他一些内容,浏览器分析出这些内容后开4个线程对这些内容进行下载,分别向服务器发送请求报文,服务器接收到内容后根据HTTP协议发送响应报文。所有的内容

利用Wireshark进行TCP协议分析

利用Wireshark进行TCP协议分析 TCP报文首部,如下图所示: 1. 源端口号:数据发起者的端口号,16bit 2. 目的端口号:数据接收者的端口号,16bit 3. 序号:32bit的序列号,由发送方使用 4. 确认序号:32bit的确认号,是接收数据方期望收到发送方的下一个报文段的序号,因此确认序号应当是上次已成功收到数据字节序号加1。 5. 首部长度:首部中32bit字的数目,可表示15*32bit=60字节的首部。一般首部长度为20字节。 6. 保留:6bit, 均为0 7. 紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。 8. 确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。 9. 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。 10. 复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。 11. 同步比特SYN:在建立连接是用来同步序号。SYN=1,ACK=0表示一个连接请求报文

段。SYN=1,ACK=1表示同意建立连接。 12. 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。 13. 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。 14. 检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。 15. 紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。 16.选项:长度可变,最长可达40字节 TCP的三次握手和四次挥手: 第一次握手数据包 客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。如下图

使用Wireshark嗅探器分析网络协议书范本

实验2 使用Wireshark嗅探器分析网络协议 实验日期: 实验目的: 1、掌握嗅探器工具Wireshark的下载和安装方法 2、掌握Wireshark的简单使用方法,了解抓包结果的分析方法 3、掌握封装这一操作的具体含义以及TCP/IP体系结构的分层,了 解各层的一些常用协议。 实验步骤: 1、预习课本与ping命令及tracert命令相关的因特网控制报文协议ICMP相关的容(4.4节),通过搜索引擎了解什么是嗅探器,了解嗅探器工具Wireshark的下载、安装和使用方法 2、自己下载安装并启动Wireshark(安装程序里附带的WinPcap也一定要安装)如有时间可搜索Wireshark的中文使用说明,作为实验的辅助资料。FTP上有《Wireshark 网络分析就这么简单》的电子版,供参考。 3、选择正确的网络适配器(俗称网卡)。这一步很重要。选错了网卡,可能抓不到任何包。 4、开始抓包。 5、在Wireshark的显示过滤器输入栏中输入正确的表达式,可过滤出需要的数据包。

7、单击选中其中一个报文,可在树形视图面板中看它各层协议首部的详细信息。 8、过滤出http流量,选择其中的一个数据包,回答以下问题:(以下

4个问题需回答并截图证明) 1)此http包的http协议版本号是多少? 此http包的http协议版本号是HTTP/1.1 2)http协议在传输层使用的是TCP协议还是UDP协议? http协议在传输层使用的是TCP协议 3)此http包在网络层使用的是什么协议?

此http包在网络层使用的是IPV4协议 4)此http包在数据链路层使用的是什么协议? 此http包在数据链路层使用的是Ethernet II协议 9、过滤出QQ流量(协议名称为OICQ),选择其中的一个数据包,回答以下问题:(以下4个问题需回答并截图证明) 1)此QQ包的OICQ协议版本号是多少? 此QQ包的OICQ协议版本号是OICQ 121

(完整word版)网络协议抓包分析

中国矿业大学《网络协议》 姓名:李程 班级:网络工程2009-2 学号:08093672

实验一:抓数据链路层的帧 一、实验目的 分析MAC层帧结构 二、准备工作 本实验需要2组试验主机,在第一组上安装锐捷协议分析教学系统,使用其中的协议数据发生器对数据帧进行编辑发送,在第二组上安装锐捷协议分析教学系统,使用其中的网络协议分析仪对数据帧进行捕获分析。 三、实验内容及步骤 步骤一:运行ipconfig命令

步骤二:编辑LLC信息帧并发送 步骤三:编辑LLC监控帧和无编号帧,并发送和捕获:步骤四:保存捕获的数据帧 步骤五:捕获数据帧并分析 使用iptool进行数据报的捕获: 报文如下图: 根据所抓的数据帧进行分析: (1)MAC header 目的物理地址:00:D0:F8:BC:E7:06 源物理地址:00:16:EC:B2:BC:68 Type是0x800:意思是封装了ip数据报 (2)ip数据报

由以上信息可以得出: ①版本:占4位,所以此ip是ipv4 ②首部长度:占4 位,可表示的最大十进制数值是15。此ip数据报没有选项,故它的最大十进制为5。 ③服务:占8 位,用来获得更好的服务。这里是0x00 ④总长度:总长度指首都及数据之和的长度,单位为字节。因为总长度字段为16位,所以数据报的最大长度为216-1=65 535字节。 此数据报的总长度为40字节,数据上表示为0x0028。 ⑤标识(Identification):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号, 因为IP是无连接的服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。 在这个数据报中标识为18358,对应报文16位为47b6 ⑥标志(Flag):占3 位,但目前只有2位有意义。标志字段中的最低位记为MF (More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF(Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。这个报文的标志是010,故表示为不分片!对应报文16位为0x40。 ⑦片偏移:因为不分片,故此数据报为0。对应报文16位为0x00。 ⑧生存时间:占8位,生存时间字段常用的英文缩写是TTL (Time To Live),其表明数据报在网络中的寿命。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于1 秒,就把TTL值减1。当TTL值为0时,就丢弃这个数据报。经分析,这个数据报的的TTL为64跳!对应报文16位为0x40。 ⑨协议:占8 位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。这个ip数据报显示使用得是TCP协议对

Wireshark使用教程

第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行 图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.doczj.com/doc/9815364576.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求 想要安装运行Wireshark需要具备的软硬件条件... 1.2.1. 一般说明 ?给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。[4] ?在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。 ?如果Wireshark运行时内存不足将会导致异常终止。可以在 https://www.doczj.com/doc/9815364576.html,/KnownBugs/OutOfMemory察看详细介绍以及解决办法。 ?Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5] 1.2.2. Microsoft Windows ?Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用) ?32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明 ?128MB系统内存(建议256Mbytes或更高) ?75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”) ?网卡需求: o以太网:windows支持的任何以太网卡都可以 o无线局域网卡:见MicroLogix support list, 不捕捉802.11包头和无数据桢。 o其它接口见:https://www.doczj.com/doc/9815364576.html,/CaptureSetup/NetworkMedia

相关主题
文本预览
相关文档 最新文档