Wireshark抓包分析TCP协议

274 阅读3分钟
原文链接: zhuanlan.zhihu.com

TCP/IP协议栈主要分为4层:应用层,传输层,网络层,数据链路层

应用层

应用层负责处理特定的应用程序细节,像远程登陆,FTP传输,SMTP邮件传输,SNMP简单网络管理。

传输层

运输层主要提供两台主机之间端到端的通信,在TCP/IP协议族中,TCP和UPD是两种截然不同的传输协议,TCP(传输控制协议)为主机之间提供可靠传输,它把从应用层得到的数据分成适当的数据包交给下面的(IP)网络层,确定接收到的分组,设置发送最后确认分组的超时时钟等,因运输层提供了高可靠性的端到端的通信,应用层就不需要再去关注这些细节,而UDP(用户数据协议)提供的是不可能性的传输,它只负责从一台主机发送到另一台主机,并不保证此数据一定到达另一端主机,任何必需的可靠性必须由应用层来提供。

网络层

网络层主要处理分组在网络中的活动,网络层协议包涵IP,ICMP,IGMP协议。

链路层

链路层组要包涵网卡驱动程序,它处理和电缆或者其它传输介质的物理接口细节。链路层的主要目的有三个

A、为IP模块接收和发送IP数据报

B、为ARP模块发送ARP请求和接收ARP应答

C、为RARP模块接收RARP应答和发送RARP请求

Wireshark抓包分析TCP协议

所谓的协议就是通信双方都需要遵守的规则,这样才能明白对方要表达什么,就像两个人打电话一样,A说的是重庆话,B说的是广东话,这两人打电话肯定不知道对方说的是什么,这就叫他们没有遵守协议,若是都让他们说普通话这样俩儿人就都能听懂对方说的是什么意识了,普通话这里就相当于协议大家都要遵守。下面我将结合Wireshark抓包工具来分析TCP/IP协议

封装

数据进入协议栈的封装过程

当经过以太网层的封装后,就要通过网线或者其它传输介质把此封装好的数据报文发送到另一端去,另一段收到数据报后最先接触的是以太网层也就是我们的数据链路层协议,该层协议复制把以太网首部解析掉,让后把解析后的数据报上送到IP层,IP层把IP首部解析掉,然后上传到TCP层,依次类推每层协议解析其首部并判断其首部中的协议标识以确定接收数据的上层协议,然后上送到他的上一层。这就是封层结构的好处之一,每层协议只做自己的事,不是自己的事就交给别人去做。