网络协议分析与仿真课程设计报告
网络流量分析
一、课程设计目的
加深对IP、DSN 、TCP、UDP、HTTP等协议的理解;
掌握流量分析工具的使用,学习基本的流量分析方法。
二、课程设计内容
流量分析
工具:Wireshark(Windows或Linux),tcpdump(Linux)
要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
内容:Web流量分析
清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答):
(1)简述访问web页面的过程。
(2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?
所请求域名的IP地址是什么?
(3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)
(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
(5)针对(4))中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个
序号?
(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
(7)针对(5)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是
这个值?
(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课
本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用
脚本编程实现)
(9)分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。
(10)访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。)
(11)请描述HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页)
三、设计与实现过程
1.简述访问web页面的过程。
1.进入一个网页, 或者其他网络资源,首先在浏览器上键入你想访问
网页的统一资源定位符(Uniform Resource Locator),或者通过超
链接方式链接到那个网页或网络资源。
2.是URL的服务器名部分,被名为域名系统的分布于全球的因特网数
据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。
3.为所要访问的网页,向在那个IP地址工作的服务器发送一个HTTP
请求。在通常情况下,HTML文本、图片和构成该网页的一切其他文
件很快会被逐一请求并发送回用户。
4.网络浏览器接下来的工作是把HTML、CSS和其他接受到的文件所描
述的内容,加上图像、链接和其他必须的资源,显示给用户。这些
就构成了你所看到的“网页”。
2.找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的IP地址是什么?
该查询报文时查询的IP地址,使用的传输层协议时UDP协议。端口号为53.
传输层使用了协议UDP,端口号是53,请求的域名IP地址是115.25.217.12
3.统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)
由上图知,有35个请求IP分组,由0个响应IP分组。
4.找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
第一次握手
第二次握手
第三次握手
5.针对(4))中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?
第一次握手:
四元组是:
源IP地址:192.168.1.113
目的IP地址:119.75.217.109
源端口:1232
目的端口:80
双方协商的起始序号:0
第二次握手:
四元组是:
源IP地址:119.75.217.109
目的IP地址: 192.168.1.113
源端口:80
目的端口:1232
双方协商的起始序号:0
第三次握手:
四元组是:
源IP地址:192.168.1.113
目的IP地址:119.75.217.109
源端口:1232
目的端口:80
双方协商的起始序号:1
TCP连接建立的过程中,第三次握手没有带有数据,消耗了一个序号
6.找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
第一次
第二次
第三次
第四次:
7.针对(5)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?