FRITZ!Box Supportdaten laden mit Bash

lano

Aktives Mitglied
Moin.
Hin und wieder will man ja mal die Support Daten der Fritzbox laden. Für den Support oder für sich selbst.
Mir war das immer zu viel rum klickerei. Darum für die Freunde der gelebten Automation. Ein kleines Bash Script.

fb_getSupportdata.sh:
#!/bin/bash

FBOX=${1:-fritz.box}
FBUID=${2:-boxuser}
SECRET=${3:-boxpasswd}

FOLDER=/home/lano/.fb_supportdata

echo "Supportdata loading..."

CHALLENGE=`wget --no-check-certificate -O - "https://${FBOX}/login_sid.lua" 2>/dev/null | sed 's/.*<Challenge>\(.*\)<\/Challenge>.*/\1/'`
CPSTR="${CHALLENGE}-${SECRET}"
MD5=`echo -n ${CPSTR} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}'`
RESPONSE="${CHALLENGE}-${MD5}"
URL_PARAMS="username=${FBUID}&response=${RESPONSE}"
SID=`wget --no-check-certificate -O - "https://${FBOX}/login_sid.lua?${URL_PARAMS}" 2>/dev/null | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/'`
TMPFILE=$(mktemp /tmp/supportdata.XXXXXX)
TIME=$(date +"%Y-%m-%d_%H%M%S")
mkdir -p ${FOLDER}
FILE=${FOLDER}/support_${TIME}.txt
RND=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

echo "--${RND}" >${TMPFILE}
echo "Content-Disposition: form-data; name=\"sid\"" >>${TMPFILE}
echo "" >>${TMPFILE}
echo "${SID}" >>${TMPFILE}
echo "--${RND}" >>${TMPFILE}
echo "Content-Disposition: form-data; name=\"SupportDataEnhanced\"" >>${TMPFILE}

echo `wget --no-check-certificate -O ${FILE} -H "Content-Type: multipart/form-data; boundary=--${RND}" --post-file ${TMPFILE}  "http://${FBOX}/cgi-bin/firmwarecfg" 2>/dev/null`
rm -f $TMPFILE
echo $TIME>${FOLDER}/last.info

Es sollte eigentlich alles Selbsterklärend sein.
 
Vielen Dank für die Arbeit.

Leider wird beim Ausführen nur eine leere Datei erzeugt.

Die Anmeldedaten für die FritzBox sind korrekt im Parameter übergeben worden.

Hat jemand eine vergleichbare Situation?
 
Zurück
Oben Unten