实验4 TCP协议分析

实验4 TCP协议分析

1、实验目的

  • 了解运输层TCP协议基本概念、报文结构
  • 分析TCP报文头部
  • 分析TCP连接建立过程、TCP连接释放
  • 掌握利用tcpdump和wireshark进行tcp协议分析技术。

2、实验环境

  • 硬件要求:阿里云云主机ECS 一台。
  • 软件要求:Linux/ Windows 操作系统

3、实验内容

TCP是面向连接的、在不可靠的互联网络上提供可靠的端到端通信。它是TCP/IP协议集的核心协议。

TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。

利用wget下载新疆大学主页www.xju.edu.cn,与此同时使用tcpdump抓包。使用wireshark分析TCP数据报文头部,分析建立连接三次握手和分析释放连接的四次挥手。

4、实验结果与分析

  • 需给出实验中相关命令、脚本或者代码以及运行截图;
  • 对于运行结果和遇到的问题,需给出必要分析说明;

1、利用wget命令下载新疆大学主页www.xju.edu.cn;

wget www.xju.edu.cn

在这里插入图片描述

2、利用tcpdump抓包,监听eth0端口,将捕获的数据包保存为tcp.cap。

tcpdump -i eth0 -w tcp.cap

在这里插入图片描述

3、登录Xftp获取tcp.cap文件,其中index.html为下载的新疆大学官网。

在这里插入图片描述

4、使用wireshark分析捕获的包。

在这里插入图片描述

4.1 填写表格

根据捕获的数据包,分析TCP的报文结构,将TCP协议中个字段名,字段长度,字段值,字段含义填入下表:

字段名字段长度字段值字段含义
Source Port1680源端口
Destination Port1635772目的端口
Stream index321用来标记,该TCP包所在的TCP流在整个文件TCP流中的编号
TCP Segment Len3210报文段长度
Sequence Number321TCP序列号
Acknowledgment Number32843相对确认号
Acknowledgment number (raw)321410316373原始值
Flags60x018数据偏移
Window161432窗口
Checksum160x976c检验和
Urgent Pointer160紧急指针

4.2 分析建立连接三次握手

  • 通过分析实验结果,TCP报文结构由哪几部分组成,其功能是什么?

  • 分析三次握手的标志位和序号;

  • 分析TCP数据报窗口,序号

在这里插入图片描述

4.2.1第一次握手

客户端发起给服务器的报文,请求建立连接。SYN为1表示这个报文是一个请求链接的报文。

在这里插入图片描述

4.2.2第二次握手

服务器回复给客户端的额报文,确认并同意连接的请求。SYN为1,表示这个报文是一个同意连接的报文。ACK位为1,表示是一个队上一个报文的确认报文。

在这里插入图片描述

4.2.3第三次握手

客户端发送给服务器,对上一个同意连接请求的确认。

在这里插入图片描述

4.3 分析释放连接的四次挥手

  • 分析四次挥手的报文标志和序号

在这里插入图片描述

4.3.1第一次挥手

客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。将标志位FIN和ACK置为1。

在这里插入图片描述

4.3.1第二次挥手

服务器收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即X=X+1=2。

在这里插入图片描述

4.3.1第三次挥手

服务器关闭与客户端的连接,发送一个FIN。标志位FIN和ACK置为1,序号为Y=1,确认序号为X=2。

在这里插入图片描述

4.3.1第四次挥手

客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认序号为收到的序号加1,即Y+1=2。序号为收到的确认序号X=2。

在这里插入图片描述

5、实验小结

(包括遇到的特定问题和解决办法、心得体会、意见与建议等)

5.1问题与解决办法:

问题1、在使用tcpdump进行网络协议分析时,捕获到的数据包不完整。

解决方法:确认tcpdump监听的网络接口正确,且该接口上有预期的TCP流量。

问题2、不知道怎么找四次挥手。

解决方法:查找资料,第一次挥手会发送一个Fin的报文段,另一方会返回一个Ack。

5.2心得体会:

p进行网络协议分析时,捕获到的数据包不完整。

解决方法:确认tcpdump监听的网络接口正确,且该接口上有预期的TCP流量。

问题2、不知道怎么找四次挥手。

解决方法:查找资料,第一次挥手会发送一个Fin的报文段,另一方会返回一个Ack。

5.2心得体会:

通过实际操作tcpdump和Wireshark,我能够直观地看到TCP数据包的结构和传输过程,这对于理解网络协议的工作原理非常有帮助。同时,我也认识到了网络协议设计的复杂性和精妙性,每一个字段和控制机制都是为了确保数据的可靠传输。在实验过程中,我遇到了一些问题,但通过查阅资料和不断尝试,我逐渐找到了解决问题的方法。这个过程不仅锻炼了我的解决问题的能力,也让我对TCP协议有了更深刻的认识。学习TCP协议和相关分析技术是一次非常有价值的经历,它让我对网络通信有了更深入的了解,也为我未来的学习和工作打下了坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S_yzx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值