背景需求
生产环境中, 难免有执行有问题的SQL, 这个时候就需要有人背锅找出原因. 找到相关时间点的二进制日志, 然后解析就可以找到出问题的SQL, 但 那是谁执行的呢? 谁都不承认....本文就是实现旁挂型审计
实现原理
获取mysql包 然后 解析mysql包
获取mysql包, 我们使用scapy的sniff抓包, 解析mysql包, 之前就已经做过了...., 和tcpdump一样的语法
#iface 网卡名字(目标IP所要经过的网卡)
#prn 处理函数
if bdata[:1] == b'\x03':
sql = bdata[1:].decode...()
_psql = sqlparse.parse(sql)[0] #没有做更深层次的解析了, 毕竟不需要
msg += f"SQL({_psql.get_type()}) {_psql.value...附源代码
本工具直接将结果print的, 你也可以将结果保存在文件里(修改下printf函数即可)
from scapy.all import sniff
import sqlparse
import