Source für smtp-Protokoll



  • Wieß irgendjemand wie ich eine telnet-Verbindung herstellen kann?
    Wenn ich unter DOS den Befehl "telnet" eingebe kommt zwar das Fenster in dem man Befehle wie "halo ..." eingeben soll, doch ich kann in das Edit-Feld nichts reinschreiben.

    [ 19.07.2001: Beitrag editiert von: Marc++us ]



  • telnet [serverIP] [port]

    mfg
    kwoTx



  • Allerdings solltest du daran denken, das das auch nur funktioniert wenn am andern Ende auch ein Telnet-Server läuft.
    PS: lokales echo einschalten



  • Sorry, dass ich mich solange nicht mehr gemeldet habe! (Urlaub!!)
    Und jetzt meine Frage: Wie finde ich einen Telnet-Server und dessen IP?
    Als Port muss ich wohl den des SMTP (25) nehmen, oder?



  • Standart Telnet Port ist 23, aber wenn du Mails verscicken willst, dass nimm halt den SMTP Port

    ------------------
    TheToast
    Das Leben endet meistens tödlich...
    Moderator im Konsole/DOS Forum



  • willst du etwa ne Liste mit Telnet servern?
    wenn ja wird das sicherlich schwierig
    weil man ja mit telnet root zugriff auf rechner bekommen kann und ich glaube nicht das eine Firma öffentlich
    auf einer Liste bekannt geben wird ob sie den telnet port freigegeben haben.
    Aber wenn du unbedingt einen suchst
    schau mal auf den Websites der Uni´s
    vorbei die für die Studenten da sind.
    Aber das wird dir nicht viel bringen weil
    meiner meinung nach jeder Telnetzugriff mit
    passwortschutz gesichert ist.
    Um die IP rauszukriegen kannst du ihn doch z.b. anpingen.

    Ich verstehe aber nicht so recht wozu du das alles überhaupt wissen willst?

    ---------------------------------------------
    HAKUMAMA-TATA

    [Diese Nachricht wurde von klops am 10-06-2001 editiert.]



  • Da es sich hier um ein Programiererforum handelt kann man sich ein Programmschreiben, welches den Telnetport auf Connect testet.
    Nennt man dann Portscanner.

    Das ganze über jede IP im Internet laufen lassen (Wenn man viel Zeit hat) und man hat zumindest die Systeme welche den Telnetport offen haben.

    ------------------
    Thomas

    Moderator für Linux und MFC



  • meineswissens ist portscannen aber strafbar.

    ------------------
    HAKUMAMA-TATA





  • @klops: Du hast gefragt was ich damit machen will. Ganz einfach: ich will damit e-Mails ohne Absender verschicken.
    Zu den Servern: Ich habe gelesen, dass es in "exotischen" Ländern eine ganze Reihe an solchen Servern geben soll, die das Versenden von e-Mails ohne Absender gestatten.
    @Cpp_junky: Soviel ich weiß ist Port-scannen nicht strafbar. Nur das Einsehen von fremden Daten. Hast du dazu nähere Informationen (hörte sich so an)? Wenn ja, kannst du mir die mailen?

    [Diese Nachricht wurde von arnoldapfelstrudel am 12-06-2001 editiert.]



  • Du willst von einem Programm auf einen Mailserver zugreifen.

    Hier ein Code für das SMTP-Protokoll.
    Ist aber ANSI-C

    #include <errno.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>    /* sockaddr_in structure */
    #include <netdb.h>          /* /etc/hosts table entries */
    
    #define TCP_PORT 25
    #define MAX_ZEICHEN 4096
    
    int smtpsend (char *hostadress,char *from,char *to,char *betreff,int zeilen,char *daten)
    {
    
    struct sockaddr_in myname;
    struct sockaddr_in *nptr;
    
    int moh;
    struct hostent *hp, *gethostbyaddr();
    char    buf[MAX_ZEICHEN];
    
        if (( moh = socket(AF_INET, SOCK_STREAM, 0)) < 0 ) {
          printf("network client socket failure \n");
          return -1;
       }
    
        myname.sin_port = htons(TCP_PORT); /* Server port # */
        myname.sin_family = AF_INET;    /* Internet domain */
        hp = gethostbyname (hostadress);
        bcopy ( hp -> h_addr_list[0], &myname.sin_addr.s_addr,hp -> h_length );
        if ( ( connect ( moh, (struct sockaddr *) &myname, sizeof(myname) ) ) < 0 ) 
        {
        printf("network client connect failure \n");
        close (moh);
        return -1;
        } 
    
    sprintf(buf,"HELO irgendwas.at\r\n");
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    read(moh,buf,sizeof(buf));
    
    sprintf(buf,"MAIL FROM: <%s>\r\n",from);
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    read(moh,buf,sizeof(buf));
    if (strncmp(buf,"250",3) != 0) return -1;
    
    sprintf(buf,"RCPT TO: <%s>\r\n",to);
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    read(moh,buf,sizeof(buf));
    if (strncmp(buf,"250",3) != 0) return -1;
    
    sprintf(buf,"DATA \r\n");
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    read(moh,buf,sizeof(buf));
    if (strncmp(buf,"354",3) != 0) return -1;
    
    sprintf(buf,"SUBJECT:%s\r\n",betreff);
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    
    sprintf(buf,"%s\r\n",daten);
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    
    sprintf(buf,".\r\n");
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    
    sprintf(buf,"QUIT\r\n");
    write (moh,buf, strlen(buf));
    bzero (buf, sizeof(buf));
    read(moh,buf,sizeof(buf));
    if (strncmp(buf,"250",3) != 0) return -1;
    
        close (moh);
        return 1;
    
    }
    

    [ 19.07.2001: Beitrag editiert von: Marc++us ]





  • Hi,

    nimm doch einfach den Server von GMX:
    mail.gmx.net

    hoffe ich konnte helfen

    mfg
    V_R

    ------------------
    Am 8. Tag schuf Gott Windows und vorbei war es mit dem Paradies!



  • Ich kann zu mail.gmx.net eine Verbindung über den Port 25 herstellen (23 geht nicht; muss auch nicht unbedingt sein), doch ich kann in das Telnet-Fenster nichts eingeben.
    Hast du das auch schon probiert? Geht das bei dir?
    P.S.: Danke für deinen Hinweis!



  • Dann machst du irgendwas falsch. Sicher dass du verbunden bist? Es müßte sowas in der Art kommen:
    Trying 194.221.183.20...
    Connected to mail.gmx.de.
    Escape character is '^]'.
    220 {mail07} GMX Mailservices ESMTP

    dann kannst du anfangen ...



  • Hi,

    hast du auch das echo an? Wenn nicht dann kannst du nicht sehen, was du schreibst.
    Das muesste bei telnet irgendwo unter Einstellungen sein. Das heißt glaub ich lokales Echo [] und dann musst du das anklicken. (ich kann es dir nicht genau sagen, da ich meistens unter Linux bin).

    mfg
    V_R

    ------------------
    Am 8. Tag schuf Gott Windows und vorbei war es mit dem Paradies!



  • Bei mir kommt genau das, was bei dir auch kommt, bloß dass bei mir nicht mail07 sondern mail02 kommt. Wenn ich anschließend irgendeinen Buchstaben drücke erscheint dieser nicht im fenster! Bei anderen Servern (www.c-plusplus.net) hab ich da keine Probleme...bis auf das Passwort naja...
    Mir fällt gerade ein, dass ich immer "mail.gmx.net" eingegeben habe und nicht die IP. Ich werd das gleich mal ausprobieren.



  • Ich hab das jetzt mal probiert bei mir kommt, wenn ich die IP eingebe auch "mail07" aber eingeben kann ich immer noch nichts. Muss ich irgend etwas einstellen oder eine besondere Taste drücken???
    Übrigens kommt bei mir nur das ab 220 {mail07...
    das davor nicht.



  • Hi,

    also meine Ausgabe unter Telnet:

    db_vr:~# telnet mail.gmx.net 25
    Trying 194.221.183.20...
    Connected to mail.gmx.net
    Escape character is '^]'.
    220 {mp004-rz3} GMX Mailservice ESMTP

    Das muesste da stehen, wenn du dich eingeloggt hast. (oder sowas in der Art. das {mp004-rt3} kann anders sein.
    Dann dürfte eigendlich alles klappen.
    Wenn das nicht funzt, dann benutz diese Adresse hier: mail.ccc.de
    Das ist der Mail-Server von Chaos Computer Club.
    Einfach: telnet mail.ccc.de 25 eingeben und dich dann mit helo bekannt machen. dann mit
    mail from: E-Mailadresse
    die Adresse vom Absender festlegen. Mit
    rcpt to: E-Mailadresse
    die Adresse vom Empfänger festlegen. Mit
    DATA
    beginnst du eine Mail und enden tut sie mit einem '.' in einer neuen Zeile.

    mfg
    V_R

    ------------------
    Am 8. Tag schuf Gott Windows und vorbei war es mit dem Paradies!




Anmelden zum Antworten