Typ einer Datenbank herausfinden ...

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
drnicolas
User
Beiträge: 113
Registriert: Sonntag 24. Juli 2016, 10:32

Ich bin ganz beeindruckt, welche Module es für den DB-Zugriff in Python gibt.
Viele DBs habe ich noch nie gehört.

Gibt es irgendeine Methode/Webseite oder so , wo man eine unbekannte DB_Datei(en) analysieren lassen kann um herauszufinden welches Modul man benötigt?
Benutzeravatar
DeaD_EyE
User
Beiträge: 1266
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Hiermit z.B.: https://man7.org/linux/man-pages/man1/file.1.html

Meist wird sqlite3 verwendet, das 100x schneller ist, da der ganze Netzwerkstack nicht dazwischen liegt, sondern direkt auf die Datei zugegriffen wird.
Manche Dateiformate für Anwendungen nutzen sqlite3.

Viele Datenbanken haben eine Server-Client-Struktur und transportieren die Daten übers Netzwerk.
Ein Server-Prozess liest/schreibt die Datenbankdateien und bekommt vom Client über den Netzwerkstack die Befehle.

Code: Alles auswählen

# Service/Version-Erkennung auf einem Port
nmap -sV -p 3306 example.com

# Versionserkennung mit ausführlicher Suche (mehr Signaturen)
nmap -sV --version-all -p 5432 example.com

# Mit spezifischen DB-Scripts (MySQL, MSSQL, PostgreSQL)
nmap -sV --script=mysql-info -p 3306 example.com
nmap -sV --script=ms-sql-info -p 1433 example.com
nmap -sV --script=pgsql-info -p 5432 example.com

Code: Alles auswählen

# einfaches Banner-grabbing
nc -v example.com 3306
# oder, um einen Timeout zu haben und nichts zu senden
echo | nc -w 2 example.com 3306

Code: Alles auswählen

# MySQL client (falls anonym erlaubt, oft nicht möglich)
mysql -h example.com -P 3306 --protocol=TCP -u unknown -p

# Postgres health-check
pg_isready -h example.com -p 5432

# MS SQL: using sqlcmd (oder mssql-cli)
sqlcmd -S example.com,1433 -U user -P pass   # erfordert creds
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
drnicolas
User
Beiträge: 113
Registriert: Sonntag 24. Juli 2016, 10:32

Vielen Dank. Das werde ich mal probieren.

Es handelt sich um eine ISAM-Datenbank, anscheinend eine Dateiengruppe pro Tabelle aus 3 Dateien
Benutzeravatar
DeaD_EyE
User
Beiträge: 1266
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Python-Modul ohne Abhängigkeiten (pure Python): https://pypi.org/project/pydbisam/
Python-Modul, dass ctypes/cffi nutzt, um eine installierte C-ISAM/VBISAM Bibliothek zu verwenden: https://github.com/rpmoseley/pyisam

C-ISAM ist von IBM und die haben daran die Urheberrechte. Die FOSS Variante ist VBISAM.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten