抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)

发表于:2018-7-24 13:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:一加一    来源:博客园

  (1)物理层的数据帧概况
  Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0               #5号帧,线路268字节,实际捕获268字节
  Interface id: 0                                                                                                  #接口id
  Encapsulation type: Ethernet (1)                                                                          #封装类型
  Arrival Time: Jun 11, 2015 05:12:18.469086000 中国标准时间          #捕获日期和时间
  [Time shift for this packet: 0.000000000 seconds]
  Epoch Time: 1402449138.469086000 seconds
  [Time delta from previous captured frame: 0.025257000 seconds]   #此包与前一包的时间间隔
  [Time since reference or first frame: 0.537138000 seconds]              #此包与第一帧的时间间隔
  Frame Number: 5                                                                                          #帧序号
  Frame Length: 268 bytes (2144 bits)                                                         #帧长度
  Capture Length: 268 bytes (2144 bits)                                                      #捕获长度
  [Frame is marked: False]                                                                              #此帧是否做了标记:否
  [Frame is ignored: False]                                                                              #此帧是否被忽略:否
  [Protocols in frame: eth:ip:tcp:http]                                                             #帧内封装的协议层次结构
  [Number of per-protocol-data: 2]                                                                          #
  [Hypertext Transfer Protocol, key 0]
  [Transmission Control Protocol, key 0]
  [Coloring Rule Name: HTTP]                                                                       #着色标记的协议名称
  [Coloring Rule String: http || tcp.port == 80]                                                        #着色规则显示的字符串
  (2)数据链路层以太网帧头部信息
  Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)
  Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)                                         #目标MAC地址
  Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89)                                        #源MAC地址
  Type: IP (0x0800)
  (3)互联网层IP包头部信息
  Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)
  Version: 4                                                                                                                          #互联网协议IPv4
  Header length: 20 bytes                                                                               #IP包头部长度
  Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))                                                                                                                                   #差分服务字段
  Total Length: 254                                                                                           #IP包的总长度
  Identification: 0x5bb5 (23477)                                                                    #标志字段
  Flags: 0x02 (Don't Fragment)                                                                      #标记字段
  Fragment offset: 0                                                                                         #分的偏移量
  Time to live: 64                                                                                               #生存期TTL
  Protocol: TCP (6)                                                                                            #此包内封装的上层协议为TCP
  Header checksum: 0x52ec [validation disabled]                                              #头部数据的校验和
  Source: 192.168.0.104 (192.168.0.104)                                                   #源IP地址
  Destination: 61.182.140.146 (61.182.140.146)                                       #目标IP地址
  (4)传输层TCP数据段头部信息
  Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214
  Source port: 51833 (51833)                                                                                 #源端口号
  Destination port: http (80)                                                                             #目标端口号
  Sequence number: 1    (relative sequence number)                                   #序列号(相对序列号)
  [Next sequence number: 215    (relative sequence number)]           #下一个序列号
  Acknowledgment number: 1    (relative ack number)                         #确认序列号
  Header length: 20 bytes                                                                               #头部长度
  Flags: 0x018 (PSH, ACK)                                                                             #TCP标记字段
  Window size value: 64800                                                                                    #流量控制的窗口大小
  Checksum: 0x677e [validation disabled]                                                  #TCP数据段的校验和
   结合抓包数据分析TCP三次握手过程
  1、首先要清楚TCP三次握手过程,如图5所示:
   
  图5(TCP三次握手过程)
  百度百科解释TCP三次握手过程如下:
  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);
  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN RECV状态;
  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
  2、要清楚TCP包中的具体内容如图6所示:(TCP包的具体内容图来源于博客:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html)
   
  图6(TCP包的具体内容)
  3、下面用实例讲下wireshark中的tcp三次握手过程:
  1)打开wireshark后,在浏览器输入访问地址:http://www.cnblogs.com/Chilam007/,wireshark自动捕获数据包,然后过滤自己需要分析的数据,这里是过滤与主机通信的记录,
  过滤规则为:ip.addr == 116.211.169.93  ,过滤后的数据如图7所示
   
  图7(过滤后的数据包显示,注:这里不知道为什么数据包是重复的)
  574帧是客户端向服务器发送TCP请求建立连接。标识为SYN。
  619帧是服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。
  620帧是客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。
  663帧是客户端向服务器发送HTTP请求内容的过程。标识为GET。
  667帧是服务器响应客户端请求的过程,收到请求。标识为ACK。
  674帧是服务器向客户端回应内容的过程。
  2)TCP三次握手分析:
  第一次握手数据包,客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接,如图8所示
   
  图8(第一次握手)
  第二次握手的数据包,服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1,如图9所示
   
  图9(第二次握手)
  第三次握手的数据包,客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如图10所示
   
  图10(第三次握手)
  以上就是 wireshark中的tcp三次握手过程。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号