建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。由于TCP连接是全双工的,断开一个TCP连接,需要客户端与服务器发送四个包来确认连接的断开,本篇文章将使用tcpdump抓包分析三次握手四次挥手。
执行tcpdump命令
tcpdump -n -i ens32 host 192.168.10.10 and 42.186.113.26 >> /tmp/tcpdump.txt ping game.campus.163.com
curl http://game.campus.163.com
curl http://game.campus.163.com结束后,停止ping game.campus.163.com,查看/tmp/tcpdump.txt分析抓包结果
三次握手
20:23:04.393437 IP 192.168.10.10.53250 > 42.186.113.26.http: Flags [S], seq 4039900133, win 29200, options [mss 1460,sackOK,TS val 304628816 ecr 0,nop,wscale 7], length 0 20:23:04.421269 IP 42.186.113.26.http > 192.168.10.10.53250: Flags [S.], seq 874076341, ack 4039900134, win 64240, options [mss 1460], length 0 20:23:04.421355 IP 192.168.10.10.53250 > 42.186.113.26.http: Flags [.], ack 1, win 29200, length 0 TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表示确认号有效,为0表示报文中不包含确认信息,忽略确认号字段。
四次挥手
20:23:05.560319 IP 192.168.10.10.53250 > 42.186.113.26.http: Flags [F.], seq 84, ack 364592, win 64240, length 0 20:23:05.560487 IP 42.186.113.26.http > 192.168.10.10.53250: Flags [.], ack 85, win 64239, length 0 20:23:05.586700 IP 42.186.113.26.http > 192.168.10.10.53250: Flags [FP.], seq 364592, ack 85, win 64239, length 0 20:23:05.586735 IP 192.168.10.10.53250 > 42.186.113.26.http: Flags [.], ack 364593, win 64240, length
总结
至此,本文档详细展示了tcpdump的抓包实战操作并分析了三次握手四次挥手的过程,希望能帮助到各位。
本文来源:www.lxlinux.net/4882.html,若引用不当,请联系修改。