WireShark是一种非常方便的网络抓包工具,下面演示,使用WireShark来抓取TCP的三次握手过程。
一、TCP的三次握手过程如下:
1)客户端发送序列号为Seq = c的SYN数据包给服务器;
2)服务器接到该包后,响应(或返回)一个序列号为Seq = s,确认号为 Ack = c+1的SYN+ACK数据包给客户端;
3)客户端收到服务器的响应后,就会回复一个序列号为Seq = c+1, 确认号为Ack = s+1的ACK数据包给服务器,三次握手完成。
二、WireShark捕获TCP三次握手过程
1、下载WireShark
地址:https://dl.softmgr.qq.com/original/System/Wireshark-win64-3.2.5.exe
2、安装WireShark
一路点击默认,直到安装完成;
3、点击桌面左下角的[开始] --》WireShark -->双击[以太网]这一栏,如图(1)所示:
![](https://img-blog.csdnimg.cn/20200815184423637.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbnFpbWE=,size_16,color_FFFFFF,t_70#pic_cente)
4、在浏览器里输入http格式的网页,比如:http://www.xitongcheng.com/jiaocheng/xtazjc_article_32713.html
回车即可。
5、根据URI中的文件目录/jiaocheng(URI里的第三层目录即为文件目录),找到对应的HTTP服务器的IP,
如下:
5.1)按Ctrl+F,输入查找的关键字"GET /jiaocheng", 先点击列表的的第一行,然后点击[查找]按钮,就得到HTTP服务器的IP,如图(2)、图(3)所示:
![](https://img-blog.csdnimg.cn/20200815184951434.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbnFpbWE=,size_16,color_FFFFFF,t_70#pic_center)
![](https://i-blog.csdnimg.cn/blog_migrate/3a5938c0b4747017ee8851586b14d1ee.png#pic_center)
5.2 )在输入框里,将IP的源地址和目标地址,都设置为HTTP服务器的IP,回车即可,如图(4)所示:
//输入要过滤的源地址和目标地址
ip.dst==219.159.84.45 or ip.src==219.159.84.45
![](https://img-blog.csdnimg.cn/20200815185343388.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbnFpbWE=,size_16,color_FFFFFF,t_70#pic_center)
解释如下:
1)IP地址为192.168.0.101的客户端,发送序列号为Seq=0的报文给IP地址为219.159.84.45的服务器,此为第一次握手;
2)服务器收到该报文后,返回一个确认号为Ack=1, 序列号为Seq=0的SYN+ACK的报文给客户端,此为第二次握手;
3)客户端收到来自服务器的响应报文,会将里面的序列号加1赋给新的Ack,同时将里面的Ack赋给新的Seq,即回复一个Seq=1, Ack=1的ACK报文给服务器,此为第三次握手。