D-Link DCS-8000LH – Notizen zum Umbau einer Cloud-Kamera in eine lokal verwaltete IP-Kamera
(github.com/bmork)- Arbeitsprotokoll und Werkzeugsammlung, um eine D-Link DCS-8000LH in eine lokal verwaltete IP-Kamera umzuwandeln, ohne sie in der mydlink-App bzw. dem Cloud-Dienst zu registrieren
- Die ursprüngliche Firmware 2.01.03 ist an die mydlink-App bzw. den Cloud-Dienst gebunden und bietet weder eine lokale NIPCA-kompatible HTTP-API noch HTTP-, HTTPS- oder RTSP-Videostreaming
- Zu den erreichten Hauptfunktionen gehören das Setzen von Netzwerk- und Administrator-Passwort über Bluetooth LE, direktes MPEG-TS-Streaming per HTTP und HTTPS, direktes RTSP-Streaming sowie eine NIPCA-API-Konfiguration mit Unterstützung für Einstellungen wie LED und nightmode
- Das enthaltene
dcs8000lh-configure.pynutzt den PIN Code auf dem Kamera-Label und die Bluetooth-MAC-Adresse für WLAN-Scan, WLAN-Konfiguration, Ausgabe von Netzwerkinformationen, Dump von Systeminformationen, Ausführen von Kamerabefehlen, Aktivieren von telnetd, lighttpd und RTSP sowie das Erlauben unsignierter Firmware - Für den vollständigen Umbau muss ein Dateisystem in der Kamera modifiziert werden; dabei besteht das Risiko, dass die Kamera bei Fehlern unbrauchbar wird
- Getestet und entwickelt wurde mit den Firmware-Versionen v2.01.03 und v2.02.02; das abschließende vollständige Verfahren wurde jedoch nur mit v2.02.02 getestet
- Erforderlich sind ein Linux-PC mit Bluetooth-Controller, Python 3, bluepy, ein WPA2-PSK-WLAN samt Passwort,
mksquashfsaussquashfs-toolssowie ein tftp-Server für Backups oder ein Webserver, der Datei-Uploads entgegennimmt - Nach der Modifikation ist HTTP-/HTTPS-Streaming über
https://Kamera-IP/video/mpegts.cgioderhttps://Kamera-IP/video/flv.cgierreichbar; zur Authentifizierung werden der Benutzeradminund der PIN Code der Kamera als Passwort verwendet - Wenn nur RTSP benötigt wird, kann permanenter RTSP-Zugriff in der originalen D-Link-Firmware auch ohne Firmware-Modifikation über die Bluetooth-Option
--rtspaktiviert werden - Die Partition
userdatawird von den mydlink-Cloud-Werkzeugen verwendet; das Beispiel-Firmware-Update ändert nur diese Partition und lässt Kernel und rootfs des D-Link-Kamera-OS unverändert - Ein Backup ist vor Änderungen erforderlich; die Partition
pibenthält für diese Kamera spezifische Daten wie Modellnummer, Hardware-Revision, MAC-Adresse, Feature-Bits, privaten Schlüssel, PIN Code und Passwort - Der lokale Webserver stellt keine Web-GUI bereit, sondern eine direkte Kamera-Management-API mit Authentifizierung; über die NIPCA-API lassen sich die meisten Kameraeinstellungen mit Kommandozeilenwerkzeugen wie
curlsteuern
1 Kommentare
Hacker-News-Kommentare
Mit fast jeder IP-Kamera oder USB-Kamera lässt sich etwas Ähnliches mit geringerer Latenz und in der maximal von der Kamera unterstützten Qualität aufbauen.
Wenn Interesse besteht, könnte ich so ein Setup kurz zusammenfassen oder ein Repository mit den nötigen Konfigurationsdateien erstellen.
Ich finde keinen Smart Plug auf dem Markt, der sich nicht mit der Cloud verbindet, nur damit man ihn von überall steuern kann. Ich will ihn gar nicht von überall steuern, sondern nur innerhalb meines LAN.
Edit: Zumindest auf amazon.in habe ich nichts gefunden.
https://www.amazon.in/s?k=smart+plugs
Ich habe eine namenlose chinesische IP-Kamera geschenkt bekommen und nutze sie als Außenkamera. Die Kamera speichert fortlaufend auf eine SD-Karte, und ich nutze die kostenpflichtige Cloud-Option nicht. Mit der App KP WIFICAM kann ich den Live-Feed auch über das Internet sehen.
Die Aufnahmen der letzten Tage auf der SD-Karte kann ich im Menü ebenfalls ansehen oder herunterladen, aber sie sind in 10-Minuten-Stücke aufgeteilt, sodass ich fast 100 Dateien manuell laden müsste, wenn ich nur einen Tag herunterladen will.
Wie könnte ich diese Clips von der SD-Karte automatisch auf einen Laptop herunterladen oder den Prozess vereinfachen? Wie ruft die mobile App die Aufnahmeliste ab und wie lädt sie die Dateien herunter?
Ich habe Agent-DVR ausprobiert und den Kamera-Feed im ONVIF-Format gefunden. Daher vermute ich, dass auch die mobile App dieses Protokoll nutzt: https://stackoverflow.com/questions/29159422/get-data-from-l.... Gibt es dafür unter Linux ein brauchbares Tool, ohne dass ich tagelang eine Entwicklungsumgebung aufsetzen und selbst Code schreiben muss?
Mein Ehepartner nutzt inzwischen vier verschiedene Kamera-Apps, und jede hat absurde Probleme, die SD-Karten sind viel zu klein, und die schlecht kommunizierten Gebühren für Cloud-Speicher sind unverschämt hoch.
Man könnte natürlich neue Geräte kaufen, aber bei billigen Produkten besteht eine gute Chance, denselben Fehler zum fünften Mal zu machen.
Selbst wenn die Software sechsmal so viel kosten würde wie die Kamera, wäre sie es wert.
Es wäre sogar nützlich, einen Service zu haben, bei dem jemand in einem Niedriglohnland eine Wand voller Kameras beobachtet und sie der Reihe nach überwacht. Genau dieser Service, für den westliche Sicherheitsfirmen Tausende Dollar pro Monat verlangen, ist praktisch Raub.
Es ist extrem frustrierend, dass es für ein so wichtiges Produkt wie eine IP-Kamera offenbar keinerlei Consumer-Produkte gibt, die sich ohne Hersteller-Cloud lokal nutzen lassen.
Ich weiß, dass man sich etwas mit einem Raspberry Pi bauen kann, aber ich möchte auch die Komfortfunktionen normaler Produkte wie Motorsteuerung und gute Bewegungsmeldungen.
Für ein Produkt, bei dem ich das nicht alles selbst entwickeln müsste, würde ich ohne Weiteres das Zwei- bis Dreifache des heutigen Consumer-Preises zahlen.
Ich betreibe Synology Surveillance Station auf einem lokalen NAS und steuere damit ReoLink-Kameras. Kameraschwenks funktionieren auch, und Bewegungserkennung gibt es ebenfalls.
Mit lokalen IP-Kameras gibt es noch deutlich fortgeschrittenere Anwendungsfälle. Ich habe gestern das „Deep-Learning“-NVR von Synology gekauft, das bei lokalen Domar-Kameras zusätzlich zu den Standardfunktionen Zoom, Pan und Tilt auch Personenerkennung, Gesichtserkennung und Kennzeichenerkennung unterstützt.
Meine Kameras sind alle billige Produkte von Aliexpress, waren nie mit dem Internet verbunden, und ich habe auch nie dubiose Hersteller-Apps installiert. Ich habe nur das Gerät, auf dem Blue Iris läuft, im selben VLAN, und das erledigt alle kamerabezogenen Aufgaben.
Es unterstützt PTZ, sehr fein abgestufte Bewegungserkennung, Benachrichtigungen und sogar Trigger zum Start externer Apps, sodass man alles nach Wunsch zusammensetzen kann.
Die Gesamtkosten liegen bei etwa 30 Dollar pro günstiger PoE-IP-Kamera und rund 80 Dollar für Blue Iris.
Sie werden nur im klassischen Einzelhandels-Consumer-Kanal nicht groß beworben.
Für Leute, die die Cloud nicht mögen oder aus guten Gründen eine zweistufige Konfiguration wollen, würde ich das hier empfehlen.
Ich nutze es seit zwei Jahren mit mehreren Wyze Cam V2, und abgesehen davon, dass die Low-Light-Empfindlichkeit nicht so gut ist wie bei der V3, ist es ein ziemlich robustes und schnelles Setup ohne größere Probleme.
https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks
Ich suche schon seit einiger Zeit nach einer günstigen Kamera im Bereich 20 bis 30 Dollar, die sich wie Dafang-hacks als verlässliches Setup nutzen lässt, habe aber noch keine brauchbare Alternative gefunden.
Ich habe schon darüber nachgedacht, meine Cloud-Kameras zu ersetzen, aber Aufnahme, Benachrichtigungen und Offsite-Speicher brauche ich weiterhin.
Was ist heute für so ein Setup am sinnvollsten? Zoneminder zu Hause betreiben und Offsite-Speicherung per Syncthing auf einem VPS organisieren?
Dieses Tutorial ist unglaublich gründlich.
Es wirkt beeindruckend, wie viel Zeit Bjorn investiert haben muss, um diese Technik zu entwickeln und so sorgfältig zu dokumentieren.
Ich verstehe, dass das cool ist und Hackergeist hat, aber wenn man bedenkt, wie ernst der Anwendungsfall ist, bleibt bei mir nur die Frage: „Warum?“
Warum sollte man sich darauf verlassen wollen, dass Firmware-Hacking einer miserablen D-Link-Kamera das Einzige ist, was einen Dieb davon abhält, Sachen zu stehlen? Für ein paar hundert Dollar bekommt man ordentliche IP-Kameras von Amcrest, Dahua oder TP-Link, schließt sie per PoE an und hat dann zumindest eine Chance, zu erkennen, wer etwas gestohlen hat
Wenn man nicht hochwertige Kameras an den richtigen Stellen platziert, bleibt am Ende nur ein unscharfes Bild davon übrig, wie etwas gestohlen wird. Das ist zumindest meine Erfahrung
Eine Kamera überwacht einen Bereich und zeichnet im besten Fall jemanden, der etwas Schlechtes tut, so detailliert auf, dass das vor Gericht brauchbar ist. Wenn die Qualität gut genug ist und das Ereignis ordentlich aufgezeichnet wurde, gibt es funktional keinen großen Unterschied zwischen einer gehackten D-Link und einer Nest-Kamera
Auch D-Link fährt bei mehreren Kameras den Service ein, was bedeutet, dass der Cloud-Dienst abgeschaltet wird, die Kameras unbrauchbar werden und man gezwungen ist, neue Produkte zu kaufen
Ich versuche gerade, eine DCS-5030L zu hacken. Ich habe bereits die SPI-EPROM-Firmware gedumpt und u-boot mit Ghidra rückwärts disassembliert, um Secure Boot zu patchen
Auf dem Foto ist die ID teilweise geschwärzt, aber der Barcode darunter nicht
Ich weiß nicht, ob diese Werte einfach nur codierte Formen davon sind, aber es ist etwas, das man im Blick behalten sollte
[1] https://github.com/markusfisch/BinaryEye
Für Netzwerkkameras, die nur rein lokalen Netzwerkzugriff nutzen, habe ich Produkte mit ONVIF-Unterstützung gewählt und sie an Netcam Studio angebunden
https://www.netcamstudio.com/
Danach kann man den externen Netzwerkzugriff der Kamera-IP blockieren, um zu verhindern, dass sie die Server des Herstellers kontaktiert
Ich verwende einfach eine normale USB-Kamera und streame MJPEG per HTTP mit ustreamer
Das funktioniert überraschend gut, aber Verarbeitung und Speicherung muss man komplett selbst bauen. Man bekommt nur eine Screenshot-URL und eine Streaming-URL
Die Idee gefällt mir
Meine IP-Kameras laden alle per FTP auf meinen Server hoch, und der Server lädt die Daten sofort zu Google Drive weiter. Das funktioniert perfekt und ist günstig, aber es bleibt trotzdem dabei, dass es internetverbundene chinesische Kameras sind
Gibt es eine Liste von Kameras, die man auf diese Weise umwandeln kann?
Ursprünglich wollte ich USB→GDrive, habe dann aber festgestellt, dass der Brother-Scanner bei USB keine Überschreibung der Scan-Einstellungen am Display erlaubt, bei FTP dagegen schon
Was verwendest du für diese Übertragung?
Man richtet ein separates Netzwerk nur für Kameras ein, zum Beispiel mit einem eigenen WLAN-Router
Dann findet man die Server-IP heraus, an die die Kamera ihr Video sendet
Einen PC oder Raspberry Pi verbindet man mit dem WAN-Port dieses WLAN-Routers für die Kameras
Dann weist man diesem PC oder Raspberry Pi alle zuvor gefundenen Kamera-Server-IPs zu
Danach sollte man den gesamten Traffic abfangen können, den die Kamera an den Server sendet, und kann dann damit machen, was man möchte
Ich habe auf eine Yi-Kamera eine Custom Firmware per Sideload geladen und verwende sie als stabile WLAN-Kamera. Dieses VLAN hat überhaupt keinen Internetzugang
Ich habe lange versucht, so etwas umzusetzen. Bei allem, was ich finde, fehlt FTP/SFTP-Unterstützung, stattdessen sollen Bilder per LTE an eine E-Mail-Adresse geschickt werden
Das Ziel ist einfach eine Wetterkamera. Ein Bild pro Minute hochladen, mehr nicht. So schlicht wie eine altmodische Webcam aus den 2000ern
Mit einem rPi3 und einer Logitech-Kamera bin ich auf Probleme gestoßen, die ich nicht lösen konnte, und war so frustriert, dass ich fast aufgegeben habe