Ausführbare Datei über Socket übertragen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Ausführbare Datei über Socket übertragen

Beitrag von gora » 19.01.2008 16:53:22

Ich habe mir eine kleine Serveranwendung geschrieben, die per system() alle Befehle ausführt, die man ihr per Clientanwendung übergibt.
Ich weiß, dass das nicht sehr sicher ist, aber vorerst reicht mir das einmal.
Nun habe ich probiert, den Inhalt einer ausführbaren Datei (ein C-Programm) als Binärdaten einzulesen und dann den Befehl

Code: Alles auswählen

echo "<Binärdaten>" > file
an die Serveranwendung zu schicken, doch leider kann der anscheinend nichts mit dem Befehl anfangen, da die Binärdaten viele Sonderzeichen enthalten.
Ziel war es ja, die Binärdaten der ausführbaren Datei am Server in die Datei "file" zu schreiben, damit dort auch diese ausführbare Datei vorhanden ist.
Wie könnte ich das jetzt trotzdem über einen Socket machen (ohne ftp, scp & Co)?

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 19.01.2008 20:13:37

So ganz habe ich das noch nicht geschnallt, was Du willst, aber das Tool netcat könnte für Dich interessant sein.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Beitrag von gora » 19.01.2008 20:20:27

Meine kleine Client-Server-Anwendung soll eben nicht nur einzelne Befehle ausführen können, sondern auch ausführbare Dateien vom Client zum Server kopieren können.

Warum könnte netcat für mich interessant sein? Kann man damit auch Dateien kopieren?

Maj0r
Beiträge: 476
Registriert: 08.12.2003 14:52:39
Wohnort: Jüchen, Ne
Kontaktdaten:

Beitrag von Maj0r » 19.01.2008 22:50:51

Ich versteh Dein Problem nicht ganz.
Du hast Dir ein Programm geschrieben das einen Bytestrom empfängt.
Warum schickst Du das dann per "echo" in eine Datei?
Erstens glaube ich nicht, dass "echo" mit Binärdaten klarkommt und zweitens solltest Du, wenn Du bereits eine Anwendung schreibst, den Bytestrom doch direkt in eine Datei schreiben können.

In Java nimmt man dazu z.B. einen ByteArrayOutputStream.

Antworten