Ausgabe über Telnet-Server



  • Hallo,

    meine Frage ist zwar Programmspezifisch, aber ich hoffe trotzdem Hilfe zu bekommen. Wie kann ich Strings über einen vorhandenen Telnetserver (wie er bei busybox bzw. buildroot dabei ist) versenden? Natürlich benötige ich auch eine Möglichkeit zu Überprüfen, ob jemand erfolgreich angemeldet ist. Entsprechend benötige ich auch eine Möglichkeit einkommende Anfragen per Telnet zu empfangen.
    Wie würde das ganze mit einem ssh-Server aussehen?

    Gruß und Danke.



  • telnetd?! so was nimmt man aber nicht mehr 🙂

    Was meinst du mit Strings-Versenden? du kannst mit man: write(1), man: mesg(1) oder man: talk(1) mit anderen Usern "kommunizieren"

    Wenn du sehen willst wer eingeloggt ist man: who(1)



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum Themen rund um den PC verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich dachte an sowas wie fopen('telnet',...). Ich möchte, dass eine Linux-Applikation direkt über Telnet Daten ausgibt. Und zwar nicht als Telnet-Client sonder als Server. Damit wenn sich ein Telnet-Client einwählt, er über diese Applikation bedient wird. Ich hoffe das war etwas verständlicher 🙂



  • Wie wäre es mit einer (x)inetd-Anwendung? Da wird doch automatisch Standard Ein-/Ausgabe zum CLient umgeleitet.



  • Das ist für mich leider Neuland. Hast du mir dafür eine empfehlenswerte Webseite zum Einstieg?



  • Da wird sich ne Menge finden lassen, z.B. http://www.linuxfibel.de/inetd.htm musst dich ein wenig mit der Funktionsweise des inetd auseinandersetzen, ich denke mal, danach kannst du fast ein normales Terminalprogramm schreiben und der inetd lenkt die Std Ein und Ausgaben auf die IP Verbindung um. Bin mir aber nicht sicher ob das wirklich so einfach ist.



  • Danke für die Antwort. Leider ist das aber nicht was ich suche. Hier müsste ich ja Telnet selbst implementieren. Dafür gibt es aber schon fertige Programme. Ich möchte eigentlich nur einen fertien telnet- oder ssh-Server nutzen um mit meiner Applikation Daten zu versenden und zu empfangen.



  • Dann setz eben deine Anwendung als Login-Shell (siehe /etc/passwd)



  • Eigentlich musst du mitmit inetd ja kein telnet implementieren, du sendest die Daten mit printf oder ähnlichem und liest Daten wie von der Tastatur direkt mit scanf/beliebiege Input-Funktion

    Aber Rüdigers Idee scheint mir da doch geeigneter zu sein.



  • eigentlich ist mir aus deinen posting nicht wirklich klar was du genau willst und detail fehlen auch, was sind das für strings? woher kommen sie, usw.

    also sagen wir mal du hast ein programm string_ausgeber, dies programm liegt auf den server
    und du willst auf den client jetzt wissen was string_ausgeber ausgibt, dann kannst du das mit ssh so lösen

    #auf den client
    ssh benutzer_auf_den_server@ip_des_server "string_ausgeber" > ausgabe_von_string_ausgeber.txt
    

    wenn es sich bei den string im enviroment variablen handelt dann machs du einfach

    #auf den client
    ssh benutzer_auf_den_server@ip_des_server "echo \$VARIABLE" > ausgeber.txt
    

    die befehle die auf den server ausgefüht werden können auch dynamisch sein
    einfach

    #auf den client
    COMMAND=`programm_welches_befehle_produziert`
    ssh benutzer_auf_den_server@ip_des_server "$COMMAND" > ausgeber.txt
    

    oder

    #auf den client
    programm_welches_befehle_produziert | ssh benutzer_auf_den_server@ip_des_server "/bin/sh" > ausgeber.txt
    

    usw.
    also das ganze ist mit ssh um einiges leichter (solange es nicht zu kompliziert ist den ssh server zu installieren)

    achja wenn du dein problem genauer erklärst kann man die sicherlich besser helfen


Anmelden zum Antworten