三次握手wireshark抓包分析,成功握手和失败握手

来源:互联网 发布:女性个人形象设计软件 编辑:程序博客网 时间:2024/06/11 16:16
启动
点击start出现下面的对话框

wireshark是捕获机器上的某一块网卡的网络包,当机器上有多块网卡的时候,需要选择一个网卡进行捕获操作。
选择网卡
>主页面上,直接点击选中后start
>capture->interfaces,选择后start

窗口介绍

1. Display Filter(显示过滤器), 用于过滤已经捕获到的数据
   PS:过滤器分为显示过滤器和捕获过滤器。捕获过滤器用来过滤捕获的封包,以免捕获到过多的数据。
       捕获过滤器的设置方式,capture->capture filters
2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同的协议。
3. Packet Details Pane(封包详细信息), 显示封包中的字段
    各行信息说明如下:
         Frame: 物理层的数据帧概况
         Ethernet II: 数据链路层以太网帧头部信息
         Internet Protocol Version 4: 互联网层IP包头部信息
         Transmission Control Protocol: 传输层T的数据段头部信息
         Hypertext Transfer Protocol: 应用层的信息
4. Dissector Pane(16进制数据)
    16进制数据查看面板,也叫做解析器。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。
5. Miscellanous(地址栏)

三次握手抓包过程分析
  首先来一张三次握手经典图解

下面使用wireshark实际分析三次握手过程
1.打开wireshark,打开浏览器输入网址blog.csdn.net/hello_yz并访问;
2.停止捕获,红方块。不停止的话后面一直抓一直抓......;
3.在封包列表中可以找到下图数据:
  
在图中可以看到,访问blog.csdn.net/hello_yz网站过程中,wireshark截获到了三次握手的三个数据包,第四个包才是http的。这也说明http确实是使用TCP建立连接的。

下面进行三个数据包的详细分析。
首先对封包详细信息分析说明
选中一条TCP协议数据包,它的封包详细信息如下图:

第一次握手数据包,可以看到客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。如下图:

第二次握手数据包,可以看到服务器发回确认包, 标志位为 SYN,ACK. 将确认序号ACK设置为1.如下图:

第三次握手数据包,可以看到客户端再次发送确认包(ACK) ,标志位为ACK,将sequence+1.如下图:

经过上述三次握手过程,即建立了HTTP连接。

当三次握手无法顺利进行时,也就不能建立连接。
为了避免抓到过多冗余数据,可以进行捕获过滤器设置
在host文件中添加如下数据便于测试
102.54.94.97     www.oa.com
捕获过滤器设置如下图:
capture->capture filter->new

Filter name自己随意取,host www.oa.com表示只捕获主机名为www.oa.com的数据包
然后,capture->option,选好之后start

抓到的数据包如下所示,可以看到在客户端发出第一次握手的请求后,没有得到服务器的应答,握手失败,无法建立连接。

原创粉丝点击