当前位置:文档之家› 网络协议分析课设

网络协议分析课设

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

网络流量分析

一、课程设计目的

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

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

二、课程设计内容

流量分析

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

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

内容:Web流量分析

清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答):

清除本机dns缓存:

(1)简述访问web页面的过程。

输入网址,然后按回车,浏览器连接dns服务器,查找你输入的域名对应的ip地址,查到ip地址以后,浏览器连接该ip地址的80端口,发送查询网页请求,web服务器收到查询请求,发送被查询网页给请求浏览器,一次访问完成.

(2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?

所请求域名的IP地址是什么?

首先访问

然后使用过滤器捕获特定分组。过滤显示DNS协议的分组:

第三个包的详细信息:(DNS解析请求的分组)

传输层使用的协议是UDP,源端口为:1025,目的端口为:53

DNS服务器的ip地址为202.117.128.2,本地ip地址为:192.168.1.118 第四个包的详细信息:(DNS解析应答的分组)

传输层使用的协议是UDP,源端口为:53,目的端口为:1025

在应答分组中,DNS服务器给出了所请求的域名ip地址为:119.75.217.109 即为的ip地址。

(3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)

(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。

Tcp建立连接的过程如下图所示:

第一次握手:(源端口ip地址:192.168.1.129,目标端口ip地址:119.75.217.109)

源端口:1042目标端口:80 syn=1,fin=null,seq=0,ack=null,没有携带数据。

第二次握手:(源端口ip地址:119.75.217.109,目标端口ip地址: 192.168.1.129)

第三次握手:(源端口ip地址:192.168.1.129,目标端口ip地址:119.75.217.109)

源端口:1042目标端口:80 syn=null,fin=null,seq=1,ack=1,没有携带数据。

(5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?

四元组:源ip地址:192.168.1.129 目的ip地址:119.75.217.109

源端口:1042 目的端口:80

双方协商的SEQ为0,第三次握手没有携带数据,消耗了一个序列号。

(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。

第一次挥手:

Seq=6811,ack=971,FIN=1,ACK=1; 第二次挥手:

Seq=971,ack=6812,FIN=0,ACK=1; 第三次挥手:

Seq=1445,ack=615,FIN=1,ACK=1; 第四次挥手:

Seq=615,ack=1446,FIN=0,ACK=1;

(7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个

值?

答:释放请求是由服务器主动发起。FIN报文段携带数据,消耗一个序号。FIN报文段的序号是6811和1445,因为FIN的序号是等于它前面已经传过的数据的最后一个字节的序号加1。

(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本200

页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本编程

实现)

(9)分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。

http请求报文:

http响应报文:

(10)访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。)

以上是两个端口号都为2547的包,说明两次连接采用的是连续连接。

(11)请描述HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页)

HTTP协议的持续连接的两种工作方式有非流水线方式和流水线方式.

非流水线方式:客户在收到钱一个响应后才能放出下一个请求

。这比非持续性连接的两倍rtt的开销节省建立tcp连接所需的一个rtt时间。但服务器在发完成一个对象后,其tcp连接处于空闲状态,浪费的服务器资源。

流水线方式:客户在收到HTTP响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线发式时,客户访问所有的对象只需要话费一个rtt时间使tcp连接中的空闲时间减少,提高下在文档效率。、

访问这些页面采用的是流水线方式.

三、设计与实现过程

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

四、设计技巧及体会

通过本次实验,我对Wireshark有了深刻的了解,学会了使用Wireshark抓包,捕获ip数据报,对计算机网络知识有了更深刻的理解,这次实验加深了我对IP、DSN 、TCP、UDP、HTTP等协议的理解,同时动手能力也得到了提高,总的来说从这次实验学到了很多知识,获益匪浅。

相关主题