三、TCP/IP协议簇及抓包分析
![](https://i-blog.csdnimg.cn/blog_migrate/64a35749fc3c62effbcad3a1897280b3.png)
(1)TCP协议-----传输控制协议
TCP固定的头部字节:20Byte
source port:源端口
destination port:目的端口
sequence number:序列号,标识本机发送的数据报文的编号
Ack :
ACK=1,确认号,标识请求对方下次发送的数据报文的编号
date offest:数据偏移,标识数据分段在完整数据中的位置
reserved:保留,给未来开发的功能
urg:当位置为1,urgent pointer紧急指针位会发挥作用,优先发送数据
PSH:TCP的推送位,在缓冲区未填满的情况下,尽快的将缓冲区的数据推送上前,交付给接收的应用
进程
RST:复位开关
SYN:连接建立的标志位
FIN:连接断开的标志位
WINDOW:窗口,通告本机接收能力
checksum:校验和
TCP的可靠机制:
TCP的三次握手
![](https://i-blog.csdnimg.cn/blog_migrate/cde1d39e62ff28f4238cfa186c1eedc9.png)
第一次
:
由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题
。
第二次:
再由服务器回话个客户,让客户知道自己的发送与接受没问题,这时服务器还不知自己的发
送是否有碍,
第三次:
需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进
行数据传输。
四次挥手
![](https://i-blog.csdnimg.cn/blog_migrate/1b4603f8e90814743255d4363124b056.png)
第一次:若由客户端发出断开请求时,当服务器收到后,表明了客户没有要给服务器发送数据的事。
第二次:当服务器收到后,再次回复给客户端表明同意你的请求。
第三次:再次由服务器给客户端发送关闭连接的请求。
第四次:客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时当客户端等待2msl时,
客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭。
确认机制
Ack=上一次seq+上一次len
seq=上一次的Ack
滑动窗口机制:通过滑动窗口来通告本机的接收能力,实现流量控制
完整性校验机制:
通过checksum来校验数据的完整性
TCP的协议特点:
可以实现流量控制;
进行数据分段;
面向连接的可靠协议;
使用场景:对传输效率要去求不高,对准确性要求高,占用带宽高
(2)UDP协议-----用户数据协议
![](https://i-blog.csdnimg.cn/blog_migrate/0a29bf11132be65826c85b58dea1b40c.png)
UDP的协议特点:
不能实现流量控制;
连接无的不可靠协议;
使用场景:对传输效率要去求高,对准确性要求不高,占用带宽不高
(3)IP协议-----互联网协议
version:版本(4或6)
IHL:IP地址的头部长度20Byte
type of service :服务类型
total length:IP头部+从传输层传下来的数据
identification:标识
FLAGS:标识符,保证数据分片后,区别与网络中的其他IP数据报文
fragment offset:片偏移,标识数据分片在完整数据中的位置
ttl:生存周期,32、64、128、256
protocol:描述上层所使用的协议
header checksum:头部校验和
source address:源IP地址
destination address:目标IP地址TCP分段:受MSS的影响(最大数据分段长度)
IP分片:受MTU的影响(最大传输单元)
例如:以太网接口(通过光纤上网),默认的MTU是1500字节
PPPOE(宽带拨号上网、网线上网),默认的MTU是1492字节
(4)ICMP协议----(网际报文管理协议)
![](https://i-blog.csdnimg.cn/blog_migrate/4df8f1f58c0b565eed9d2c1f8f44a205.png)
Echo reply:ping回复
Echo rrquest:ping请求
(5)以太网帧协议
![](https://i-blog.csdnimg.cn/blog_migrate/7da4cebd4bb066f4887610ad8855dee3.png)