NS2 学习笔记—— AODV协议

分类:ns2仿真2012-07-30 08:50 1632人阅读评论(0) 收藏举报

算法存储nokiainternet终端delete

在NS2中,AODV路由协议主要包括以下几个组件:

1、协议实体

2、路由表

3、定时器

(1)广播定时器

(2)周期Hello报文广播定时器

(3)用于邻居管理的定时器

(4)用于路由缓存的定时器

(5)用于本地修复的定时器

(6)缓存广播ID的定时器

4、日志记录器

5、路由缓存队列

首先来看协议从接收到一个分组开始的基本流程。

当协议接收到一个分组,即recv(Packet*,Handler*)函数被调用,函数根据分组类型调用不同的处理函数进行处理。

1、如果是协议分组,则将分组的ttl值减1,并调用recvAODV(Packet*)函数进行处理。recvAODV函数再根据分组的不同类型来调用不同的函数进行处理。

(1)如果接收到的是路由请求分组,则调用recvRequest(Packet*)函数进行处理。

如果该分组由节点自身产生或已经接收过的,会被节点丢弃,并结束处理。否则,节点将缓存该分组的序列号,并将该分组发送来的路径添加到反向路由中,转发相应分组。然后,节点根据该分组的目的地址进行判断并调用不同函数进行处理。

如果节点自身即为目的节点,则调用sendReply(nsaddr_t, u_int32_t, nsaddr_t, u_int32_t,u_int32_t,double)函数进行响应。如果节点不是目的节点,但知道通往目的节点的路由,则调用sendReply函数进行响应,并在源和目的前驱列表中分别插入到源和目的的下一跳节点。否则,不能直接响应该请求,将跳数加1,并调用forward(aodv_rt_entry*,Packet*, double)函数转发该分组。

在sendReply函数中,节点首先查找到达目的节点(即发送路由请求分组的节点)的路由,创建并填充分组,然后调用Scheduler::instance().schedule()函数来发送该分组。

(2)如果接收到的是路由响应分组,则调用recvReply(Packet*)函数进行处理。

节点首先查询前往分组目的节点的路由,如果不存在则新增一条路由项。然后,节点更新到该目的节点的路由项,并发送所有相关分组。

如果节点为目的节点则更新路由发现延迟并发送所有相关的分组。如果节点不是目的节点,但知道通往目的节点的路由,则将跳数加1,调用forward函数转发该分组,并修改响应的前驱列表。如果节点不是目的节点,也不知道通往目的节点的路由,则丢弃该分组。

(3)如果接收到的是路由错误分组,则调用recvError(Packet*)函数进行处理。

节点首先清除所有受到影响的路由项,丢弃所有受影响的分组。然后,如果前驱节点中存在会受该路由错误影响的分组,则调用sendError(Packet*,bool)函数转发该分组。

sendError函数创建并填充分组,然后调用Scheduler::instance().schedule()函数来发送该分组。

(4)如果接收到的是Hello消息分组,则调用recvHello(Packet*)函数进行处理。

节点会将该邻居的信息添加到邻居列表中(或更新该邻居的信息)。

2、如果是数据分组,则节点丢弃已经发送过或者ttl为0的分组,并结束处理。如果分组是由上层协议产生的,则节点添加IP报头。随后,节点根据目的路由进行不同处理。

(1)如果目的节点路由未知,则调用rt_resolve(Packet*)函数进行路由解析和转发。

如果目的节点路由在路由表中存在,则直接调用forward函数进行转发。如果分组是由节点自身产生的,则将分组保存到缓冲队列中,并调用sendRequest(nsaddr_t)函数查询目的路由。如果目的路由已知,但正在进行本地修复,则将分组保存到缓冲队列中。否则,丢弃该分组,并调用sendError函数报错。

(2)如果目的节点路由已知,则调用forward进行转发。

节点丢弃ttl为0的分组,并根据分组类型决定下一步操作。

如果接收到的是数据分组,且自身为目的节点,则通过调用PortClassifier对象的recv(Packet*,Handle*)函数将分组交递给高层协议,并结束处理。否则,节点设置分组属性,并调用Scheduler::instance().schedule(Handler*, Event*,double)函数来发送分组。其中,Handler 为基类中的属性target_(会根据脚本中的设置指向相应的协议实体),Event为要发送的分组即可。

以上就是在节点收到分组后的一个处理过程。接下来看看各个定时器所做的工作。

1、广播定时器BroadcastTimer在到时后调用id_purge()函数删除广播项中已超时的项目,并通过调用Scheduler::instance().schedule()函数来设置下次被调用的时间(Handler为this指针,Event为类属性intr)。

2、周期Hello报文广播定时器HelloTimer在到时后调用sendHello()函数向邻居创建并发送Hello消息,并调用schedule()函数来设置下次被调用的时间。

3、邻居管理定时器NeighborTimer在到时后调用nb_purge()函数来清除邻居列表中已超时的邻居项,并调用schedule()来设置下次被调用的时间。nb_purge会调用nt_delete(nsaddr_t)函数来清除超时的邻居项,其又会调用handle_link_failure(nsaddr_t)函数来处理由于邻居节点被删除而引起的路由变化。

4、路由缓存定时器RouteCacheTimer在到时后调用rt_purge()函数来清除路由表中已超时的路由项,并丢弃相关的分组,再调用schedule()来设置下次被调用的时间。

5、本地修复定时器LocalRepairTimer在调用后根据传递的分组的目的地址关闭相应的路由项。

6、缓存广播ID定时器BroadcastID用来保存广播分组的ID。

此外,路由表、日志记录和队列三个类就相对比较简单了,都只实现了一些非常基本的功能,在此就不做介绍了

1、AODV简介

AODV是由Nokia研究中心的Charles E.Perkins和加利福尼亚大学Santa Barbara的Elizabeth M.Belding-Roryer以及Cincinnati大学Samir R.Das等共同开发,已经被IETF MANET工作组于2003年7月正式公布为自组网路由协议的RFc标准。AODV实质上就是DSR和DSDV 的综合,它借用了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(Hop-by-Hop)路由、目的节点序列号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。

AODV在每个中间节点隐式保存了路由请求和应答的结果,并利用扩展环搜索的办法来限制搜索发现过的目的节点的范围。AODV 支持组播功能,支持QoS,而且AODV中可以使用IP地址,实现同Internet连接,但是不支持单向信道。和DSDV保存完整的路由表不同的是,AODV通过建立基于按需路由来减少路由广播的次数,这是AODV对DSDV的重要改进。和DSR相比,AODV的好处在于源路由并不需要包括在每一个数据分组中,这样会使路由协议的开销有所降低。AODV是一个纯粹的按需路由系统,那些不在路径内的节点不保存路由信息,也不参与路由表的交换。AODV协议可以实现在移动终端间动态的、自发的路由,使移动终端很快获得通向所需目的的路由,同时又不用维护当前没有使用的路由信息,并且还能很快对断链的拓扑变化做出反应。AODV的操作是无环路的,在避免了通常Bellman-ford算法的无穷计数问题的同时,还提供了很快的收敛速度。AODV的路由表中每个项都使用了目的序列号(Destination Sequence Number)。目的序列号是目的节点创建,并在发给发起节点的路由信息中使用的。使用目的序列号可以避免环路的发生。

AODV使用3种消息作为控制信息:RouteRequest(RREQ),RouteReply(RREP)和RouteError(RERR)。这些消息都在UDP上使用654端口号。

当源节点需要和目的节点通信时,如果在路由表中已经存在了对应的路由时,AODV不会进行任何操作。当源节点需要和新的目的通信时,它就会发起路由发现过程,通过广播RREQ信息来查找相应路由。当这个RREQ到达目的节点本身,或者是一个拥有足够新的到目的节点路由的中间节点时,路由就可以确定了。所谓“足够新”就是通过目的序列号来判断的。目的节点或中间节点通过原路返回一个RREP信息来向源节点确定路由的可用性。在维护路由表的过程中,当路由不再被使用时,节点就会从路由表中删除相应的项。同时,节点会监视一个活动路由(activeroute,有限跳的,可用于数据转发的路由表)中,下一跳节点的状况。当发现有链路断开的情况时,节点就会使用RERR通知上游的节点,而上游的节点就会使用该RERR分组拷贝通知更上游的节点。在RERR 消息中,指明了由于断链而导致无法达到目的节点。每个节点都保留了一个“前驱列表”(precursor list)来帮助完成错误报告的功能,这个列表中保存了把自己作为到当前不可达节点的下一跳的相邻节点(可以通过记录RERR很容易地获得)。在路由表中,针对每一个表项,需要记录相应的的特征内容。其中,序列号是防止路由环路的关键所在。当发生断链时,通过增加序列号和度量值(跳数)来使路由表项无效。

2、AODV路由协议的运行方式

(a)AODV路由发现

AODV路由协议是一种典型的按需驱动路由协议,该算法可被称为纯粹的需求路由获取系统,那些不在活跃路径上的节点不会维持任何相关路由信息,也不会参与任何周期路由表的交换。此外,节点没有必要去发现和维持到另一节点的路由,除非这两个节点需要进行通信。移动节点间的局部连接性可以通过几种方法得到,其中包括使用局部广播Hello消息。这种算法的主要目的是:在需要时广播路由发现分组一般的拓扑维护;区别局部连接管理(邻居检测)和一般的拓扑维护;向需要连接信息的邻居移动节点散播拓扑变化信息。AODV使用广播路由发现机制,它依赖中间节点动态建立路由表来进行分组的传送。为了维持节点间的最新路由信息,AODV借鉴了DSDV中的序列号的思想,利用这种机制就能有效地防止路由环的形成。当源节点想与另外一个节点通信,而它的路由表中又没有相应的路由信息时,它就会发起路由发现过程。每一个节点维持两个独立的计数器:节点序列号计数器和广播标识。源节点通过向自己的邻居广播RREQ(Route Requests)分组来发起一次路由发现过程。

(b)反向路由的建立

在RREQ分组中包含了两个序列号:源节点序列号和源节点所知道的最新的目的序列号。源节点序列号用于维持到源的反向路由的特性,目的序列号表明了到目的地的最新路由。当RREQ分组从一个源节点转发到不同的目的地时,沿途所经过的节点都要自动建立到源节点的反向路由。节点通过记录收到的第一个RREQ分组的邻居地址来建立反向路由,这些反向路由将会维持一定时间,一该段时间足够RREQ分组在网内转发以及产生的RREP分组返回源节点。当RREQ分组到达了目的节点,目的节点就会产生RREP分组,并利用建立的反向路由来转发RREP。

(c)正向路由的建立

RREQ分组最终将到达一个节点,该节点可能就是目的节点,或者这个节点有到达目的节点的路由。如果这个中间节点有到达目的的路由项,它就会比较路由项里的目的序列号和RREQ分组里的目的序列号的大小来判断自己已有的路由是否是比较新的。如果RREQ分组里的目的序列号比路由项中的序列号大,则这个中间节点不能使用己有的路由来响应这个RREQ分组,只能是继续广播这个RREQ分组。中间节点只有在路由项中的目的序列号不小于RREQ中的目的序列号时,才能直接对收到的RREQ分组做出响应。如果节点有到目的地的最新路由,而且这个RREQ还没有被处理过,这个节点将会沿着建立的反向路由返回RREP分组。

在RREP转发回源节点的过程中,沿着这条路径上的每一个.节点都将建立到目的节点的同向路由,也就是记录下RREP是从哪一个邻居节点来的地址,然后更新有关源和目的路由的定时器信息以及记录下RREP中目的节点的最新序列号。对于那些建立了反向路由,但RREP分组并没有经过的节点,它们中建立的反向路由将会在一定时间(Active-Route-Timeout)后自动变为无效。收到RREP 分组的节点将会对到某一个源节点的第一个RREP分组进行转发,对于其后收到的到同一个源的RREP分组,只有当后到的RREP分组中包含了更高的目的序列号或虽然有相同的目的序列号但所经过的跳数较少时,节点才一会重新更新路由信息,以及把这个RREP

分组转发出去。这种方法有效地抑制了向源节点转发的RREP分组数,而且确保了最新及最快的路由信息。源节点将在收到第一个RREP分组后,就开始向目的节点发送数据分组。如果以后源节点了解到的更新的路由,它就会更新自己的路由信息。

3、AODV路由表的管理

节点的路由中除了存储源和目的节点的序列号外,还存储了其他有用的信息,这些信息成为有关路由项的软状态。与反向路由相关的是路由请求定时器,这些定时器的目的是清除一定时间内没有使用的反向路由项。定时器的设置依赖于自组网的规模大小,与路由表相联系的另外一个重要的参数是路由缓存时间,即在超过这个时间之后,对应的路由表就变为无效。此外,在每一个路由表中,还要记录本节点用于转发分组的活跃邻居。如果节点在最近一次活跃期间(Active-Timeout)发起或转发了到某个目的节点的分组,那么就可以称这个节点为活跃节点。这样,当到达某一个目的节点的链路有问题时,所有与这条链路有关的活跃节点都可以被通知到。一个路由表还有活跃邻居在使用,就可以认为是有效的。通过各个活跃路由项所建立的源节点到目的节点的路径,也就是一条活跃路径。路由表中的目的节点序列号,正如在DSDV路由协议中所使用的那样,可以在无序分组的传送和节点高度移动的极端条件下避免路由环路的产生。

移动节点为每一个相关的目的节点维护了一个路由表。每一个路由表包含以下一些信息:目的地址、下一跳地址、跳数、目的序列号及路由项的生存时间。路由表在每一次被用来传送一个分组时,它的生存时间都要重新开始计算,也就是用当前时间加上Aetive-Route-Timeout。如果一个移动节点被提供了到达某一个目的节点的新路由,那么它就会把这个新路由的目的序列号与自己路由表中己有的目的序列号做比较,并将目的序列号大的作为到达目的节点的路由表。如果目的序列号相同,则采用到目的节点所经过的节点数(跳数)最少的那个路由。

4、AODV路由维护

如果节点的移动不是沿着活跃路径进行的,那么就不会影响己经建立的路由。如果一个源节点在活跃路径上移动,它就要向目的节点重新发起一次路由发现过程。如果移动的节点是中间节点或目的节点,那么一个特殊的RREP分组将转发到那些受移动影响的源节点。周期性发送的Hello分组可以用来确保链路的对称性,并检测不能用的链路。如果不用Hello分组,也可以采用链路层通告机制来报告链路的无效性,这样可以减少延迟。此外,节点在尝试向下一跳节点转发分组失败后,也能检测出链路的不可用性。

一旦一个节点的下一跳节点变得不可达,这时它就要向利用该损坏链路的活跃上游节点发送未被请求的RREP(RERR)分组,这个RREP(RERR)分组带有一个新的序列号(即在目的序列号上加1),并将跳数值设置为二。收到这个RREP(RERR)分组的节点再依次将RREP(RERR)分组转发到它们各自的活跃邻居,这个过程持续到所有的与损坏链路有关的活跃节点都被通知到为止。源节点在收到断链的通知后,如果它还要与目的节点联系,它就需要再次发起新的路由发现过程。这时,它将会广播一个RREQ分组,这个RREQ分组中的目的序列号要在源节点已知的最新目的序列号之上加1,以确保那些还不知道目的节点最新位置的中间节点对这个RREQ分组做出响应,从而能保证建立一条新的、有效的路由。

5、AODV协议评价

总之,AODV是一种距离矢量路由协议,采用的算法克服了以前提出的一些算法(如DSDV)的缺点,具有如下优点:

(a)基于传统的距离向量路由机制,思路简单、易懂。

(b)支持中间节点应答,能使源节点快速获得路由,有效减少了广播数,但存在过时路由问题。

(c)节点只存储需要的路由,减少了内存的需求和不必要的复制。

(d)快速响应活跃路径上断链。

(e)通过使用目的序列号来避免路由环路,解决了传统的基于距离向量路由协议存在的无限计数问题。

(f)具有网络的可扩充性。

(g)需要周期性地广播分组,需要消耗一定的电池能源和网络带宽。与DSDV以及其他持续存储更新路由信息的算法相比,AODV需要相对较长的路由建立时延,不过AODV采取了以下的一些措施来加以改善:

(a)到某个目的节点的路由可以由知道路由的中间节点进行响应。

(b)链路失效能够被立即报告,这样路由可重新建立。

(c)不活跃的路由在一定时间后会被删除。

网络协议实验报告

网络协议实验报告 班级:_____网络2010-2班____ 学号:________08103617______ 姓名:__________程凯凌______ 指导老师:__________杨东平__________ 日期:2012年12月27日

ARP1: 0000 ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 00 01 0010 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 0020 00 00 00 00 00 00 0a 6e c0 01 以太网帧为:ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 其中ff ff ff ff ff ff为目的地址(广播询问) 00 26 c7 35 46 48为源地址 08 06为上层协议类型arp(0x0806) Arp帧为: 00 01 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0a 6e c0 01 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4 00 01表示操作请求码为0x0001 00 26 c7 35 46 48表示发送MAC地址 0a 6e d0 d4 表示发送IP地址为10.110.208.212 00 00 00 00 00 00 表示目的MAC地址 0a 6e c0 01表示目的IP地址10.110.192.1 ARP2: 0000 00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 01 0010 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 0020 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0030 00 00 00 00 00 00 00 00 以太网帧:00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 其中00 26 c7 35 46 48为目的地址(应答) 00 14 d5 f1 de 1b为源地址 08 06表示上层协议类型(0x0806) 00 00 00 00 00 00 00 00 00 00 00 00 00 00协议填充数据 arp帧为: 00 01 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 00 26 c7 35 46 48 0a 6e d0 d4 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4

利用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.360docs.net/doc/8910322191.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

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

超文本传输协议(HTTP)

《计算机网络实验》实验报告实验名称:超文本传输协议(HTTP) 年级: 2014级 专业:软件工程专业 班级: 2班 姓名:王香香 学号: 1425161018 成绩: 指导教师:卢正添 提交报告时间: 2017年 6月 3日

一、实验目的 1.掌握HTTP的报文格式 2.掌握HTTP的工作原理 3.掌握HTTP常用方法 二、实验环境 网络结构一 三、实验步骤与实验结果 练习一:页面访问 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://服务器的ip/experiment,并连接,服务器IP默认为172.16.0.253。

4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习使用HTTP协议的哪种方法?简述这种方法的作用。答:Get方法。客户要从服务器读取文档时使用。 ●根据本练习的报文内容,填写下表。

表13-3 实验结果 ●参考“会话分析”视图显示结果,绘制此次访问过程的报文交互图(包括TCP协议)。 ●简述TCP协议和HTTP协议之间的关系。 答:HTTP是基于TCP的应用层协议。 思考问题: 1.一个主页是否只有一个连接? 答:否。一个主页可能对应多个连接。 练习二:页面提交 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://服务器的ip/experiment/post.html”,并连接,服务器IP 默认为172.16.0.253。在返回页面中,填写“用户名”和“密码”,点击[确定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题:

网络协议实验报告6

组号:3F 学号:53131016 姓名:杨灵 实验7.1 FTP协议 【实验目的】 学习FTP协议的连接过程;理解FTP协议的工作原理。一人一组,一组提交报告。 【实验环境】 本实验采用网络结构一, 一定要设置DNS服务器,地址是:172.16.0.253 主机的IP地址使用172.16.0.0段。掩码255.255.255.0. IP地址分配方法: 172.16.0.组号、主机号 例如:第2组的B主机的IP地址设置为172.16.0.22 第5组的F主机的IP地址设置为 172.16.0.56 【实验内容】 本实验要求: FTP服务器已经启动,并提供一个公共帐户,用户名是:anonymous,口令:无。或用户名:group2_1,口令:group2_1 (可以上传数据)。练习一 FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp 172.16.0.253 LOGIN:>group2_1 PASS:>group2_1 >dir >quit 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的21端口和20端口的会话情况,记录21端口和20端口的会话过程; ●记录实验结果: ①粘贴捕获包的截图;

②是否可以捕获到用户名和密码? 答:可以,在USER和PASS会话中。 ③21端口和20端口分别传输什么内容? 答:一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的使用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。练习二使用浏览器登入FTP 1、主机启动协议分析器,打开数据捕获窗口; 2、主机启动IE浏览器,在“地址”框中输入ftp://172.16.0.253 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的端口情况。 4、结合练习1的会话过程,说明浏览器登入FTP的工作过程。 ●记录实验结果: ①粘贴捕获包的截图; ②对比上个实验,FTP服务器用哪个端口传输数据,数据连接是谁发起的连接? 答:ftp服务器用21端口传输数据,数据连接是客户端发起的的连接。 练习三在窗口模式下,上传/下传数据文件 熟悉FTP在窗口方式下的命令使用;在本地机的D:上建立一个文本文件,文件名为你的学号+姓名; 1、主机登录FTP服务器:在命令行提示符下运行: D:>ftp 172.16.0.253 >LOGIN:group2_1 >PASS: group2_1 >put 文件名(文件名为你的学号+姓名) >dir (查看FTP上是否已经上传) >get 文件名(FTP服务器) >quit 2、回到本地硬盘上查看是否已经下载到本地?(进入FTP时的目录下) ●记录实验结果: ①粘贴FTP上的文件列表;

计算机网络协议实验报告

实验报告 项目名称:小型局域网的设计 课程名称:计算机网络B 班级:电G131 姓名:xxx xx 学号:51201320xx 5120132045 教师:张晓明 信息工程学院计算机系

一、实验目的 基于网络协议分析工具Ethereal,通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高 TCP/IP 协议的分析能力和应用技能。 二、实验前的准备 ●二人一组,分组实验; ●熟悉 Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ●安装软件工具Ethereal,并了解其功能、工作原理和使用方法; ●安装任一种端口扫描工具; ●阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Ethereal工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.32.7 为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写 host 210.31.32.7; (2)开始抓包; (3)在 DOS 下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”:IP.Addr==210.31.32.7 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。 (7)针对重要内容截屏,并解析协议字段中的内容,一并写入 WORD 文档中。

截获数据 Frame 3 (74 bytes on wire,74 bytes captured) Arrival Time: Nov 11,2014:15:49:35 Packet Length:74bytes Capture Length:74bytes Ethernet II,Src: f0:de:f1:ef:cf:3e, Dst: 08:81:f4:9e:47:f0 Internet Protocol,Src Addr:10.10.56.126(10.10.56.126),Dst Addr:210.31.32.7(210.31.32.7) 分析 第三帧,74字节在线,捕获74字节 到达时间:2014年11月11日15点49分35秒 包长度:74字节 捕获长度:74字节 以太网2,源物理地址:f0:de:f1:ef:cf:3e,目标物理地址:08:81:f4:9e:47:f0 源IP地址:10.10.56.126 目标IP地址:210.31.32.7 3.3 TRACERT 命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8

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

用wireshark分析HTTP协议实验报告

利用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.360docs.net/doc/8910322191.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

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

TCP协议实验报告

学生实验报告 姓名:_________ 学号:____________ 班级:________________ 指导老师:_______________ 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1. 通过协议分析软件掌握TCP协议的报文格式; 2. 理解TCP报文段首部各字段的含义; 3. 理解TCP建立连接的三次握手机制; 4. 了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上in ternet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可 靠地传输到接收方; TCP首部格式如下图所示: 位U 3 16 24 31 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口 号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务, 它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号 表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收 了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号 字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位 用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送 方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出

超文本传输协议http实验报告

超文本传输协议http实验报告 篇一:计算机网络实验超文本传输协议Http分析 实验二超文本传输协议 Http分析 一、实验目的 通过分组捕获软件Wireshark来分析Http协议的以下内容: 1、 Http协议的Get/Resonse互动机制; 2、 Http协议的分组格式; 3、如何利用Http传输Html文件; 4、如何利用Http传输图片、动画等嵌入式文件; 5、观察Http的安全性能。 二、实验条件 1、Wireshark软件 2、IE浏览器 三、实验预习要求: 复习课本节的相关内容 四、实验内容:

1. Http的基本请求/响应互动机制 本实验通过访问一个最简单的页面展开,即该html 文件中不引用任何其它嵌入式文件(如图片、视频等)。操作步骤如下: 1、打开IE浏览器; 2、打开Wireshark软件,打开抓包菜单中的网络接口子菜单,从中选择本机使用的网络接口。 3、切入包捕获界面后,在过滤栏中输入http && == || == ,即只观察与交互的http分组。 4、在IE浏览器输入:;此时浏览器应该会显示一个最简单的html页面(只有一行)。 5、此时,你的Wireshak软件应该如下所示: 图1: 访问后的 Wireshark显示界面 从上图中可观察到总共捕获到四个http包,其中,包括两对Http的Get分组(由本机浏览器向服务器发出的请求)以及服务器返回的响应分组。需要注意的是,第一轮请求与回复请求的是具体的页面;而第二轮请求与回复涉及的却是一个文件。分组内容展示窗口中可以观察这两个分组

的详细信息。从展开的分组内容中可以看出:Http包是经由Tcp协议传输,而Tcp又是附加在IP数据包的基础上,后者又附加在一个以太网帧内。以第一轮分组为观察目标,试着回答如下问题: 1. 你的浏览器运行的是什么协议版本?还是 ? 服务器运行的又是什么版本呢? 2. 你的浏览器告诉服务器它能够接受的语言是? 3. 你浏览器所在的IP是?服务器的Ip又是? 4. 服务器返回给浏览器的状态代码是?这次访问成功了么? 5. 浏览器所访问的Html文件上次被修改的时间是? 6. 间隔两分钟后再重新访问该Html文件(即刷新IE 浏览器),再次查看Html文件上被修改的时间是?对比与问题5的答案,你观察出了什么结论? 7. 服务器返回给浏览器的分组的内容长度是多少? 2. Http附加条件判断的请互动机制 从课本节中我们知道,当前主要浏览器都有一个缓存机制,即将刚访问的页面内容保存在IE缓存区。在此基础上,当用户重新访问该页面时,浏览器会智能地发出一个带

网络协议实践课程实验报告

一、实验目的:通过实验了解系统漏洞,学会发现系统漏洞。 二、实验内容:搭建一个实验环境,使用namp工具对可能存在漏洞的开放 端口进行扫描,将结果保存在namp.cap文件里。 三、实验原理: 缓冲区溢出攻击者必须非常熟悉服务器端运行的程序的特点。他们必须知道服务器程序会分配多少空间用于接收到来的请求,并准确知道将要插人的代码写到人何处。攻击者可以很容易地获得服务器应用程序的代码拷贝,并对其进行研究和攻击练习。他们常常是对最流行的服务器软件包的默认设置进行研究,因为大部分计算机都是在这些设置下运行的。通常编写的恶意代码都会向其他有漏洞的主机进行打一散。例如,利用缓冲区溢出漏洞进人系统的恶意代码会对其他主机执行同样的攻击。恶意代码也可能在计算机上搜索电子邮件地址,并且把它自己的拷贝作为电子邮件的附件发送出去。 在本实验中,我们将对一个用于探测网络中另一个系统的开放端口或漏洞的网络应用程序的跟踪结果进行观察分析。我们也将对一个感染了冲击波蠕虫病毒的计算机的跟踪结果进行分析。我们会看到它是如何通过试图在Windows分布式组件对象模型(DCOM)和远程过程调用(RPC)接口中发掘漏洞来传播自己的。 四、实验器材、环境配置操作及实验数据的产生: 本实验的跟踪记录可在两个配置中捕获。在第一个配置图中,一个在防火墙后运行DHCP的PC机,用于扫描防火墙下开放的端口。在第二个配置图中,我们在校园网环境中选择了一台感染冲击波蠕虫病毒的PC机进行网络行为跟踪。 配置图一

配置图二 在第一个实验中,我们使用nmap工具来对另一台主机192. 168. 0. 1的开放端口或可能的漏洞进行扫描。我们识别到一个开放端口,HTTP端口,将跟踪结果保存在nmap. cap文件中。像nmap这样的端口扫描程序通过向许多常用端口发送SYN分组以检测开放端口(或漏洞)。在本例中,SYN分组一共发送给了1658个端口。如果服务器软件在这些端口上监听,它就会返回一个SYNACK分组作为回应。当扫描结束时,你会全面了解到系统可能存在的漏洞。 端口扫描可以用来评估你电脑的安全性,但是它也被认为是一种对他人计算机进行端口扫描的攻击。在本实验中,我们只用nmap来扫描单个的目标主机,但是它也可以被用于扫描整个网络。 在nmap. cap文件中,我们使用tcp.flags.syn==1&&tcp.flags.ack= =0过滤器来显示出由nmap发出的用于探测端口的分组。从统计概要可以看出,它一共发出了6693个分组,向扫描的1658个端口中的每个端口发送了3—4个SYN 分组。端口扫描并不是从端口号较低的端口扫描到端口号较高的端口。它甚至不会对一个指定的端口发送所有的探测信息。我们可以注意到nmap扫描对很多探测分组重复使用相同的源端口。例如:分组巧到44都是使用50210端口作为探测分组的源端口。如果不是端口扫描,操作系统一般都会为每次连接分配一个不同的暂时的端口。 Ethereal为一些众所周知端口号取了相应的名字。如端口21取名为ftp 。IANA发布了一系列的众所周知端口号列表。这个列表为常用的服务指定了相应的端口号。例如:Web服务器使用众所周知端口80,邮件发件服务器使用众所周知端口25。通常,端口号从。到1023都是众所周知端口。在大部分的系统中,只有具有一级或管理员级权限的程序才可以使用这些端口。 为了识别出所有成功的扫描,我们将Ethereal的过滤规则设定为: tcp.flags.syn==1&&tcp.flags.ack= =1,这样可以过滤出所有SYNACK分组。从这个过滤器中可以看到,惟一开放的端口为80端口,我们可以进一步使用过滤规则tcp.port= 8 0从所有数据流中分离出与80端口有关的数据流。当目标主机响应一个SYNACK分组后,nmap响应一个RST置位的分组来关闭连接。

网络协议实验报告汇总

实验一以太网链路层帧格式分析 一.实验目的 分析MAC层帧结构 二.实验内容及步骤 步骤一:运行ipconfig命令 在Windows的命令提示符界面中输入命令:ipconfig /all,会显示本机的网络信息: 步骤二:编辑LLC信息帧并发送 1、打开协议数据发生器,在工具栏选择“添加”,会弹出“网络包模版”的对话框,在“选择生成的网络包”下拉列表中选择“LLC协议模版”,建立一个LLC帧。

2、在“网络包模版”对话框中点击“确定”按钮后,会出现新建立的数据帧,此时在协议数据发生器的各部分会显示出该帧的信息。 3、编辑LLC帧。 4、点击工具栏或菜单栏中的“发送”,在弹出的“发送数据包”对话框上选中“循环发送”,填入发送次数,选择“开始”按钮,即可按照预定的数目发送该帧。在本例中,选择发送10次。 5、在主机B的网络协议分析仪一端,点击工具栏内的“开始”按钮,对数据帧进行捕获,按“结束”按钮停止捕获。捕获到的数据帧会显示在页面中,可以选择两种视图对捕获到的数据帧进行分析,会话视图和协议视图,可以清楚的看到捕获数据包的分类统计结果。 步骤三:编辑LLC监控帧和无编号帧,并发送和捕获 步骤四:保存捕获的数据帧 步骤五:捕获数据帧并分析 1、启动网络协议分析仪在网络内进行捕获,获得若干以太网帧。 2、对其中的5-10个帧的以太网首部进行观察和分析,分析的内容为:源物理地址、目的物理地址、上层协议类型。 捕获到的数据报报文如下:

对所抓的数据帧进行分析: ①MAC header: 目的物理地址:00:D0:F8:BC:E7:08 源物理地址:00:13:D3:51:44:DD 类型:0800表示IP协议 ②IP header: IP协议报文格式如下: 版本:4表示IPv4 首部长度:5表示5×4=20个字节。 服务类型:00表示正常处理该数据报。 总长度:0028表示此数据报的总长度为40字节。

TCP协议实验报告

学生实验报告 姓名:学号:班级:指导老师: 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1.通过协议分析软件掌握TCP协议的报文格式; 2.理解TCP报文段首部各字段的含义; 3.理解TCP建立连接的三次握手机制; 4.了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上internet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方; TCP首部格式如下图所示: 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务,它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出错。

(完整)利用wireshark分析HTTP协议

计算机网络实验报告 年级:通信姓名:学号: 实验日期:2014年4月30日星期三 实验名称:利用wireshark分析HTTP协议 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、利用Wireshark俘获HTTP分组 (1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns完成操作。 (2)启动Wireshrk 分组俘获器。 (3)在Web 浏览器中输入:https://www.360docs.net/doc/8910322191.html,/wireshark-labs/HTTP-wireshark-file1.html (4)停止分组捕获。

图1:利用Wireshark俘获的HTTP分组 浏览Web页面经过如下三个过程: (一)DNS解析 在URL https://www.360docs.net/doc/8910322191.html,中,https://www.360docs.net/doc/8910322191.html, 是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名https://www.360docs.net/doc/8910322191.html,转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过https://www.360docs.net/doc/8910322191.html,这样的域名。当输入URL https://www.360docs.net/doc/8910322191.html,时,将要求Web服务器从主机https://www.360docs.net/doc/8910322191.html,上请求数据,但首先Web浏览器必须确定这个主机的IP地址。 (二)TCP连接建立 随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。 (三)HTTP交互

实验1-Wireshark协议分析-HTTP协议

实验二利用Wireshark分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、利用Wireshark俘获HTTP分组 (1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。打开浏览器,找到Internet选项,点击后出现如图1所示的界面。以IE浏览器为例,步骤为:点击浏览器右上角的“工具”-“Internet选项”。 图1 Internet选项 之后,还要在客户端清空DNS高速缓存,以确保Web服务器域名到IP地址的映射是从网络中请求的。在Windows系列的机器上,可在命令提示行输入ipconfig/flushdns 完成操作(如图2所示);具体步骤及Linux、MAC等系统的清空方法请参见:

。 图2 命令提示行输入ipconfig/flushdns完成操作 (2)启动Wireshark 分组俘获器。 (3)在Web 浏览器中输入: (重庆大学网站)。 (4)停止分组俘获。 图3 利用Wireshark俘获的HTTP分组 在URL 中,是一个具体的web 服务器的主机名。最前面有两个DNS分组。第一个分组是将主机名转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过这样的主机名。当输入URL 时,将要求Web服务器从主机上请求数据,但首先Web浏览器必须确定这个主机的IP地址。 小提示--域名和主机关系举例:域名https://www.360docs.net/doc/8910322191.html,下,有主机server1和server2,其主机全名就是https://www.360docs.net/doc/8910322191.html,和https://www.360docs.net/doc/8910322191.html,。

TCP协议实验报告

学生实验报告 :学号:班级:指导老师: 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1.通过协议分析软件掌握TCP协议的报文格式; 2.理解TCP报文段首部各字段的含义; 3.理解TCP建立连接的三次握手机制; 4.了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上internet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方; TCP首部格式如下图所示: 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务,它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出

常见网络协议实验报告

电子科技大学 信 息 网 络 技 术 实 验 报 告 政治与公共管理学院 2016-03-17

实验名称常见网络协议分析实验实验编号 6.3 姓名 学号 成绩

一、实验室名称 政管电子政务实验可视化办公室 二、实验项目名称 常见网络协议分析实验 三、实验原理 利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别;利用wireshark捕获一次网页打开的过程,通过观察整个网页获得全过程,加强对HTTP协议的理解,通过观察捕获分组分析和理解HTTP 协议细节和格式;通过追踪本地ping实验过程和远程ping实验过程,观察整个网页获得全过程,利用wireshark捕获实验记录,分析本地ping和远程ping的区别,加深对ICMP协议的理解;掌握FTP服务器软件的安装,使用FTP命令进行文件的上传、下载等操作。 四、实验目的 通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。 五、实验内容 实验3利用wireshark分析ping过程 Ping回顾: What’s PING? Ping程序目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返ICMP回显应答. 一般而言(无路由器和防火墙限制),如果不能 Ping到某台主机,那么通常可以用Ping 程序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有”多远”。 ICMP回显请求和回显应答报文格式

ICMP报文类型 利用wireshark捕获分组示例: LAN Ping ICMP和ARP报文分别为2个和1个,捕获后wireshark面板显示

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

深圳大学实验报告 实验课程名称:计算机网络 实验项目名称:使用wireshark进行协议分析 学院:计算机与软件学院专业:计算机科学与技术报告人:邓清津学号:46 班级:2班 同组人:无 指导教师:杜文峰 实验时间:2013/6/10 实验报告提交时间:2013/6/10 教务处制

一、实验目的与要求 学习使用网络数据抓包软件.学习使用网络数据抓包软件wireshark,并对一些协议进行分析。 二、实验仪器与材料 Wireshark抓包软件 三、实验内容 使用wireshark分析各层网络协议 协议 协议,ICMP协议 协议 层数据帧 为了分析这些协议,可以使用一些常见的网络命令。例如,ping等。 四、实验步骤 1、安装Wireshark,简单描述安装步骤: 2、打开wireshark,选择接口选项列表。或单击“Capture”,配置“option” 选项。

3.点击start后,进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。 4. 开始分组捕获后,会出现如图所示的分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。

一、分析HTTP协议 1.在浏览器地址栏中输入某网页的URL,如:。为显示该网页,浏览器需要连接的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。 2.在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。 3.点击其中一个http协议包

请求行:方法字段:GET,版本是http/. 首部行:主机host:; Connection:Keep-Alive,即保持持久连接; Accept-language:zh-cn,即接收语言是中文。 二、使用wireshark分析ARP协议 1.在显示筛选编辑框中输入“arp”,单击“apply”,分组列表窗口将只显示ARP消息。 2.点击第一行,查看具体数据: 可以看出硬件类型(hardwaretype)是以太网(1),协议类型(protocoltype)为0x0800,表示使用ARP的协议类型为IPV4。硬件地址长度(hardwaresize)为6。协议地址长度(protocolsize)为4。

徐州工程学院计算机网络实验报告——HTTP协议

《计算机网络(II)》实验报告 一、实验目的 掌握HTTP协议的工作方式和原理,理解HTTP协议帧内容。 二、实验内容 练习一 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://172.16.1.100/experiment,并连接。 4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习使用HTTP协议的哪种方法?简述这种方法的作用。 答:本练习使用HTTP的get的方法,这种方法的作用是请求读取URL所标志的信息。读取内容。 ●根据本练习的报文内容,填写下表。 主机名172.16.1.100 URL http://172.16.1.100/exper iment 服务器类型Apache/2.2.3 (Cent OS) 传输文本类型text/html 访问时间Fri, 09 Dec 2011 12:34:07 ●参考“会话分析”视图显示结果,绘制此次访问过程的报文交互图(包括TCP协议)。 ●简述TCP协议和HTTP协议之间的关系。

http协议是TCP众多协议中的一种,它是支持超文本传输协议的。 练习二 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://172.16.1.100/experiment/post.html”,并连接。在返回页面中,填写“用户名”和“密码”,点击[确定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习的提交过程使用HTTP协议的哪种方法?简述这种方法的作用。 答:使用了POST报文的方法,此方法的作用是给服务器添加信息。 ●此次通信分几个阶段?每个阶段完成什么工作? 答:四个阶段,分别是连接服务器,发送POST报文,服务器返回信息,断开连接 ●参考“会话分析”视图显示结果,绘制此次提交过程的报文交互图(包括TCP协议)。 练习三 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A启动“实验平台工具栏中的TCP工具”。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A在“TCP工具”上,选中“客户端”单选框,设置“IP地址”为服务器IP(172.16.1.100);设置“端口”为80;单击[连接]按钮来和服务器建立连接。 4. 主机A在“TCP工具”上,设置“发送数据(文本)”为以下内容: HEAD /experiment/ HTTP/1.1 Host: 172.16.1.100 点击[发送]按钮。(注:是回车换行) 点击[断开]按钮,断开TCP连接(由于不同http版本所遵循的规范不同,有些HTTP服务器不需要断开操作)。

实验七-HTTP协议分析实验报告

北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级:学号:姓名:指导教师:成绩 实验题目:HTTP协议分析实验时间: 一、实验目的: 掌握HTTP协议首部种类、格式、主要字段的含义。 二、实验内容及步骤: 1.实验内容: 用科莱网络分析系统捕获HTTP报文段,观察几种常用HTTP报文段的格式和主要字段的含义。2实验步骤: (1)实验准备 打开浏览器,清空缓存,打开可来网络分析系统,开始捕获数据包,在浏览器地址栏输入https://www.360docs.net/doc/8910322191.html,,页面显示完成后,停止捕获。 (2)观察HTTP报文 观察捕获到的HTTP报文中的HTTP请求和HTTP应答报文。 (3)记录在HTTP请求报文和相应报文中个字段的名成个个字段的值,说明每个字段的含义。 三、实验结果 上图是实验请求报文。

上图是HTTP的响应报文。 三、思考与讨论 1、通过实验和检查资料,写出HTTP协议的请求报文和响应报文都包括哪些字段?各个字段 的含义和作用是什么? 答:一个HTTP请求报文由请求行首部和实体主体3个部分组成: (1)请求行请求 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。 (2)首部行 由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有: User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。 首部行结束时,还有一行空行将首部行和后面的实体主体分开 (3)实体主体 实体主体不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length. HTTP响应报文:HTTP响应报文也由三个部分组成,分别是:状态行、首部行和实体主体3个部分组成: 状态行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF 其中,H T T P-V e r s i o n表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。 1xx:指示信息表示请求已接收,继续处理。 2xx:成功--表示请求已被成功接收、理解、接受。 3xx:重定向--要完成请求必须进行更进一步的操作。 4xx:客户端错误--请求有语法错误或请求无法实现。 5xx:服务器端错误--服务器未能实现合法的请求。 2、在捕获的HTTP请求报文和响应报文中,显示的HTTP版本号是多少?

相关主题
相关文档
最新文档