计算机网络实验三协议详情分析报告.docx
《计算机网络实验三协议详情分析报告.docx》由会员分享,可在线阅读,更多相关《计算机网络实验三协议详情分析报告.docx(20页珍藏版)》请在冰豆网上搜索。
计算机网络实验三协议详情分析报告
天津理工大学实验报告
学院(系)名称:
计算机与通信工程学院
姓名
学号
2012**
2012**
专业
计算机科学与技术(中加)
班级
教学2班
实验项目
实验三:
协议分析
课程名称
计算机网络
课程代码
0662016
实验时间
2015年6月18日第7、8节
实验地点
7-219
批改意见
成绩
教师签字:
(一)实验目的:
掌握常用TCP/IP协议族中协议的原理及工作过程。
(二)实验环境:
软件环境:
Windows2000/XP
硬件环境:
IBM-PC或兼容机
局域网、PC机连入Internet
(三)实验学时:
2学时,必做.
(四)实验要求:
利用Wireshark抓包,并进行协议分析。
(五)实验内容:
1.熟练掌握Wireshark的使用方法。
2.掌握TCP、IP、ARP、DNS、HTTP和Ethernet等协议的基本原理。
3.详细分析HTTP协议的通信过程。
4.尝试使用FollowTCPStream功能。
(六)实验步骤:
1.安装并启动wireshark。
选择网卡,设置过滤条件,开始抓包。
2.打开浏览器,在地址栏中输入教师指定的web服务器地址。
http:
//202.113.78.39。
为了确保连通性,可以先ping一下服务器。
3.在打开的页面上,鼠标右键单击你看到的图片,将图片另存为到本地。
4.鼠标左键单击图片,页面改变后,关闭浏览器,停止wireshark抓包。
5.在wireshark中将抓到的数据包保存。
6.列举出你所抓到数据包的种类(协议名称)。
列表写出客户端、网关、web服务器的IP地址和MAC地址。
HTTP客户端和服务器段的端口号。
答:
数据包的种类TCP、UDP、DNS、DHCP、ARP、OSPF、LLDP、SSL、TLS、NBNS、BROWSER=等。
客户端
网关
Web服务器
IP地址
101.4.60.122
202.113.78.31
202.113.78.39
MAC地址
58:
6a:
b1:
5d:
be:
33
44:
37:
e6:
04:
08:
9f
44:
37:
e6:
04:
09:
c5
HTTP客户端的端口号:
80,服务器端口号:
2518。
7.将TCP、IP、ARP、DNS、HTTP和Ethernet的首部字段的名字和值按照协议的格式(参见附录2)分别记录下来。
(任意打开一个消息)
答:
IP:
版本:
4
首部长度:
20bytes
区分服务:
0x00
总长度:
40
标识:
0x41c6
标志:
0x02
片偏移:
0
生存时间:
51
协议:
TCP(6)
首部校验和:
0x4bfb
源地址:
101.4.60.122
目的地址:
202.113.78.31
可选字段:
填充
TCP:
源端口:
80
目的端口:
2518
序号:
1
确认号:
716
数据偏移
保留
URG
0
ACK
1
PSH
0
RSI
0
SYN
0
FIN
0
窗口:
16128
检验和0xf2e5
紧急指针:
无效
选项:
空
填充:
空
ARP:
以太网目的地址:
HonHaiPr_04:
08:
9f
(44:
37:
e6:
04:
08:
9f)
以太网源地址:
HonHaiPr_04:
09:
c5
(44:
37:
e6:
04:
09:
c5)
帧类型:
ARP
(0x0806)
DNS:
标识:
0xa632
标志:
0x8180
问题数:
1
资源记录数:
3
授权资源记录数:
0
额外资源记录数:
0
查询问题:
:
typeA,classIN
回答:
:
typeCNAME,classIN,cnamequrl.qh-
qurl.f.qh-:
typeA,classIN,addr101.4.60.122
qurl.f.qh-:
typeA,classIN,addr101.4.60.121
额外授权:
0
记录信息:
0
HTTP:
版本:
1.1
空格
状态码:
200
空格
原因短语:
OK
回车符
换行符
首部:
nginx
:
阈值:
0.6.39
回车符
换行符
实体:
Date:
Sat,09May201507:
58:
02GMT\r\n
Ethernet:
目的地址:
(58:
6a:
b1:
5d:
be:
33)
源地址:
(44:
37:
e6:
04:
08:
9f)
类型:
IP
数据:
769bytes
FCS:
0x0800
8.在wireshark界面上,设置抓包后的过滤条件为只显示IP地址包括web服务器地址的包(筛选格式类似“ip.addreq202.113.78.39”)。
答:
9.在wireshark界面上分别圈出TCP建立连接和释放连接的数据包。
找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
答:
第一个TCP报文段:
seqNumber:
0SYN:
setACK:
notset
第二个TCP报文段:
seqNumber:
0ackNumber:
1SYN:
setACK:
set
第三个TCP报文段:
seqNumber:
1ackMunber:
1SYN:
notsetACK:
set
找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
第一个TCP报文段:
seqNumber:
2283ackNumber:
209229FIN:
notsetACK:
set
第二个TCP报文段:
seqNumber:
2283ackNumber:
209229FIN:
setACK:
notset
10.在wireshark界面上圈出你的主机如何找到web服务器的MAC地址(ARP协议)或者IP地址(DNS协议)。
答:
11.依据实际抓到的数据包,截图并圈出TCP顺序号和确认号的使用方法及变化规律。
答:
12.在你所抓到的各种类型数据包中,在wireshark的主界面上是以何种底纹标注?
答:
ARP:
粉色。
BROSWER:
黄色。
DHCP:
蓝色。
HTTP:
绿色、黑色。
NBNS:
黄色。
OSPF:
粉色。
SSDP:
绿色。
13.尝试使用Statistics菜单中“IOgraph”、“HTTP”、“ProtocolHierarachy”等功能,并记录结果。
答:
IOgraph功能记录:
HTTP功能记录如下:
14.找到全部HTTP的请求消息并截图。
(过滤条件类似“http.requestandip.addreq202.113.78.39”)
答:
15.找到全部源IP地址为指定web服务器地址的HTTP响应消息并截图。
答:
16.查看你访问指定Web服务器HTTP会话的工作过程。
将结果截图,并对前10个包进行详细分析。
答:
17.使用FollowTCPStream功能,将你看到的图片从你收到的HTTP响应消息数据包中恢复出来(或者你下载的其它文件)。
要求必须详细说明并每步骤截图。
答:
18.参考“使用wireshark进行流量分析”,对本网络中的流量进行分析。
(1)简述访问web页面的过程。
答:
a>浏览器向DNS请求解析网站的IP地址
b>域名系统DNS解析出网站的IP地址202.113.78.39
c>浏览器与服务器建立TCP连接
d>浏览器发出取文件命令
e>服务器端给出响应,把首页文件发送给浏览器
f>释放TCP连接
g>浏览器显示西安邮电大学首页中的所有文本
(2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?
所请求域名的IP地址是什么?
答:
DNS请求分组,基于UDP的传输协议,源端口号64282,目的端口号53,请求域名的IP地址是59.67.148.5。
DNS应答分组:
源端口号53,目的端口号64282。
(3)统计访问该页面共有多少请求分组,多少响应分组?
答:
应用如下显示过滤规则,对包进行过滤:
然后点击菜单栏的statics,接着点击summary选项,然后就能看到过滤后显示的包的各项统计数据。
由上图知,一共有64个IP请求分组,共捕获895个包
(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
答:
第一个TCP报文段:
SeqNumber:
0SYN:
setACK:
notset
第二个TCP报文段:
SeqNumber:
0AckNumber:
1SYN:
setACK:
set
第三个TCP报文段:
SeqNumber:
1AckMunber:
1SYN:
notsetACK:
set
第一次握手:
序号Seq#=0;无确认号;ACK=0(notset);SYN=1set
第二次握手:
序号Seq#=0;确认号:
ACK=1set;SYN=1set
第三次握手:
序号Seq#=1;确认号:
ACK=1set;SYN=0(notset);
(5)针对(4))中的TCP连接,该TCP连接的四元组是什么?
双方协商的起始序号是什么?
TCP连接建立的过程中,第三次握手是否带有数据?
是否消耗了一个序号?
答:
四元组:
源IP地址:
202.113.78.31;源端口号:
2518;
目的IP地址:
101.4.60.122;目的端口号:
80
由上题知,双方协商的起始序号是0。
由上图,第三次握手后的报文段。
序号Seq#=1和第三次握手报文中的序号相同,由此可以看出第三次报文没有消耗序号,没有带数据。
(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。
答:
第一个TCP报文段:
seqNumber:
253;AckNumber:
716;FIN:
set;ACK:
set
第二个TCP报文段:
seqNumber:
716;AckNumber:
254;FIN:
notset;ACK:
set
第三个TCP报文段:
seqNumber:
716;AckNumber:
254;FIN:
set;ACK:
set
(7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?
FIN报文段是否携带数据,是否消耗一个序号?
FIN报文段的序号是什么?
为什么是这个值?
答:
1.释放请求由服务器端发起的。
2.FIN报文段不携带数据,消耗一个序号。
根据TCP规定,FIN报文段即使不携带数据,也消耗一个序号。
根据第二次挥手报文,确认号为254,说明没有携带数据。
3.FIN报文段的序号是716。
4.由下图可以看出此报文前的一个报文的确认号为:
ACK为254,确认号是期望对方下一个报文段的第一个数据字节的序号。
即它等于前面已经传送过的数据的最后一个字节的序号加1。
(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。
答:
报文段的往返时间RTT(Round-TripTime)新的RTTs=(1-a)*(旧的RTTs)+a*(新的RTT样本值)
新的RTTD=(1-b)*(旧的RTTD)+b*|RTTs–新的RTT样本|
(9)分别找出一个HTTP请求和响应分组,分析其报文格式。
在截图中标明各个字段。
答:
请求行:
RequestMethod:
POST(请求的方法)
RequestVersion:
HTTP/1.1(http版本)
HTTP响应分组:
开始行:
Requestversion:
HTTP/1.1(版本)
Responsecode:
200(状态码,2xx表示成功)
首部行:
Server:
Tengine(web服务器是Tengine)
Date:
Sat,09May201507:
57:
59GMT/r/n
(10)请描述HTTP协议的持续连接的两种工作方式。
访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?
答:
HTTP/1.1协议的持续连接有两种工作方式,即非流水线方式(withoutpipelining)和流水线方式(withpipelining)非流水线方式的特点,是客户端在收到前一个响应后才能发出下一个请求。
流水线方式的特点,是客户端在收到HTTP的响应报文之前就能够接着发送新的值来请求报文。
于是一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。
流水线工作方式使TCP连接中的空闲时间减少。
由上图可知,访问同一网站的不同页面采用了流水线方式。