怎么对Mysql连接请求的tcpdump内容进行分析

  介绍

这篇文章主要介绍”怎么对Mysql连接请求的tcpdump内容进行分析”,在日常操作中,相信很多人在怎么对Mysql连接请求的tcpdump内容进行分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么对Mysql连接请求的tcpdump内容进行分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


tcpdump是通过拦截发送和收到的网络连接中的TCP/IP和其他数据包,通常在我们WEB开发中,我们提供http服务或者调用http服务的过程中经常会遇到阅读时间/连接重置等网络异常信息,通过tcpdump工具帮助我们分析三次握手或者四次挥手的数据包情况,就能很容易的帮助我们分析出网络在哪一个步骤出的问题。

接下来我们通过分析Mysql的连接请求,来了解网络的请求过程和协议的具体内容。

0 x0000: 4500 0039 3881 4000 4006 7对c0a8 00 d7
0 x0010: c0a8 0047 a034 0东航860 b e11e c2fc 7 f64
0 x0020: 8018 296 0000 0101 080 2 b0e de4 786 b
0 x0030: 3 a4f 5980 0100 0000 0 e

这样一份报文通常有3部分组成

<强> 1。IP报头

怎么对Mysql连接请求的tcpdump内容进行分析

<强> 2。TCP协议

怎么对Mysql连接请求的tcpdump内容进行分析

<强> 3。mysql协议

怎么对mysql连接请求的tcpdump内容进行分析

<强>逐行分析如下

4500 0039 3881 4000 4006 7对c0a8 00 d7

<李>

45 - 4为版本5为头长度,那么这个协议头的长度就是5字节

<>之前,,我们读出接下来的5字节,00,0039年,3881年 <李>

00服务类型的标识优先级延迟要求吞吐量信息等

<李>

0039总长度换算十进制结果是57岁与我们获取到的结果的字节数量一致

<李>

3881 IP报文头的鉴定

<李>

4000 -为IP旗帜和分段偏移

<李>

000 IP旗帜

<>之前,,0,0100,0000,0000,Fragment :相对0原始报文头的偏移量 <李>

4006 - 40为TTL一个协议访问的生存周期06代表TCP协议

<李>

7自由现金流量-头校验和首部查错

<李>

c0a8 00 d7 -源主机IP地址段c0 (192) a8 (168) 00 (0) d7 (215)

c0a8 0047 a034 0东航860 b e11e c2fc 7 f64

<李>

c0a8 0047 -代表目标主机的IP地址(到这里IP协议部分就结束了,恰好是20字节,接下来就要进入TCP部分解析了)

<李>

a034 -源端口号转换十进制41012

<李>

0 cea -目标端口转换十进制3306

<李>

860 b e11e——序列号2248925470

<李>

c2fc 7 f64 -确认号3271327588

2 b0e 8018 296 0000 0101 080 2 de4 786 b

<李>

80 - 8表示偏移抵消0为保留位

<李>

18 - TCP的传说状态1 Ack 8表示推这大概就是第一行(p。)的由来把

<李>

296 -滑动窗口的大小10602

<李>

2 b0e - TCP部分的校验和

<李>

0000 - TCP部分的紧急指针

<强>到选项部分

<李>

0101 - NOP填错没有实际意义

<李>

080 -代表开启时间戳

<李>

2 de4 786 b -对应的具体时间戳的值769947755

3 a4f 5980 0100 0000 0 e

<李>

3 a4f 5980 -还是时间戳的一部分ecr值

<李>

0100 00 -表示具体内容长度1字节

<李>

00 -表示seqid递增

<李>

0 e -通过查询mysql语义,代表COM_PING测试联通性

以下列举了所有在客户端请求部分16进制数代表的mysql语义,通过不同的语义需要进行不同的转换才能获得想要的内容,这里就不列举更多例子了

0 x00 COM_SLEEP(内部线程状态)   
0 x01 COM_QUIT关闭连接   
0 x02 COM_INIT_DB切换数据库   
0 x03 COM_QUERY SQL查询请求   
0 x04 COM_FIELD_LIST获取数据表字段信息   
0 x05 COM_CREATE_DB创建数据库   
0 x06 COM_DROP_DB删除数据库   
0 x07 COM_REFRESH清除缓存   
(COM_SHUTDOWN停止服务器   
0 x09 COM_STATISTICS获取服务器统计信息   

怎么对Mysql连接请求的tcpdump内容进行分析