网络协议分析课程设计-流量分析报告模板 -ftp

西 安 邮 电 大 学 (计算机学院)

*****设计报告

题 目:

专业名称:班 级:

学生姓名:

学号(8位):

指导教师:

设计起止时间: ****年**月**日—****年**月**日

网络协议分析与仿真课程设计报告

网络流量分析

一、 课程设计目的

网络协议分析课程设计流量分析报告模板ftp

加深对IP、TCP、UDP、FTP等协议的理解;

网络协议分析课程设计流量分析报告模板ftp

掌握流量分析工具的使用,学习基本的流量分析方法。

二、 课程设计内容

网络协议分析课程设计流量分析报告模板ftp

流量分析

? 工具:Wireshark(Windows或Linux),tcpdump(Linux)

? 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 ? 内容:FTP流量分析

配置一个FTP站点,在该FTP站点注册用户,然后以该用户登录FTP服务器,分别下载和上传一个文件后退出。用分组捕获工具记录全过程,分析并回答:

(1) 找出TCP控制连接建立的分组,它的四元组是什么?

(2) 针对(1)中的TCP连接,找出其三次握手过程分组,并结合数据,绘出TCP连

接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?

(3) 针对(1)中的TCP连接,找出其释放过程分组,结合数据,绘出TCP连接释放

的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?

(4) 找出登录(FTP login命令)分组,提取用户名、口令,口令是否加密?

(5) FTP客户端和服务器是如何协商数据连接属性的?

(6) 找出上传文件数据连接的四元组,该连接是谁发起的,谁关闭的?试计算下载

平均速率,并与FTP客户端的速率统计做比较,是否一致?

(7) 在该TCP连接的数据传输过程中,找出每一个数据报文段与其ACK报文段的对

应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本编程实现)

(8) 找出控制连接中的所有FTP命令(login、ls、cd、get、put、quit等)报文段,

分析这些TCP报文段的标志字段,与其它数据报文段相比,有何不同?

三、 设计与实现过程

针对以上的所有问题,一一给出详细的回答,必须配有相关截图,必要时需在截图上框示相关数据。要求有绘图的地方,必须有手绘图。

四、 设计技巧及体会

1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。

2、在设计过程中的感受。

所有正文部分用小四字体

正式报告里请把红色字体全删除! 报告雷同者,抄和被抄者全判0分!

 

第二篇:网络协议分析与仿真课程设计预习报告

西 安 邮 电 大 学 (计算机学院)

网络协议分析与仿真课程设计

预习报告

专业名称:

班 级:

学生姓名: 网络工程 学号(8位):

指导教师:

设计起止时间:20xx年12月2日—20xx年12月13日

题目一网络流量分析

一、 课程设计目的

网络协议分析与仿真课程设计预习报告

加深对IP、DNS 、TCP、UDP、HTTP等协议的理解;

网络协议分析与仿真课程设计预习报告

掌握流量分析工具的使用,学习基本的流量分析方法。

二、课程设计地点及时间

二号实验楼442网络实验室,12月2日至12月6日,每天8:00-14:00

三、课程设计实验条件

? 工具:Wireshark(Windows或Linux),tcpdump(Linux)

? 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 ? 内容:Web流量分析

四、课程设计原理

1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号(源端口号为大于1023随机,目的端口号为UDP53端口)及应用层服务(这里因该是请求DNS查询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MAC地址及目的MAC地址(源MAC地址为客户端网卡MAC地址,目的MAC地址为DNS服务器MAC地址),这里应该查询MAC缓存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。

电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。

2、建立TCP/IP连接:客户端知道WEB服务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信息后回复给客户端SYN+ACK确认信息,客户端收到确认信息后再向服务器发送ACK信息建立连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WWW封装为数据段传给网路层。网络层将数据段+源ip与目的ip(WWW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC地址(本机MAC地址)及目的MAC地址(客户端与路由B相连端口的MAC地址)将数据包封装成数据帧。这里还需要CRC校验。。。。。。数据帧到达物理层后变成电信号发送到介质上(这里还需要访问控制方法DSMA/CD)

路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FCS校验。。。。。。确定数据帧没有损坏后查看目的MAC地址与路由器端口地址是否相同,如果相同将解封装,将数据包发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由A之间的链路,创建帧。

路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEB相连的路由端口。

路由A的数据链路层将查询ARP缓存表确定WWW服务器的MAC地址,路由A将创建源MAC地址(路由A)及目的MAC地址(WEB服务器MAC地址)的数据帧。WEB服务器收到数据帧

后比较MAC地址,确定数据帧是发给WEB服务器的,传给WEB服务器的网络层,查看目的IP地址是否与WEB服务器IP地址是否相同,相同即发送到传输层,查看为TCP协议及80端口号。应用层收到数据即向客户端响应WWW服务请求。

发送网页与请求网页数据发送相同

五、课程设计方案 熟练运用wireshark,进行抓包和解析即可,Wireshark[2]使用目的

以下是一些使用Wireshark目的的例子:

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……

Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。

题目二网络模拟

一、 课程设计目的

掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。

二、课程设计地点及时间

二号实验楼425网络实验室,12月9日至12月13日,每天8:00-14:00

三、课程设计实验条件

Winxp/win7操作系统,ns2,perl,shell和awk多种语言

四、课程设计原理

Ns2:NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。NS2(Network Simulator,version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器,由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有网络传输协议,比如TCP和UDP,业务源流量产生器,比如FTP,Telnet,Web CBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如AODV、DSDV、DSR等无线路由协议。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。

Awk:AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。

五、课程设计方案 从网络拓扑仿真、协议仿真和通信量仿真等方面介绍NS的相应元素:

1.网络拓扑主要包括节点、链路。NS的节点由一系列的分类器(Classifier,如地址分类器等)组成,而链路由一系列的连接器(Connector)组成。

2.在节点上,配置不同的代理可以实现相应的协议或其它模型仿真。如NS的TCP代理,发送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,还提供有UDP代理及接收代理Null(负责通信量接收)、Loss Monitor(通信量接收并维护一些接收数据的统计)。

3.网络的路由配置通过对节点附加路由协议而实现。NS中有三种单播路由策略:静态、会话、动态。

4.在链路上,可以配置带宽、时延和丢弃模型。NS支持:Drop-tail(FIFO)队列、RED缓冲管、CBO(包括优先权和Round-robin 调度)。各种公平队列包括:FQ,SFQ,DRR等。

5.通信量仿真方面,NS提供了许多通信应用,如FTP,它产生较大的峰值数据传输;Telnet则根据相应文件随机选取传输数据的大小。此外,NS提供了四种类型的通信量产生器:EXPOO,根据指数分布(On/Off)产生通信量,在On阶段分组以固定速率发送,Off阶段不发送分组,On/Off的分布符合指数分布,分组尺寸固定;POO,根据Pareto分布(On/Off)产生通信量,它能用来产生长范围相关的急剧通信量;CBR,以确定的速率产生通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;Traffic Trace,根据追踪文件产生通信量。 6使用方法

使用NS进行网络仿真的方法和一般过程。

进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写OTcl脚本。另一个是基于C++和OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C++和OTcl类,编写新的OTcl脚本。

假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:

1.开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。

2.建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。

3.配置业务量模型的参数,从而确定网络上的业务量分布。

4.设置Trace对象。NS通过Trace文件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。

5.编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。

6.用NS解释执行刚才编写的OTcl脚本。

7.对Trace文件进行分析,得出有用的数据。

8.调整配置拓扑结构和业务量模型,重新进行上述模拟过程。

NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C++实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl解释器,称为解释层,主要功能是

对模拟环境的配置、建立。从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTcl脚本解释器。NS2中编译类对象通过OTcl连接建立了与之对应的解释类对象,这样用户间能够方便地对C++对象的函数进行修改与配置,充分体现了仿真器的一致性和灵活性。

相关推荐