#!/bin/bash # Skript zum automatischen Konvertieren & Hochladen von Handshake-Dateien via WebDAV # Autor: Michael # Datum: 03.03.2025 # Beschreibung: Wandelt PCAPs in HC22000 um und lädt sie hoch. # Nutzung: Einfach ausführen, setzt WebDAV-Zugangsdaten voraus. # WebDAV-Zugangsdaten WEBDAV_URL="https://cloud.michaelis.digital/remote.php/dav/files/Michaelis/PenTest/grabz/Handshakes" WEBDAV_USER="Michaelis" WEBDAV_PASS="CpGPz-H6F8t-iwd25-3TYXT-9YN3J" # Verzeichnisse LOCAL_DIR="/home/pi/handshakes" LOG_FILE="/home/pi/webdav_upload.log" # Prüfe, ob das Verzeichnis existiert if [ ! -d "$LOCAL_DIR" ]; then echo "$(date) - Fehler: Verzeichnis $LOCAL_DIR existiert nicht." | tee -a "$LOG_FILE" exit 1 fi # Funktion: Konvertiere PCAP zu HC22000 convert_pcaps() { echo "$(date) - Starte Konvertierung von PCAPs nach HC22000..." | tee -a "$LOG_FILE" for pcap in "$LOCAL_DIR"/*.pcap; do [ -f "$pcap" ] || continue # Falls keine PCAP-Dateien vorhanden sind, überspringen hc22000="${pcap%.pcap}.22000" # Konvertiere nur, wenn ein 4-Way Handshake vorhanden ist hcxpcapngtool -o "$hc22000" "$pcap" 2>> "$LOG_FILE" if [ $? -eq 0 ]; then echo "$(date) - Erfolgreich konvertiert: $pcap -> $hc22000" | tee -a "$LOG_FILE" else echo "$(date) - Fehler bei der Konvertierung: $pcap. Lösche fehlerhafte PCAP-Datei." | tee -a "$LOG_FILE" rm "$pcap" # Lösche fehlerhafte PCAP-Datei fi done } # Starte Konvertierung convert_pcaps # Starte den Upload echo "$(date) - Starte Upload..." | tee -a "$LOG_FILE" for file in "$LOCAL_DIR"/*.22000; do [ -f "$file" ] || continue # Falls keine 22000-Dateien vorhanden sind, überspringen echo "$(date) - Lade hoch: $(basename "$file")" | tee -a "$LOG_FILE" curl -u "$WEBDAV_USER:$WEBDAV_PASS" -T "$file" "$WEBDAV_URL/" --silent --show-error --fail if [ $? -eq 0 ]; then echo "$(date) - Erfolgreich hochgeladen: $file" | tee -a "$LOG_FILE" else echo "$(date) - Fehler beim Hochladen: $file" | tee -a "$LOG_FILE" fi done echo "$(date) - Upload abgeschlossen." | tee -a "$LOG_FILE"