- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络协议分析和仿真课程设计报告书
西安郵電學 网络协议分析与仿真课程设计报告
网络流量分析
一、????课程设计目的
加深对IP、DSN 、TCP、UDP、HTTP等协议的理解;
掌握流量分析工具的使用,学习基本的流量分析方法。
二、????课程设计内容
流量分析
工具:Wireshark(Windows或Linux),tcpdump(Linux)
要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
内容:Web流量分析
清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答):
简述访问web页面的过程。
找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的IP地址是什么?
统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)
找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?
找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?
在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本编程实现)
分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。
访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。)
请描述HTTP协议的持续连接的两种工作方式。访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页)
设计与实现过程
简述访问web页面的过程。
1)解析Web页面的URL,得到Web服务器的域名)通过DNS服务器获得Web服务器的IP地址)与Web服务器建立TCP连接)与Web服务器建立HTTP连接)从Web服务器获得URL指定的文档)浏览器解释页面文档,并显示在屏幕
请求:(本机端口:59257;DNS服务器端口:53)
应答:(DNS服务器端口:53;本机端口:59257)
传输层协议:udp协议。
所请求域名ip是:0
(3)、统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)
请求分组:
(ip.src eq 34 or ip.dst eq 34) and( ip.src eq 0 or ip.dst eq 0)
脚本
Package_count.sh
#!/bin/bash
#by sky version 1.0
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 ]; t
文档评论(0)