打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TCP建立链接的三次握手
TCP建立链接的三次握手
 
TCP是面向链接的协议,该协议主要是为应用层服务的,比如说FTP,HTTP等。
 
而TCP建立链接使用了三次握手。


 
TCP报文段的头部格式如下:
  www.2cto.com  

 
下面使用tcpdump抓去FTP使用TCP建立链接的过程分析。
 
linux@linux:~$ sudo tcpdump -X tcp port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:06:16.599278 IP 192.168.1.104.64601 > linux.ftp: Flags [S], seq 1586176627, win 8192, options [mss 1460,nop,nop,sackOK], length 0
 
    0x0000: 4500 0030 38a2 4000 4006 7e08 c0a8 0168 E..08.@.@.~....h
    0x0010: c0a8 0165 fc59 0015 5e8b 2273 0000 0000 ...e.Y..^.
执行如上命令后,在另外一个机子上向该FTP服务器发送一个FTP连接。就会出现TCP建立链接的三次
握手。上面是主机192.168.1.104向FTP服务器发送一个TCP请求的报文段(第一次握手)。
 
解析该报文段如下:
 
4500 0030 38a2 4000 4006 7e08 c0a8 0168 c0a8 0165 IP数据报的报头20个字节。
fc59 0015 5e8b 2273 0000 0000 7002 2000 6194 0000 TCP报文端的首部20字节。
源端口:fc59  www.2cto.com  
目的端口:21
seq:5e8b 2273
ack:0000 0000
SYN=1
ACK=0
该解析过程要对照TCP首部格式一一对照。
--------------------------------------------------------------------------------
 
FTP服务器作出应答:(第二次握手)
 
21:06:16.599311 IP linux.ftp > 192.168.1.104.64601: Flags [S.], seq 2037040717, ack 1586176628, win 14600, options [mss 1460,nop,nop,sackOK], length 0
    0x0000: 4500 0030 0000 4000 4006 b6aa c0a8 0165 E..0..@.@......e
    0x0010: c0a8 0168 0015 fc59 796a c64d 5e8b 2274 ...h...Yyj.M^.
该TCP报文段的解析如下:  www.2cto.com  
 
4500 0030 0000 4000 4006 b6aa c0a8 0165 c0a8 0168 IP数据报的报头20个字节。
0015 fc59 796a c64d 5e8b 2274 7012 3908 8440 0000 TCP报文端的首部20字节。
0204 05b4 0101 0402 FTP发送的数据。
 
源端口:21
目的端口:fc59
seq:796a c64d
ack:5e8b 2274 确认号=前一个序列号 1
SYN=1
ACK=1
--------------------------------------------------------------------------
第三次握手:
 
21:06:16.601230 IP 192.168.1.104.64601 > linux.ftp: Flags [.], ack 1, win 8192, length 0  www.2cto.com  
0x0000:  4500 0028 38a3 4000 4006 7e0f c0a8 0168  E..(8.@.@.~....h
0x0010:  c0a8 0165 fc59 0015 5e8b 2274 796a c64e  ...e.Y..^."tyj.N
0x0020:  5010 2000 4e8f 0000 0000 0000 0000       P...N.........
4500 0028 38a3 4000 4006 7e0f c0a8 0168 c0a8 0165 IP数据报的报头20个字节。
 
fc59 0015 5e8b 2274 796a c64e 5010 2000 4e8f 0000 TCP报文端的首部20字节。
源端口:fc59
目的端口:21
seq:5e8b 2274
ack:796a c64e 确认号=上一个序列号 1
SYN=0
ACK=1
---------------------------------------------------------------------------------------------
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
网络编程 - TCP/IP协议
TCP协议详解(上)
TCP协议 – kiterunner_t
什么情况下适合用UDP协议,什么情况下适合用TCP协议?
图解 | 计算机网络协议
IP网络协议抓包分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服