内网大型数据拖库解决方案,隧道不稳定时将内网数据库保存为csv格式文件
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担 。
该工具诞生背景:
在打内网时候会有隧道不稳定情况无论是数据读取还是数据下载都会被影响(人穷vps垃圾),所以为了解决这个问题,写了这个小工具内网本地执行,为应对多种场景提供多种选项解决。
该工具应用场景:
- 数据库取证
- 数据库读取/下载
- 联表导出
该工具的使用方案:
- 配置文件读取
info.txt
(优先) - 终端交互写入
- 配置与终端混合交互
配置文件导入:
在当前目录下保存一个info.txt
# jdbc mysql url
db_url=jdbc:mysql://localhost:3306/a
# jdbc mysql username
db_user=root
# jdbc mysql password
db_passwd=123456
# function mode
db_function=1
交互模式导入:
无配置文件情况下
混合模式:
文本配置下,部分不填,解决连接固定减少多次输入的情况,通过交互来解决。
# jdbc mysql url
db_url=jdbc:mysql://localhost:3306/a
# jdbc mysql username
db_user=root
# jdbc mysql password
db_passwd=123456
# function mode
db_function=
将每张表保存拖到当前目录下对应表名的csv文件中。
功能介绍:
- Retrieve the names of all database repositories under the connection. (查询当前连接的所有数据库名)
- Read all tables and fields of the specified database.(查询当前数据库的所有表和字段)
- Drag all the contents of the specified library.(下载当前数据库的所有表数据)
- Terminal prints the first 50 records of SQL execution results for debugging purposes.(限制下的SQL查询,结果只显示50条且展示在终端上)
- Save SQL execution results with unlimited queries.(无限制的SQL查询,结果保存在当前目录下的6位随机名字的csv文件中)
SQL功能举例:
限制下的SQL执行展示
无限制下的SQL结果展示
合理利用,正常还是隧道正常连方便,这是为了解决数据过大的情况。