wireshark抓取TCP连接及断开实验实验目的:
1) 掌握TCP连接建立的三次握手过程
2) 理解TCP连接释放的四次握手过程
实验原理:
TCP协议工作原理参考TCP.PPT
Tcp显示过滤规则:
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 1 显示包含TCP SYN标志的封包。
tcp.flags.syn == 1 and tcp.flags.ack == 0 显示包含TCP SYN并且不包含ACK标志的封包。
tcp.flags.fin == 1 and tcp.flags.ack == 1 显示包含T...
实验目的:
1) 掌握TCP连接建立的三次握手过程
2) 理解TCP连接释放的四次握手过程
实验原理:
TCP
工作原理参考TCP.
Tcp显示过滤规则:
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 1 显示包含TCP SYN标志的封包。
tcp.flags.syn == 1 and tcp.flags.ack == 0 显示包含TCP SYN并且不包含ACK标志的封包。
tcp.flags.fin == 1 and tcp.flags.ack == 1 显示包含TCP FIN和ACK标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1
主要设备、器材
1)已联网且运行Windows操作系统的计算机
2)协议分析软件Wireshark
实验步骤:
1) 启动WireShark抓包
2) 访问学校主页服务器 ,通过Wireshark捕获通信内容
3) 分析TCP连接建立的三次握手和连接释放的四次握手过程
浏览网页,抓取三次握手的包,根据TCP包头格式将各字段取值填下来。
源IP:
目的IP:
源端口:
目的端口:
第一次握手:
找出第一次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
若只抓取第一次握手的数据包,则显示过滤器的规则为
并截图替换下图:
第二次握手:
找出第二次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
若只抓取第二次握手的数据包,则显示过滤器的规则为
并截图替换下图:(提示需要syn字段为1而ack字段为1)
第三次握手:
找出第三次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
是否可以只抓取第三次握手的数据包,为什么? 若不能,如何确定是第三次握手的数据包。
三次握手之后,客户端要请求服务器传送数据
第一次请求数据:
找出第一次请求的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
你是如何确定是第一次的请求的数据包:
若通过过滤规则如何找出第一次的请求数据包:
服务器要传送数据给客户端
第一次回复数据:
找出第一次回复的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
你是如何确定是第一次的回复的数据包:
若通过过滤规则如何找出第一次的回复数据包:
1、 捕捉断开连接的数据包,显示过滤器的规则为
并截图替换下图:
根据截图内容填写:
第一次断开:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
第二次断开:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
3、捕捉RST置位的包,显示过滤器的规则为
截图(RST置位)并填写横线
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
传输层TCP数据报结构详解
选取一条TCP数据包并截图,
填写各项的信息及作用
TCP数据报中依次包括以下信息:
1、Source Port: ,表示 。该部分占 个BIT。
2、Destination Port: ,表示 。该部分占 个BIT。
3、Initial Sequence Number: ,表示 ,即SEQ值。该部分占 个BIT,值从1到2的32次方减1。
4、Next Expected SEQ Numbe: ,表示 ,即对方返回的ACK值。该部分占 个BIT,值从1到2的32次方减1。
5、Data Offset: Bytes,表示 。该部分占 个BIT。
6、Reserved Bites:保留位,此处不用。该部分占 个BIT。
7、Flags: 。该值用两个十六进制数来表示。该部分长度为 个BIT,6个标志位的含义分别是:
URG: ,为1表示 。
ACK: ,为1表示
PSH: ,为1表示 。
RST: 。为1表示为
SYN: 。为1表示为 。
FIN: 。为1表示 。
A PUSH标志位,B 复位标志位。C 结束连接请求标志位。D 确认标志位, E 紧急数据标志 F 连接请求标志位。
a收到不属于本机的数据包,需要复位
b 发起连接的请求数据包
c 此数据包为应答数据包
d 有紧急数据,应立即进行传递
e 结束连接的请求数据包
f 此数据包应立即进行传递
8、Window: ,表示 。该部分占 个BIT。
9、CheckSum: ,表示 。该部分占 个BIT,用十六进制表示。
10、Urgent Pointer: ,表示 。该部分占 个BIT。
11、Maximum Segment Size: ,表示 。
【思考问题】
1. 试用具体例子说明为什么传输连接建立时要使用三次握手。如不这样做可能会出现什么情况。
答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
2. 使用TCP对实时话音数据的传输有什么问题?使用UDP在传送数据文件时会有什么问题?
答:1.如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。
3. UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。
4. TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有,请举出三种情况。
答:当IP数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。
本文档为【wireshark抓取TCP连接及断开实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。