1、 网络协议分析与仿真 课程设计报告书 院系名称院系名称 : 计算机学院 实验内容实验内容 : 网络流量分析 学生姓名学生姓名 : 专业名称专业名称 : 网络工程 班班 级级 : 学号学号 : 时间时间 : 2012 年年 12 月月 15 日日 网络协议分析与仿真课程设计报告网络协议分析与仿真课程设计报告 网络流量分析网络流量分析 一、一、 课程设计目的课程设计目的 加深对 IP、DSN 、TCP、UDP、HTTP 等协议的理解; 掌握流量分析工具的使用,学习基本的流量分析方法。 二、二、 课程设计内课程设计内容容 流量分析 工具:Wireshark(Windows 或 Linux) ,tcp
2、dump(Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用 perl) 。 内容:Web 流量分析 清除本机 DNS 缓存,访问某一网站主页,捕获访问过程中的所有分组,分析 并回答下列问题(以下除 1、3、8、11 外,要求配合截图回答) : (1) 简述访问 web 页面的过程。 (2) 找出 DNS 解析请求、应答相关分组,传输层使用了何种协议,端口号是 多少?所请求域名的 IP 地址是什么? (3) 统计访问该页面共有多少请求 IP 分组,多少响应 IP 分组?(提示:用 脚本编程实现) (4) 找到 TCP 连接建立的三次握手过程,并结合数据,绘出 TCP 连
3、接建立的 完整过程,注明每个 TCP 报文段的序号、确认号、以及 SYNACK 的设置。 (5) 针对(4)中的 TCP 连接,该 TCP 连接的四元组是什么?双方协商的起始 序号是什么?TCP 连接建立的过程中,第三次握手是否带有数据?是否 消耗了一个序号? (6) 找到 TCP 连接的释放过程, 绘出 TCP 连接释放的完整过程, 注明每个 TCP 报文段的序号、确认号、以及 FINACK 的设置。 (7) 针对 (6) 中的 TCP 连接释放, 请问释放请求由服务器还是客户发起?FIN 报文段是否携带数据,是否消耗一个序号?FIN 报文段的序号是什么? 为什么是这个值? (8) 在该 T
4、CP 连接的数据传输过程中,找出每一个 ACK 报文段与相应数据报 文段的对应关系, 计算这些数据报文段的往返时延 RTT (即 RTT 样本值) 。 根据课本 200 页 5.6.2 节内容, 给每一个数据报文段估算超时时间 RTO。 (提示:用脚本编程实现) (9) 分别找出一个 HTTP 请求和响应分组,分析其报文格式。参照课本 243 页图 6-12,在截图中标明各个字段。 (10) 访问同一网站的不同网页,本次访问中的 TCP 连接是否和上次访问 相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。 ) (11) 请描述 HTTP 协议的持续连接的两种工作方式。访问这些页面(同一 网站的不同页面)的过程中,采用了哪种方式?(参考课本 241 页) 三、三、 设计与设计与实现过程实现过程 (1) 简述访问 web 页面的过程。 1)解析 Web 页面的 URL,得到 Web 服务器的域名 2)通过 DNS 服务器获得 Web 服务器的 IP 地址 3)与 Web 服务器建立 TCP 连接 4)与 Web 服务器建立 HT