6-第六次实验-wireshark抓包图解TCP三次握手四次挥手详解.docx
"TCP/IP 协议族详解 wireshark 抓包图解 TCP 三次握手四次挥手详解" TCP/IP 协议族是指由 TCP 和 IP 两个主要协议组成的协议簇,负责管理计算机之间的通信。该协议族分为四个层次:链路层、网络层、运输层和应用层。 链路层,也称作数据链路层或者网络接口层,负责处理与电缆(或其他任何传输媒介)的物理接口细节。 网络层,也称作互联网层,负责处理分组在网络中的活动,例如分组的选路。网络层协议包括 IP 协议(网际协议)、ICMP 协议(Internet 互联网控制报文协议),以及 IGMP 协议(Internet 组管理协议)。 运输层主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP 协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 为两台主机提供高可靠性的数据通信。他所作的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端通信,因此应用层可以忽略所有这些细节。而另一方面,UDP 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必须的可靠性必须由应用层来提供。 应用层负责处理特定的应用程序细节。包括 Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传送协议)以及 SNMP(简单网络管理协议)等。 wireshark 抓到的包与对应的协议层如下图所示: 1. Frame: 物理层的数据帧概况 2. Ethernet II: 数据链路层以太网帧头部信息 3. Internet Protocol Version 4: 互联网层 IP 包头部信息 4. Transmission Control Protocol: 传输层的数据段头部信息,此处是 TCP 5. Hypertext Transfer Protocol: 应用层的信息,此处是 HTTP 协议 TCP 协议是面向连接的运输层通信协议。TCP 将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认、对失序的数据重新排序、丢弃重复数据。TCP 的特点有: 1. TCP 是面向连接的运输层协议 2. 每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的 3. TCP 提供可靠交付的服务 4. TCP 提供全双工通信。数据在两个方向上独立的进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。 5. 面向字节流。面向字节流的含义:虽然应用程序和 TCP 交互是一次一个数据块,但 TCP 把应用程序交下来的数据仅仅是一连串的无结构的字节流 TCP 报文首部,如下图所示: 1. 源端口号:数据发起者的端口号,16bit 2. 目的端口号:数据接收者的端口号,16bit 3. 序号:32bit 的序列号,由发送方使用 4. 确认序号:32bit 的确认号,是接收数据方期望收到发送方的下一个报文段的序号,因此确认序号应当是上次已成功收到数据字节序号加 1。 5. 首部长度:首部中 32bit 字的数目,可表示 15*32bit=60 字节的首部。一般首部长度为 20 字节。 6. 保留:6bit, 均为 0 7. 紧急 URG:当 URG=1 时,表示报文段中有紧急数据,应尽快传送。 8. 确认比特 ACK:ACK = 1 时代表这是一个确认的 TCP 包,取值 0 则不是确认包。 9. 推送比特 PSH:当发送端 PSH=1 时,接收端尽快的交付给应用进程。 10. 复位比特(RST):当 RST=1 时,表明 TCP 连接中出现严重差错,必须释放连接,再重新建立连接。 11. 同步比特 SYN:在建立连接是用来同步序号。SYN=1, ACK=0 表示一个连接请求报文段。SYN=1,ACK=1 表示同意建立连接。 12. 终止比特 FIN:FIN=1 时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。 13. 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。 14. 检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。 15. 紧急指针:紧急指针在 URG=1 时才有效,它指出本报文段中的紧急数据的字节数。 16. 选项:长度可变,最长可达 40 字节 wireshark 捕获到的 TCP 包中的每个字段如下图所示: TCP 三次握手是 TCP 建立连接时的三个数据包,wireshark 截获到了三次握手的三个数据包。 "wireshark 抓包图解 TCP 三次握手四次挥手详解"
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 6.1随机密码生成.py
- putty,linux客户端工具
- 丹佛丝堆垛机变频器参数配置起升、运行、货叉
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
- lsb-release,安装磐维数据库,安装oracle数据库等常用的依赖包
- glibc-devel,安装磐维数据库,安装oracle数据库等常用的依赖包
- redhat-lsb-submit-security,安装磐维数据库,安装oracle数据库等常用的依赖包
- 可以在mac下开发的微雪esp32触摸屏开发板的支持包
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
评论0