ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:25.49KB ,
资源ID:28443992      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28443992.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MySQL抓包数据协议分析.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MySQL抓包数据协议分析.docx

1、MySQL抓包数据协议分析MySQL抓包数据协议分析(客户端到服务端的通讯协议)1典型的MySql会话过程描述一次正常的过程如下:1) 三次握手建立tcp连接2) 建立MySql连接a) 服务端往客户端发送握手初始化包(Handshake Initialization Packet)b) 客户端往服务端发送验证包(Client Authentication Packet)c) 服务端往客户端发送成功包3) 客户端与服务端之间交互a) 客户端往服务端发送命令包(Command Packet)b) 服务端往客户端发送回应包(OK Packet, or Error Packet, or Result

2、 Set Packet)4) 断开MySql连接a) 客户端往服务端发送退出命令包5) 四次握手断开tcp连接1.2 举例(使用tcpdump抓包)客户端在命令行模式下使用命令:mysqlu root pdbaudith 连上数据库抓取的数据包如下:1.2.1 登陆1)三次握手建立连接19:00:22.534342 IP S 8:8(0) win 8192 0x0000: 4500 0034 043f 4000 4006 0801 c0a8 5665 E.4.?.Ve 0x0010: c0a8 56ce e8de 0cea 364d 189e 0000 0000 .V.6M. 0x0020:

3、8002 2000 dbdd 0000 0204 05b4 0103 0302 . 0x0030: 0101 0402 .19:00:22.534390 IP S 77:77(0) ack 9 win 5840 0x0000: 4500 0034 0000 4000 4006 0c40 c0a8 56ce E.4.V. 0x0010: c0a8 5665 0cea e8de c4d7 1d4d 364d 189f .Ve.M6M. 0x0020: 8012 16d0 02d3 0000 0204 05b4 0101 0402 . 0x0030: 0103 0307 .19:00:22.5349

4、16 IP .ack 1 win 4380 0x0000: 4500 0028 0440 4000 4006 080c c0a8 5665 E.(.Ve 0x0010: c0a8 56ce e8de 0cea 364d 189f c4d7 1d4e .V.6M.N 0x0020: 5010 111c 4959 0000 0000 0000 0000 P.IY.2)服务端向客户諯发送握手初始化包(Handshake Initialization Packet)19:00:22.535632 IP P 1:79(78) ack 1 win 46 0x0000: 4508 0076 0d33 400

5、0 4006 fec2 c0a8 56ce E.v.3.V. 0x0010: c0a8 5665 0cea e8de c4d7 1d4e 364d 189f .Ve.N6M. 0x0020: 5018 002e 2eed 0000 4a00 0000 0a35 2e35 P.J.5.5 0x0030: 2e32 3100 8200 0000 2f75 2246 7b58 2652 .21./uFX&R 0x0040: 00ff f708 0200 0f80 1500 0000 0000 0000 . 0x0050: 0000 004b 6128 4049 2d46 565d 5366 2900

6、 .Ka(I-FVSf). 0x0060: 6d79 7371 6c5f 6e61 7469 7665 5f70 6173 mysql_native_pas 0x0070: 7377 6f72 6400 sword.3)客户端向服务端发送包含用户名密码的验证包(Client Authentication Packet)19:00:22.536678 IP P 1:63(62) ack 79 win 4360 0x0000: 4500 0066 0441 4000 4006 07cd c0a8 5665 E.f.A.Ve 0x0010: c0a8 56ce e8de 0cea 364d 189f

7、 c4d7 1d9c .V.6M. 0x0020: 5018 1108 b2d0 0000 3a00 0001 85a6 0300 P.:. 0x0030: 0000 0001 0800 0000 0000 0000 0000 0000 . 0x0040: 0000 0000 0000 0000 0000 0000 726f 6f74 .root 0x0050: 0014 ce03 1683 429e cae8 cb93 5435 71f2 .B.T5q. 0x0060: 7439 d842 1922 t9.B.4)服务端向客户端发送一个空包(普通的tcp包,跟mysql无关)19:00:22

8、.536748 IP .ack 63 win 46 0x0000: 4508 0028 0d34 4000 4006 ff0f c0a8 56ce E.(.4.V. 0x0010: c0a8 5665 0cea e8de c4d7 1d9c 364d 18dd .Ve.6M. 0x0020: 5010 002e 59bb 0000 P.Y.5)服务端向客户端发送一个成功包(OK Packet)19:00:22.536827 IP P 79:90(11) ack 63 win 46 0x0000: 4508 0033 0d35 4000 4006 ff03 c0a8 56ce E.3.5.V.

9、0x0010: c0a8 5665 0cea e8de c4d7 1d9c 364d 18dd .Ve.6M. 0x0020: 5018 002e 2eaa 0000 0700 0002 0000 0002 P. 0x0030: 0000 00 .6)客户端向服务端发送一个包(跟mysql似乎无关,包头不符合协议标准)19:00:22.734205 IP .ack 90 win 4357 0x0000: 4500 0028 0444 4000 4006 0808 c0a8 5665 E.(.D.Ve 0x0010: c0a8 56ce e8de 0cea 364d 18dd c4d7 1da7

10、 .V.6M. 0x0020: 5010 1105 48d9 0000 0000 0000 0000 P.H.1.2.2 客户端与服务端之间交互客户端输入:usemysql服务端返回:Database changed1)客户端向服务端发送一个命令包(类型为COM_QUERY)19:07:56.352167 IP P 1:3(22) ack 67 win 4357 0x0000: 4500 003e 0450 4000 4006 07e6 c0a8 5665 E.P.Ve 0x0010: c0a8 56ce e8de 0cea 364d 18dd c4d7 1da7 .V.6M. 0x0020:

11、 5018 1105 fe85 0000 1200 0000 0353 454c P.SEL 0x0030: 4543 5420 4441 5441 4241 5345 2829 ECT.DATABASE()2)服务端向客户端发送一个结果包(ResultSet)一个ResultSet包含了多个包,每个包都有自己的包头包体,下面这个返回数据就包含了五个包(1个ResultSet Head Packet + 1个Field Packet + 1个EOF Packet + 1个Row Data Packet + 1个EOF Packet)19:07:56.352413 IP P 1:65(64) a

12、ck 22 win 46 0x0000: 4508 0068 0d36 4000 4006 fecd c0a8 56ce E.h.6.V. 0x0010: c0a8 5665 0cea e8de c4d7 1da7 364d 18f3 .Ve.6M. 0x0020: 5018 002e 2edf 0000 0100 0001 0120 0000 P. 0x0030: 0203 6465 6600 0000 0a44 4154 4142 4153 .def.DATABAS 0x0040: 4528 2900 0c08 0022 0000 00fd 0000 1f00 E(). 0x0050: 0

13、005 0000 03fe 0000 0200 0100 0004 fb05 . 0x0060: 0000 05fe 0000 0200 .3)客户端向服务端发送一个命令包(类型为COM_INIT_DB)19:07:56.353134 IP P 22:32(10) ack 65 win 4341 0x0000: 4500 0032 0451 4000 4006 07f1 c0a8 5665 E.2.Q.Ve 0x0010: c0a8 56ce e8de 0cea 364d 18f3 c4d7 1de7 .V.6M. 0x0020: 5018 10f5 5534 0000 0600 0000 0

14、26d 7973 P.U4.mys 0x0030: 716c ql4)服务端向客户端发送一个成功包(OK Packet)19:07:56.367217 IP P 65:76(11) ack 32 win 46 0x0000: 4508 0033 0d37 4000 4006 ff01 c0a8 56ce E.3.7.V. 0x0010: c0a8 5665 0cea e8de c4d7 1de7 364d 18fd .Ve.6M. 0x0020: 5018 002e 2eaa 0000 0700 0001 0000 0002 P. 0x0030: 0000 00 .5)客户端向服务端发送一个包

15、(跟mysql没什么关系,包头为0000 0000)19:07:56.561717 IP .ack 76 win 4339 0x0000: 4500 0028 0455 4000 4006 07f7 c0a8 5665 E.(.U.Ve 0x0010: c0a8 56ce e8de 0cea 364d 18fd c4d7 1df2 .V.6M. 0x0020: 5010 10f3 4880 0000 0000 0000 0000 P.H.客户端输入:show tables服务端返回:查询结果,当前数据库中所有的表1)客户端向服务端发送一个命令包(类型为COM_QUERY)19:22:17.97

16、1933 IP P 3:9(16) ack 42 win 4339 0x0000: 4500 0038 0466 4000 4006 07d6 c0a8 5665 E.8.f.Ve 0x0010: c0a8 56ce e8de 0cea 364d 18fd c4d7 1df2 .V.6M. 0x0020: 5018 10f3 1d24 0000 0c00 0000 0373 686f P.$.sho 0x0030: 7720 7461 626c 6573 w.tables2)服务端向客户端发送一个普通的tcp包19:22:18.011368 IP .ack 16 win 46 0x0000:

17、4508 0028 0d38 4000 4006 ff0b c0a8 56ce E.(.8.V. 0x0010: c0a8 5665 0cea e8de c4d7 1df2 364d 190d .Ve.6M. 0x0020: 5010 002e 5935 0000 P.Y5.3)服务端向客户端发送一个响应结果包(Result Packets)19:22:18.031320 IP P 1:521(520) ack 16 win 46 0x0000: 4508 0230 0d39 4000 4006 fd02 c0a8 56ce E.0.9.V. 0x0010: c0a8 5665 0cea e8

18、de c4d7 1df2 364d 190d .Ve.6M. 0x0020: 5018 002e 30a7 0000 0100 0001 0157 0000 P.0.W. 0x0030: 0203 6465 6612 696e 666f 726d 6174 696f .def.informatio 0x0040: 6e5f 7363 6865 6d61 0b54 4142 4c45 5f4e n_schema.TABLE_N 0x0050: 414d 4553 0b54 4142 4c45 5f4e 414d 4553 AMES.TABLE_NAMES 0x0060: 0f54 6162 6c

19、65 735f 696e 5f6d 7973 716c .Tables_in_mysql 0x0070: 0a54 4142 4c45 5f4e 414d 450c 0800 4000 .TABLE_NAME. 0x0080: 0000 fd01 0000 0000 0500 0003 fe00 0022 . 0x0090: 000d 0000 040c 636f 6c75 6d6e 735f 7072 .columns_pr 0x00a0: 6976 0300 0005 0264 620a 0000 0609 6462 iv.db.db 0x00b0: 5f6f 705f 6c6f 6706

20、 0000 0705 6576 656e _op_log.even 0x00c0: 7405 0000 0804 6675 6e63 0c00 0009 0b67 t.func.g 0x00d0: 656e 6572 616c 5f6c 6f67 0e00 000a 0d68 eneral_log.h 0x00e0: 656c 705f 6361 7465 676f 7279 0d00 000b elp_category. 0x00f0: 0c68 656c 705f 6b65 7977 6f72 640e 0000 .help_keyword. 0x0100: 0c0d 6865 6c70

21、5f72 656c 6174 696f 6e0b .help_relation. 0x0110: 0000 0d0a 6865 6c70 5f74 6f70 6963 0500 .help_topic. 0x0120: 000e 0468 6f73 7411 0000 0f10 6e64 625f .host.ndb_ 0x0130: 6269 6e6c 6f67 5f69 6e64 6578 0700 0010 binlog_index. 0x0140: 0670 6c75 6769 6e05 0000 1104 7072 6f63 .plugin.proc 0x0150: 0b00 001

22、2 0a70 726f 6373 5f70 7269 760d .procs_priv. 0x0160: 0000 130c 7072 6f78 6965 735f 7072 6976 .proxies_priv 0x0170: 0800 0014 0773 6572 7665 7273 0900 0015 .servers. 0x0180: 0873 6c6f 775f 6c6f 670c 0000 160b 7461 .slow_log.ta 0x0190: 626c 6573 5f70 7269 7605 0000 1704 7465 bles_priv.te 0x01a0: 7374

23、0600 0018 0574 6573 7431 0a00 0019 st.test1. 0x01b0: 0974 696d 655f 7a6f 6e65 1600 001a 1574 .time_zone.t 0x01c0: 696d 655f 7a6f 6e65 5f6c 6561 705f 7365 ime_zone_leap_se 0x01d0: 636f 6e64 0f00 001b 0e74 696d 655f 7a6f cond.time_zo 0x01e0: 6e65 5f6e 616d 6515 0000 1c14 7469 6d65 ne_name.time 0x01f0:

24、 5f7a 6f6e 655f 7472 616e 7369 7469 6f6e _zone_transition 0x0200: 1a00 001d 1974 696d 655f 7a6f 6e65 5f74 .time_zone_t 0x0210: 7261 6e73 6974 696f 6e5f 7479 7065 0500 ransition_type. 0x0220: 001e 0475 7365 7205 0000 1ffe 0000 2200 .user.4) 客户端向服务端发送一个普通的tcp包19:22:18.232503 IP .ack 521 win 4209 0x000

25、0: 4500 0028 046b 4000 4006 07e1 c0a8 5665 E.(.k.Ve 0x0010: c0a8 56ce e8de 0cea 364d 190d c4d7 1ffa .V.6M. 0x0020: 5010 1071 46ea 0000 0000 0000 0000 P.qF.1.2.3 退出客户端在命令行模式下输入命令:quit 退出数据库1)客户端向服务端发送一个退出的命令包15:50:46.533701 IP P 0:5(5) ack 79 win 4357 0x0000: 4500 002d 039d 4000 4006 08aa c0a8 5665 E

26、.-.Ve 0x0010: c0a8 56ce e58f 0cea 3176 44b4 c11e 6e97 .V.1vD.n. 0x0020: 5018 1105 d5e3 0000 0100 0000 0100 P.2)三次握手断开连接(断开连接不是四次握手吗?但实际情况下测试如果是正常的退出只有三次握手的过程)15:50:46.533733 IP F 5:5(0) ack 1 win 4357 0x0000: 4500 0028 039e 4000 4006 08ae c0a8 5665 E.(.Ve 0x0010: c0a8 56ce e58f 0cea 3176 44b9 c11e 6

27、e97 .V.1vD.n. 0x0020: 5011 1105 d7ea 0000 0000 0000 0000 P.15:50:46.533854 IP F 1:1(0) ack 6 win 46 0x0000: 4508 0028 648b 4000 4006 a7b8 c0a8 56ce E.(d.V. 0x0010: c0a8 5665 0cea e58f c11e 6e97 3176 44ba .Ve.n.1vD. 0x0020: 5011 002e e8c0 0000 P.15:50:46.534434 IP .ack 2 win 4357 0x0000: 4500 0028 03

28、9f 4000 4006 08ad c0a8 5665 E.(.Ve 0x0010: c0a8 56ce e58f 0cea 3176 44ba c11e 6e98 .V.1vD.n. 0x0020: 5010 1105 d7e9 0000 0000 0000 0000 P.2.MySql数据包结构的描述2.1 包头(Packet Header)每个数据包都有一个包头,具体格式如下:Bytes Name - - 3 Packet Length 1 Packet Number Packet Length: The length, in bytes, of the packetthat follows the Packet Header. Theremay be some special values in the mostsignificant byte. The maximum packet length is (2*24 -1),about 16MB. Packet Number: A serial number which can be used toensure that all packets are presentand in order. The first packet of aclient quer

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1