网络协议分析与仿真课程设计报告书.doc
《网络协议分析与仿真课程设计报告书.doc》由会员分享,可在线阅读,更多相关《网络协议分析与仿真课程设计报告书.doc(12页珍藏版)》请在咨信网上搜索。
西安郵電大學 网络协议分析与仿真 课程设计报告书 院系名称 : 计算机学院 实验内容 : 网络流量分析 学生姓名 : 专业名称 : 网络工程 班 级 : 学号 : 时间 : 2012年12月15日 网络协议分析与仿真课程设计报告 网络流量分析 一、 课程设计目的 l 加深对IP、DSN 、TCP、UDP、HTTP等协议的理解; l 掌握流量分析工具的使用,学习基本的流量分析方法。 二、 课程设计内容 l 流量分析 Ø 工具: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) 针对(6)中的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)解析Web页面的URL,得到Web服务器的域名 2)通过DNS服务器获得Web服务器的IP地址 3)与Web服务器建立TCP连接 4)与Web服务器建立HTTP连接 5)从Web服务器获得URL指定的文档 6)浏览器解释页面文档,并显示在屏幕 (2)、找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的IP地址是什么? DNS解析请求,应答分组: 请求:(本机端口:59257;DNS服务器端口:53) 应答:(DNS服务器端口:53;本机端口:59257) 传输层协议:udp协议。 所请求域名ip是:123.125.160.40 (3)、统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现) 请求分组: (ip.src eq 172.16.1.234 or ip.dst eq 172.16.1.234) and( ip.src eq 123.125.160.40 or ip.dst eq 123.125.160.40) 脚本 Package_count.sh #!/bin/bash #by sky version 1.0 #20121205 function checkip { dot=`echo $1 | awk -F '.' '{print NF-1}'` if [ $dot -ne 3 ]; then return 1 if count=0 for var in `echo $1 | awk -F. '{print $1, $2, $3, $4}'` do echo $var | grep "^[0-9]*$" >/dev/null if [ $? -ne 0 ]; then return 1 fi if [ $var -ge 0 -a $var -le 255 ] ; then ((count=count+1)) continue else return 1 fi done if [ $count -eq 4 ]; then return 0 else return 1 fi } if [ $# -eq 0 -o $# -ne 2 ] then echo "Usage: shellname filename ipaddress" echo "just like: package_count.sh http 172.16.1.234" exit 1 fi if [ ! -f $1 ] then echo "The $1 is no exist" exit 2 fi #echo $2 | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' >> /dev/null checkip ${2} if [ $? -ne 0 ] then echo "Please input effective IP" exit 3 fi number=`grep "Src: $2 " $1 2> /dev/null | wc -l ` if [ $number -eq 0 ] then echo "Please input an IP than include the $1" exit 4 fi echo "The $2 as source has $number packages" (4) 找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。 与tcp建立连接的三次握手的分组: TCP三次握手过程 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 实现过程如下: 第一次:(序号:0, SYN:1) 第二次:(序号:0, 确认号:1,SYN:1,ACK:1) 第三次:(序号:1, 确认号:1,SYN:0,ACK:1) (5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号? 四元组:源地址---172.16.1.234;目的地址---123.125.160.40; 源端口---49382 目的端口---80 协商的起始序号:0; 第三次握手未携带数据。 消耗一个序号。 (6) 找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。 TCP释放过程: A、服务器向本机请求释放: B、本机响应服务器的请求释放:(半关闭) C、本机向服务器请求释放连接: D、服务器响应本机的请求释放: TCP的释放过程流程图: (7) :针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值? 释放请求由服务器发起。 FIN报文段未携带数据。 消耗了一个序号: 实现过程如下: FIN报文段的序号是436 (8) 、在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。 脚本 #!/bin/bash #by sky version 1.0 #20121207 if [ $# -ne 1 ] then echo "Usage: shellname filename" echo "Just like: rtt_count.sh http" exit 1 fi if [ ! -f $1 ] then echo "Please input an effective file" exit 2 fi grep RTT $1 |awk 'BEGIN{s1=0.125; s2=0.875; d1=0.25; d2=0.75} {RTT[NR]=$9; line_num=NR} END{ for( i=1; i<=line_num; i++ ) { RTTS[i]=s2*RTT[i-1]+s1*RTT[i]; RTTD[i]=d2*RTTD[i-1]+d1*(RTTS[i]>RTT[i]?RTTS[i]-RTT[i]:RTT[i]-RTTS[i]); printf("The number is %d\t\tRTTS->%0.8f\tRTTD->%0.8f\tRTTS->%0.8f\n",i,RTTS[i],RTTD[i],RTTS[i]+4*RTTD[i]) } }' (9)、分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。 请求报文: 响应报文: 10)、访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。) 访问同一网站的另一网页 本次访问中的TCP连接是与上次访问不相同 (11)、请描述HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页) http协议的持续连接的两种工作方式: a.非流水线方式:客户在收到前一个响应后才能发出下一个请求,在TCP连接已建好后,客户每次访问一次对象都要用去一个往返时间RTT。 b.流水线方式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文,客户访问所有的对象只需花费一个RTT时间。 访问这些页面过程中采用流水线方式 四、 设计技巧及体会 通过本次课程设计,我们加深对IP、DSN 、TCP、UDP、HTTP等协议的理解; 并且通过用wireshark流量分析工具,进行抓包、过滤、筛选等一系列操作获取到有用的数据进行观察、分析、处理。通过观察和处理数据,更加深刻的理解了tcp建立的三次握手、以及释放的四次挥手过程以及更加明确的了解了tcp、udp、http等协议的工作原理,以及他们的作用。而且我们也学会了在Linux环境下用shell或perl脚本编程实现一些数据的统计与计算功能,提高了我们的Linux操作技能,丰富了我在Linux方面的知识。 本次试验我遇到了很多问题,包括抓包过程由于出现中断和丢包等问题总是抓不到合适的可以用来整体分析的包,不过通过多次实验终于抓取到所需的包。在开始编写脚本的过程中,由于对脚本语言运用不熟练,是编程过程不怎么顺利,但我努力理解和学习脚本语言,最终克服了这个问题,并且完成了脚本的编写。总的来说,通过本次课程设计,我学习到了很多东西,通过实践和动手操作是我能够更加快速的学到实际并有用的东西,我受益良多。 【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】 精选范本,供参考!- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 协议 分析 仿真 课程设计 报告书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文