Server gesucht, bei dem man für eine Connection Username und Pass eingeben muss



  • Hi,
    ich möchte gerne für jemanden eine Telnet-Sitzung programmatisch automatisieren. Dazu muss sich der Computer, auf dem dann mein Prog läuft ja mit einem Telnet-Server verbinden. Derjenige, für den ich das Programm schreibe, macht das in Telnet bisher immer über "open user/pw@unix". Was soll ich da als Hostnamen in meine Connect-Funktion schreiben? "user/pw@unix" oder einfach nur "unix"? Im zweiten Fall stellt sich die Frage, wie ich dann den Usernamen und das Passwort angeben muss.
    Eine andere Frage wäre: wie wird ein solcher Hostname ("user/pw@unix") aufgelöst in eine IP?



  • Telnet ist ganz einfach.
    Du öffnest einen Socket zum Server.
    Der Server sendet dir auf den Socket etwas zurück. (USERNAME: oder ähnliches)
    Jetzt sendest du ihm den USERNAMEN und ein "\n".
    Jetzt wieder der Server mit (PASSWORD: oder ähnliches)
    Jetzt du mit den PASSWORT.
    Somit bekommst du einen CURSOR und kannst kommandos absenden. Nie "\n" vergessen zu senden.



  • Aber der Typ hat mit beschrieben, er würde "open [user]/[pass]@unix" in Telnet schreiben und nicht "open", und dann User und Pass... Gib mir doch mal bitte einen Server, bei dem ich mich mit User und Pass einloggen kann (am besten mit Anonymous), damit ich das mal ausprobieren kann.

    P.S.: Muss ich auf die Antworten des Servers warten, oder kann ich eines nach dem anderen senden ohne jeglichen Aufruf von recv()?



  • Du beziehst dich nicht zufällig auf diesen Thread? (o;

    Das was er da beschreibt ist etwas, das der Telnet Client so interpretiert... Er sendet dem Server - nach der Verbindung einfach die Daten passend zu...

    Ich vermute mal du musst schon auf die Antwort des Servers warten, da er eventuell die Eingangsqueue der Zeichen "spühlt" (flush *g*) also leert.

    -junix



  • WebFritzi schrieb:

    Aber der Typ hat mit beschrieben, er würde "open [user]/[pass]@unix" in Telnet schreiben und nicht "open", und dann User und Pass...

    Das betrifft nur die Interaktion zwischen Benutzer und Telnetprogramm, nicht die zwischen Programm und Server. Das Telnetprogramm interpretiert die Benutzereingaben und wandelt sie dem Telnet-Protokoll entsprechend um. Ein Konstrukt wie user:pass@host:port ist also lediglich eine Erleichterung für den User, das Programm übernimmt die "umständliche" Schritt-für-Schritt-Kommunikation mit dem Server.

    Aber ich bin doch etwas erstaunt, in o.g. Thread klang es so, als ob du quasi fertigen Code rumliegen hättest?



  • Jansen schrieb:

    Aber ich bin doch etwas erstaunt, in o.g. Thread klang es so, als ob du quasi fertigen Code rumliegen hättest?

    Naja, quasi... Ich hab neulich mal über Sockets ne Mail versandt. Lief super. Jetzt dachte ich, könnte ich das gleich für ihn lösen. Aber da ich mich nicht so gut mit Telnet auskenne...



  • Kennt jemand vielleicht einen Server, bei dem man sich mit Username und Password anmelden kann? Am besten mit Anonymous.

    P.S.: Warum lässt ein FTP-Server wie z.B. ftp.fu-berlin.de keine Verbindung zu über Port 80?



  • Komisch, mit meinem Programm kann ich mich mit ftp.fu-berlin.de verbinden - nicht aber über telnet. Naja, ich hab jetzt mal gegooglet und folgende Seite gefunden: http://www.urz.uni-heidelberg.de/Netzdienste/Sonst/tnftp.html . Kurz über dem Anchor "Filetransfer" stehen dort ein paar Rechner aufgelistet. Mit denen kann ich mich über telnet verbinden. Wunderbar! Erster Erfolg. Aber mein Programm läuft nicht. Verbinden kann ich mich noch, aber direkt nach dem Verbinden setze ich ein recv() - aber es kommt nix an! Was mache ich falsch?

    connect(...);
    printf("OK\n");
    recv(s, buf, 4096, 0);
    printf("Antwort auf Connect: %s", buf);
    printf("\n\n");
    

    Das "OK" schreibt er hin! Danach wartet er, aber es kommt nix.



  • Wisst ihr was? Schließt diesen Thread. Das ist mir zuviel Gewusel mit den Themen. Sorry! Ich mach nen neuen auf. 🙄


Anmelden zum Antworten