计算机网络实验报告 实验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、实验结果与分析

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

4.1 填写表格

4.1.1利用wget下载新疆大学主页

wget www.xju.edu.cn

在这里插入图片描述

4.1.2利用tcpdump抓取数据包

tcpdump -i eth0 -w test.cap

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wjgDuTG-1682070593508)(C:UsersASUSAppDataRoamingTyporatypora-user-imagesimage-20230421162504897.png)]

4.1.3将捕获的数据包通过Xshell导出到本机,用Wireshark进行分析

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

字段名 字段长度 字段值 字段含义
Source Port 16 44353 源端口
Destination Port 16 22 目的端口
Sequence Number 32 0 序列号
Acknowledgment Number 32 0 确认序列
Flags 6 0*002(SYN) 数据偏移
Window 16 29200 窗口
Checksum 16 0*5b6d 校验和
Urgent Pointer 16 0 紧急指针

4.2 分析建立连接三次握手

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

TCP报文结构:

源端口、目的端口、序列号、确认序号、数据偏移、校验和、紧急指针和窗口。

功能:

源端口:用来标识报文的返回地址

目的端口:指明报文接收计算机上的应用程序地址的接口

序列号:通过其来保证传输过程中不会有重复序号的出现

确认序号:由服务器来告诉客户端该发以第几个字节为开头的数据包

数据偏移:是用来记录TCP报文段第多少个字节后,就开始是数据部分。首部最长可以60个字节。

窗口:用来记录缓存是多少字节的

校验和:由发送端填充,接收端对报文段执行CRC(循环冗余校验,利用除法及余数的原理来作错误侦测)算法以检验TCP报文段在传输中是否损坏。

紧急指针:URG校验位为1才有作用,紧急指针为50,就是1-50个字节是要紧急处理的。

4.2.2 分析建立连接三次握手

4.2.2.1第一次握手:客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。

在这里插入图片描述

4.2.2.2 第二次握手:服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的ISN加1.即0+1=1

4.2.2.3 第三次握手:客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1。

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

4.3.1 第一次挥手:客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。将标志位FIN和ACK置为1,序号为X=1,确认序号为Z=1。

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

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

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

5. 实验小结

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

问题与解决办法:

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>