TCP 原理抓包分析
2014-06-26 13:45
204 查看
client简称为c, server简称为s. seq指sequence number, ack指Ack number.
建立连接过程中:
c到s的SYN包,seq=0, ack=0
s到c的SYN ACK包, seq=0, ack=1 (即ack为上个SYN包的seq+1)
c到s的ACK包, seq=1, ack=1 (即ack为上个SYN ACK包的seq+1)
发送数据中:
c->s发送包为PSH ACK包, seq为1,next seq=23, ack=1 (因为该包数据长度为22,所以是在基础序列号1的基础上加22,得到23)
回应包为ACK包, seq=1, ack=23(即此ack为上一个包指明的next seq)
c->发送包为PSH ACK包, seq为23,next seq=69, ack=1 (该包数据长度为46,23+46=69)
回应包为ACK包, seq=1, ack=69(即此ack为上一个包指明的next seq)
s->c发送包为PSH ACK包, seq为1,next seq=6, ack=69 (该包数据长度为5,1+5=6)
回应包为ACK包, seq=, ack=(即此ack为上一个包指明的next seq) (由于程序中server没有等client回应就提前结束,所以没有ack包)
释放连接过程中:
s->c FIN ACK包, seq=6, ack=69
c->s ACK包, seq=69, ack=7 (即ack为上个SYN包的seq+1)
c->s FIN ACK包, seq=69, ack=7
s->c ACK包, seq=7, ack=70 (即ack为上个SYN包的seq+1)
目前存在问题:
SYN包中的序列号为0, 但是在抓包中对应的二进制数是 60 2f 30 02, 不知道是如何翻译过来的?有谁知道请回复哦,谢谢
另外TCP的校验和计算请参考文章“UDP协议”中的算法。
相关文章推荐
- TCP/IP三次握手的过程和抓包分析原理
- 对WEP抓包破解原理的深入分析(一)
- TCP劫持原理分析与实践
- TCP头部格式详解,附Wireshark对TCP头部抓包分析
- TCP快速重传与快速恢复原理分析
- 关于Iris网络流量分析监测工具对本地TCP无法抓包的问题
- CentOS6.5下解决HTTP与FTP TCP-FLOOD CC攻击原理分析与防范方法
- libpcap抓包原理分析
- Wireshark抓包分析TCP的建立与断开过程
- CAS单点登录原理,CAS服务端和客户端验证流程,抓包分析,CAS代码分析
- 对WEP抓包破解原理的深入分析
- 一次完整的抓包分析 Reserved TCP/IP Port List
- TCP协议可靠性数据传输实现原理分析
- TCP快速重传与快速恢复原理分析
- TCP快速重传与快速恢复原理分析
- 对WEP抓包破解原理的深入分析
- 抓包分析tcp连接
- Wireshark抓包分析TCP的建立与断开过程分析
- TCP快速重传与快速恢复原理分析
- TCP快速重传与快速恢复原理分析