Wenn du weißt, wann und dass die Anmeldung war, dann hast du schon alle Infos, die die Box überhaupt nur "loggen" kann.
Selbst dabei kennst du nur sehen, dass sie laut FB "von deinem PC" kam. "Von deinem PC", das wäre ja auch an sich o.k..
Natürlich könnte man deine IP "kapern", oder sogar deine MAC, dagegen kannst du aber eigentlich nichts tun.
Was du theoretisch machen könntest: Alle x Minuten prüfen
- ob wer auf der GUI ist (mittels netstat auf HTTP-Verbindungen prüfen)
- schauen, ob die Config-Datei(en) (wie ar7.cfg) verändert wurden und das protokollieren.
Das letztere (Vergleich der Konfigs) zumindest erfordert awk und/oder diff, was du ggf. auf die Box bringen musst (z.B. mit Freetz).
Je nach "Sicherheit" kannst du das ganze dann noch im Flash oder auf einem Stick speichern oder per Mail verschicken, sonst ist es nach einem Reset weg.
Code:
#!/bin/sh
OUT=/var/tmp/checker.txt
TIMER=30
# Noch keine Kopie der ar7.cfg? Dann anlegen
[ -r /var/tmp/ar7.bu ] || cat /var/flash/ar7.cfg > /var/tmp/ar7.bu
while true ; do
# IPs mit HTTP zur Box:
# netstat aller tcp sessions ohne Namensauflösung; davon
# aus allen Zeilen, deren lokaler Port (erstes :) 80 ist,
# die zweite IP rausfiltern
HTTP_IPS=$(netstat -tn | sed -n 's/^tcp[^:]*:80[ ]*\([0-9\.]*\)\:.*/\1/ p' | sort -u)
# MAC zu den IPs
for ip in $HTTP_IPS; do echo -n "$(date +"%Y-%m-%d %H:%M:%S"): Aktive HTTP-Session von " >> $OUT ;arp $ip >> $OUT; done
# find changes in ar7.cfg
if ! cmp -s /var/flash/ar7.cfg /var/tmp/ar7.bu ; then
cat /var/flash/ar7.cfg > /var/tmp/ar7.akt
echo "ar7.cfg wurde verändert!" >> $OUT
echo "#############START geänderte Zeilen##############" >> $OUT
awk 'NR==FNR { ++a[$0]; next } !a[$0] ' /var/tmp/ar7.bu /var/tmp/ar7.akt >> $OUT
echo "############# ENDE geänderte Zeilen##############" >> $OUT
diff -ur /var/tmp/ar7.bu /var/tmp/ar7.akt > /var/tmp/ar7change.$(date +"%Y%m%d-%H_%M_%S")
mv /var/tmp/ar7.akt /var/tmp/ar7.bu
fi
sleep $TIMER
done
Sowas funktioniert zumindest auf einer Freetz-Box mit "diff", man merkt aber, auch ohne "echte Änderungen" schreibt die GUI teilweise ein neues Datum in die ar7.cfg oder verändert die verschlüsselten User/Passworte...
Code:
root@Speedport:/var/tmp#
root@Speedport:/var/tmp# cat checker.txt
2012-11-17 14:52:09: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
ar7.cfg wurde verändert!
#############START geänderte Zeilen##############
* Sat Nov 17 14:51:54 2012
username = "$$$$FO...2U";
passwd = "$$$$QN...2U";
username = "$$$$YL...2U";
passwd = "$$$$3K...2U";
username = "$$$$AH...2U";
passwd = "$$$$LA...2U";
password = "$$$$MW...2U";
From = "$$$$RG...IA";
############# ENDE geänderte Zeilen##############
2012-11-17 14:52:40: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
2012-11-17 14:54:10: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
ar7.cfg wurde verändert!
#############START geänderte Zeilen##############
* Sat Nov 17 14:53:47 2012
username = "$$$$FO...AA";
passwd = "$$$$QN...AA";
username = "$$$$YL...AA";
passwd = "$$$$3K...AA";
username = "$$$$AH...AA";
passwd = "$$$$LA...AA";
password = "$$$$MW...AA";
############# ENDE geänderte Zeilen##############
2012-11-17 14:54:41: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
2012-11-17 14:55:41: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
ar7.cfg wurde verändert!
#############START geänderte Zeilen##############
* Sat Nov 17 14:55:40 2012
############# ENDE geänderte Zeilen##############
2012-11-17 14:56:12: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
2012-11-17 14:56:42: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
ar7.cfg wurde verändert!
#############START geänderte Zeilen##############
* Sat Nov 17 14:56:28 2012
From = "$$$$RG...LW";
############# ENDE geänderte Zeilen##############
2012-11-17 14:57:13: Aktive HTTP-Session von Ubuntu.fritz.box (10.1.1.43) at xx:xx:xx:xx:xx [ether] on lan
root@Speedport:/var/tmp#
root@Speedport:/var/tmp#
Ist eine schöne Skript-Herausforderung/Aufgabe, aber ob man das im privaten Umfeld so braucht ist eine andere Frage. Ein gewisses Maß an Vertrauen ...
Ergänzung: Die "schlaue" Nutzung von awk als "diff-Ersatz" ist nicht von mir, sondern habe ich
hier gefunden