mysql登录数据包_无法使用通过python建立的tcp套接字上的原始数据包处理mysql登录?可能是因为盐?...

我正在尝试通过python程序模拟mysql连接过程。

在python脚本中,我打开一个到mysql服务器的tcp套接字,并在socket上编写预捕获。

登录数据包时,我收到一个错误“Š28000拒绝用户'root'@'10.x.x.xxx'(使用密码:YES)”import socket

import sys

import time

Host = '10.x.x.xxx'

Port = '3306'

t_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

clust_vip = (Host, int(Port))

try:

t_con.connect(clust_vip)

print ('Socket connection established')

print "TCP connection established:", t_con.recv(4096)

byte1 = open("req_r1").read()

t_con.send(byte1)

print "Response for packet1:", t_con.recv(4096)

bytes2 = open("req_r2").read()

t_con.send(byte2)

print "Response for packet2:", t_con.recv(4096)

finally:

t_con.close()

上面使用的“req_r1”和“req_r2”文件包含原始数据包(mysql协议原始数据包,而不是整个帧/tcp层)我正在通过socket回放捕获过程

我跳过了TCP连接包(因为我正在通过python建立套接字连接)

我试着写原始数据包(mysql协议包),而不是在套接字上写整个帧。在

有谁能指导我如何克服这个问题吗。我认为错误是由于salt用于建立mysql连接。在

更新:我了解的是在建立tcp套接字连接时,db server用salt回复,我需要重用这个salt生成加密密码,并在下一个连接包中使用。

如果有人知道我是否在正确的轨道上,以及如何提取/重用它,这将是一个很大的帮助。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值