TCP建立链接的三次握手
来源:互联网 发布:中国芯片产业 知乎 编辑:程序博客网 时间:2024/05/18 20:46
TCP建立链接的三次握手
TCP是面向链接的协议,该协议主要是为应用层服务的,比如说FTP,HTTP等。
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
- TCP建立链接的三次握手
- TCP协议采用三次握手建立链接与断开链接
- TCP协议采用三次握手建立链接与断开链接
- TCP/IP的三次握手建立连接
- TCP建立连接的三次握手
- TCP建立连接的三次握手
- 建立TCP连接的三次握手
- TCP连接的建立(三次握手)
- TCP连接的建立:三次握手
- TCP建立连接时的三次握手
- TCP建立连接的三次握手
- 关于TCP的三次握手建立连接
- 建立TCP连接的三次握手
- TCP连接建立的三次握手理解
- TCP协议建立连接的三次握手
- TCP传输的建立(三次握手)
- TCP的连接建立(三次握手)
- TCP建立连接的三次握手过程
- easyui 动态组合表头
- 甲骨文云数据库与集成系统创新技术日会议资料
- 如何让Eclipse自动部署项目到Tomcat的webapps下
- Android的源码的多产品分支
- 如何对apache 服务器上的资源使用情况进行监控
- TCP建立链接的三次握手
- Hibernate整合Spring,没有展现层进行手动测试
- 64位Windows 8 运行Trial-Reset,但是提示缺少“MSCOMCTL.OCX”的解决方法
- hardwareAccelerated 对drawtext的影响
- 一周极客热文:做程序员之后才知道的 5 件惊奇事
- Hibernate Session 操作数据库的方法详解
- module_param与MODULE_PARM_DESC
- httping小工具
- CMD / UNIX 命令