Hi,
ich möchte einen Datenstrom sicher über WLAN übertragen. Auf der Quellseite läuft ein embedded System mit Debian, auf der Zielseite läuft Windows. Die Daten stamen aus einem Gerät, dass keine Kommunikation erfordert, sondern einfach nur Binärdaten mit ca 8 kByte/s erzeugt.
Die Verbindung kann für Stunden oder Tage ausfallen (tut sie auch wirklich), weil die Empfangsseite ausfällt oder die WLAN-Funkstrecke.
Kennt jemand ein geeignetes gängiges Protokoll?
Vielleicht ist die Lösung ja naheliegend, nur ich komm nicht drauf.
Daten sicher übertragen
Re: Daten sicher übertragen
Ich weiß nicht wie man bei Windows eine Automatisierung einrichtet geschweige denn einen Netzwerkdienst. Aus diesem Grund würde ich falls das "embedded System mit Debian" Serverdienste bereitstellen kann, dort den Serverdienst implementieren und dem Windows-System die Daten dort abholen lassen. Generell bietet sich die Kommunikation über sftp (Subsystem von SSH) an. Ist in /etc/ssh/sshd_config nur ein Konfigurationseintrag. Auf der Empfangsseite Windows müsstest du sowas wie WinSCP nur besser textbasiert nutzen, um es besser zu automatisieren. Als Alternative könntest du z.B. auch einen SSL-Webserver auf dem Debian-System installieren und die Daten dann mit "wget unter Windows" ziehen (falls es das gibt). Ich glaube von Netzwerklaufwerken wie Samba würde ich aufgrund der fehlenden Verschlüsselung und evtl. Problemen beim Wiederaufbau der Verbindung eher abraten.
Re: Daten sicher übertragen
Was meinst Du mit "sicher"?
a) darf nicht geändert werden
b) darf nicht von anderen gelesen werden können
c) muss garantiert ankommen, d.h. kein Paket darf fehlen, selbst wenn die Leitung mal für Tage weg war, muss das fehlende Zeug nochmal übertragen werden bis alles vollständig drüben ist
d) ...
Wie willst Du die Daten verarbeiten? fortlaufender Stream oder einzelne kleine Dateien?
Netcat über ssh getunnelt wäre eine (nicht die beste) Option.
Oder meinst Du von "Programmiererseite"? Dann einfach TCP mit verschlüsseltem payload. Je nach Sprache gibts genug "fertiges", sprich entsprechende Libraries.
a) darf nicht geändert werden
b) darf nicht von anderen gelesen werden können
c) muss garantiert ankommen, d.h. kein Paket darf fehlen, selbst wenn die Leitung mal für Tage weg war, muss das fehlende Zeug nochmal übertragen werden bis alles vollständig drüben ist
d) ...
Wie willst Du die Daten verarbeiten? fortlaufender Stream oder einzelne kleine Dateien?
Netcat über ssh getunnelt wäre eine (nicht die beste) Option.
Oder meinst Du von "Programmiererseite"? Dann einfach TCP mit verschlüsseltem payload. Je nach Sprache gibts genug "fertiges", sprich entsprechende Libraries.
Re: Daten sicher übertragen
HTTPS weil's jeder nutzt
Sonst halt ftp oder sonstwas.
Debianseite clientsite:
Das device muss dann halt Dateien erzeugen, die immer Dateien mit mehreren Minuten Daten anlegen. Falls es eine Pipe ist:
Auf der Windows Seite muss dann halt ein Webserver stehen, der PUT mit Clienzertifikaten und 9GiB großen Dateien akzeptiert, und ggf. wieder zusammensetzt.
Sonst halt ftp oder sonstwas.
Debianseite clientsite:
Code: Alles auswählen
ctr=1;
while true;
do curl -X DELETE https://server.tdl/$ctr.out
curl -T $ctr.out -E clientcert.pem https://server.tdl/$ctr.out --cacert ca.pem && ctr=$(($ctr+1))
sleep 60
done
Code: Alles auswählen
ctr=1
head -c 4915200 fifo > out.tmp
mv out.tmp $ctr.out
ctr=$(($ctr+1))
rot: Moderator wanne spricht, default: User wanne spricht.