网络协议分析与仿真课程设计报告书_第1页
网络协议分析与仿真课程设计报告书_第2页
网络协议分析与仿真课程设计报告书_第3页
网络协议分析与仿真课程设计报告书_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安郵電大學网络协议分析与仿真课程设计报告书院系名称:实验内容:学生姓名:专业名称:计算机学院网络流量分析网络工程班级:学号:时间:2012年 12月 15日1/12网络协议分析与仿真课程设计报告网络流量分析一、课程设计目的加深对 IP、DSN 、TCP、 UDP、HTTP等协议的理解;掌握流量分析工具的使用,学习基本的流量分析方法。二、课程设计内容流量分析? 工具: Wireshark(Windows 或 Linux),tcpdump (Linux)? 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。? 内容: Web 流量分析清除本机 DNS缓存,访问某一网站主页,

2、捕获访问过程中的所有分组,分析并回答下列问题(以下除 1、3、8、11 外,要求配合截图回答):( 1) 简述访问 web 页面的过程。( 2) 找出 DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的 IP 地址是什么?( 3) 统计访问该页面共有多少请求 IP 分组,多少响应 IP 分组?(提示:用脚本编程实现)( 4) 找到 TCP连接建立的三次握手过程,并结合数据,绘出 TCP连接建立的完整过程,注明每个 TCP报文段的序号、 确认号、以及 SYNACK的设置。( 5) 针对( 4)中的 TCP连接,该 TCP连接的四元组是什么?双方协商的起始序号是什么?

3、TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?( 6) 找到 TCP连接的释放过程,绘出 TCP连接释放的完整过程, 注明每个 TCP 报文段的序号、确认号、以及 FINACK的设置。( 7) 针对(6)中的 TCP连接释放,请问释放请求由服务器还是客户发起? FIN 报文段是否携带数据,是否消耗一个序号? FIN 报文段的序号是什么?为什么是这个值?( 8) 在该 TCP连接的数据传输过程中,找出每一个 ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延 RTT(即 RTT样本值)。根据课本 200 页节内容,给每一个数据报文段估算超时时间 RTO。(

4、提示:用脚本编程实现)( 9) 分别找出一个HTTP 请求和响应分组,分析其报文格式。参照课本2432/12页图 6-12 ,在截图中标明各个字段。( 10) 访问同一网站的不同网页,本次访问中的TCP 连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。 )( 11) 请描述 HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241 页)三、设计与实现过程( 1) 简述访问 web页面的过程。1)解析 Web页面的 URL,得到 Web服务器的域名2)通过 DNS服务器获得 Web服务器的 IP 地址3)与

5、 Web服务器建立 TCP连接4)与 Web 服务器建立 HTTP 连接5)从 Web 服务器获得 URL 指定的文档6)浏览器解释页面文档,并显示在屏幕(2)、找出 DNS 解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的 IP 地址是什么?DNS解析请求,应答分组:请求:(本机端口: 59257; DNS 服务器端口: 53)应答:( DNS 服务器端口: 53;本机端口: 59257)传输层协议: udp 协议。所请求域名 ip 是:( 3)、统计访问该页面共有多少请求 IP 分组,多少响应 IP 分组?(提示:用脚本编程实现)请求分组:3/12脚本Package

6、_count.sh#!/bin/bash#by sky version 1.0#20121205function checkip dot=echo $1 | awk -F '.' 'print NF-1'if $dot -ne 3 ; thenreturn 1ifcount=0for var in echo $1 | awk -F. 'print $1, $2, $3, $4'doecho $var | grep "0-9*$" >/dev/nullif $? -ne 0 ; thenreturn 1fiif $var

7、-ge 0 -a $var -le 255 ; then(count=count+1)continueelsereturn 1fidoneif $count -eq 4 ; thenreturn 0elsereturn 1fiif $# -eq 0 -o $# -ne 2 thenecho "Usage:shellname filename ipaddress"echo "just like:4/12exit 1fiif ! -f $1 thenecho "The $1 is no exist"exit 2fi#echo $2 | grep &

8、#39;(0-91,3.)30-91,3' >> /dev/null checkip $2if $? -ne 0 thenecho "Please input effective IP"exit 3finumber=grep "Src: $2 " $1 2> /dev/null | wc -l if $number -eq 0 thenecho "Please input an IP than include the $1"exit 4fiecho "The $2 as source has $nu

9、mber packages"(4) 找到 TCP连接建立的三次握手过程, 并结合数据,绘出 TCP连接建立的完整过程,注明每个 TCP报文段的序号、确认号、以及 SYNACK的设置。与 tcp 建立连接的三次握手的分组:TCP三次握手过程5/12第一次握手:建立连接时,客户端发送syn 包 (syn=j) 到服务器,并进入SYN_SEND 状态,等待服务器确认;第二次握手:服务器收到 syn 包,必须确认客户的 SYN( ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;第三次握手:客户端收到服务器的 SY

10、N ACK 包,向服务器发送确认包 ACK(ack=k+1) ,此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。实现过程如下:第一次:(序号: 0, SYN: 1)第二次:(序号: 0, 确认号: 1,SYN :1,ACK:1 )第三次:(序号: 1, 确认号: 1,SYN :0,ACK:1 )6/12( 5)针对( 4)中的 TCP 连接,该 TCP 连接的四元组是什么?双方协商的起始序号是什么? TCP 连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?四元组:源地址;目的地址;源端口 -49382目的端口 -80协商的起始序号: 0;第三次握手未

11、携带数据。消耗一个序号。7/12( 6)找到 TCP连接的释放过程, 绘出 TCP连接释放的完整过程, 注明每个 TCP 报文段的序号、确认号、以及 FINACK的设置。TCP 释放过程:A、服务器向本机请求释放:B、本机响应服务器的请求释放: (半关闭)C、本机向服务器请求释放连接:D、服务器响应本机的请求释放:TCP的释放过程流程图:8/12(7) :针对( 6)中的 TCP 连接释放,请问释放请求由服务器还是客户发起? FIN 报文段是否携带数据, 是否消耗一个序号? FIN 报文段的序号是什么?为什么是这个值?释放请求由服务器发起。FIN 报文段未携带数据。消耗了一个序号:实现过程如下

12、:FIN 报文段的序号是 436(8)、在该 TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即 RTT样本值)。根据课本 200 页节内容,给每一个数据报文段估算超时时间RTO。9/12脚本#!/bin/bash#by sky version 1.0#20121207if $# -ne 1 thenecho "Usage:shellname filename"echo "Just like:rtt_count.sh http"exit 1fiif ! -f $1 thenecho &qu

13、ot;Please input an effective file"exit 2figrep RTT $1 |awk 'BEGINs1=0.125; s2=0.875; d1=0.25; d2=0.75 RTTNR=$9; line_num=NRENDfor( i=1; i<=line_num; i+ )RTTSi=s2*RTTi-1+s1*RTTi;RTTDi=d2*RTTDi-1+d1*(RTTSi>RTTi?RTTSi-RTTi:RTTi-RTTSi);10/12printf("The number is %dttRTTS->%0.8ftRT

14、TD->%0.8ftRTTS->%0.8fn",i,RTTSi,RTTDi,RTTSi +4*RTTDi)'(9)、分别找出一个 HTTP请求和响应分组,分析其报文格式。参照课本243 页图 6-12 ,在截图中标明各个字段。请求报文:响应报文:10)、访问同一网站的不同网页, 本次访问中的 TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。)访问同一网站的另一网页本次访问中的 TCP连接是与上次访问不相同(11)、请描述 HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课

15、本241 页)11/12http 协议的持续连接的两种工作方式:a. 非流水线方式:客户在收到前一个响应后才能发出下一个请求,在TCP连接已建好后,客户每次访问一次对象都要用去一个往返时间RTT。b. 流水线方式:客户在收到 HTTP的响应报文之前就能够接着发送新的请求报文,客户访问所有的对象只需花费一个 RTT时间。访问这些页面过程中采用流水线方式四、设计技巧及体会通过本次课程设计,我们加深对IP、DSN 、 TCP、 UDP、HTTP等协议的理解;并且通过用 wireshark 流量分析工具,进行抓包、过滤、筛选等一系列操作获取到有用的数据进行观察、分析、处理。通过观察和处理数据,更加深刻的理解了tcp 建立的三次握手、 以及释放的四次挥手过程以及更加明确的了解了tcp、udp、http 等协议的工作原理,以及他们的作用。而且我们也学会了在Linux 环境下用shell 或 perl 脚本编程实现一些数据的统计与计算功能, 提高了我们的 Linux 操作技能,丰富了我在 Linux 方面的知识。本次试验我遇到了很多问题,包括抓包过程由于出现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论