+--+--+--+--+在动手使用Wireshark之前,我们先来打个基础,搞清楚TCP是什么以及它为什么这么重要。
TCP 协议
TCP 是一种面向连接、可靠传输、全双工通信的传输层协议。它设计的初衷是为了解决 IP 协议在传输层缺乏可靠性的问题(如数据包丢失、重复、乱序等)。TCP 通过一系列机制,如三次握手、四次挥手、序列号、确认号、窗口大小、重传机制等,确保数据能够有序且完整地传输给对方。
TCP 的典型应用
HTTP/HTTPS(网页浏览) SMTP/POP3/IMAP(电子邮件传输) FTP(文件传输) SSH(远程登录)
TCP的几个核心特点:
可靠性:通过序列号和确认机制,确保数据不丢、不乱。👍 面向连接:传输前先建立连接(三次握手),传输后关闭连接(四次挥手)。 流量控制:用滑动窗口避免发送方压垮接收方。 拥塞控制:通过算法防止网络堵车。
TCP 报文结构
每个 TCP 报文段都具有一个固定的首部结构,通常为 20 字节(可选字段除外),关键字段包括:
0 1 2 3 +--+--+--+--+| 源端口号 |+--+--+--+--+| 目的端口号|+--+--+--+--+| 序列号 |+--+--+--+--+| 确认号 |+--+--+--+--+| 数据偏移 | 保留 | Flags |+--+--+--+--+| 窗口大小 |+--+--+--+--+| 校验和 |+--+--+--+--+| 紧急指针 |+--+--+--+--+(可选字段,变长)
三次握手(Three-Way Handshake)
建立连接的过程:
SYN:客户端发送一个 SYN 报文(SYN=1,Seq=x); SYN-ACK:服务端收到后,回复 SYN+ACK 报文(SYN=1,ACK=1,Seq=y,Ack=x+1); ACK:客户端再次发送一个 ACK 报文(ACK=1,Seq=x+1,Ack=y+1);
客户端 服务端 | ------ SYN --------> | | <----- SYN+ACK ----- | | ------ ACK --------> |连接建立完成(双向确认)
四次挥手(Four-Way Handshake)
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...