PDA

View Full Version : [C++]Cercasi telnet.h


MrModd
18-02-2008, 09:33
Ciao, mi servirebbe l'header di telnet con una relativa guida. Non è che qualcuno ce l'ha?

recoil
18-02-2008, 09:36
hai linux? lo trovi in questo percorso
/usr/include/arpa/telnet.h

MrModd
18-02-2008, 09:43
Oki, posso portarmelo su windows o ha delle dipendenze? A scuola mi hanno insegnato ad usare Dev C++ :muro:

variabilepippo
18-02-2008, 11:16
Oki, posso portarmelo su windows o ha delle dipendenze? A scuola mi hanno insegnato ad usare Dev C++


Non è incluso in Mingw, il compilatore ufficiale di Dev-C++. Dunque o trovi un'alternativa (cosa devi sviluppare?) compatibile con MinGW oppure cambi compilatore installando il superpaccozzo di CygWin (http://www.cygwin.com/).

MrModd
18-02-2008, 12:21
Allora proverò questo Cygwin.


Una guida su telnet.h?

variabilepippo
18-02-2008, 12:36
Una guida su telnet.h?


telnet.h è un header che non contiene prototipi, ma strutture e simboli legati al protocollo Telnet. In altre parole ci fai poco o nulla.

Cosa devi sviluppare? Perché devi includere l'header telnet.h nel tuo codice?

MrModd
18-02-2008, 17:01
Avevo intenzione di creare un bot per inviare email utilizzando i comandi tipo "open" "HELO" "RCPT" ecc.
Inizialmente avevo provato in bash su linux, ma non c'era modo di eseguire stringhe da script all'interno di telnet, così ho pensato a usare il sorgente di telnet...

variabilepippo
18-02-2008, 17:34
telnet.h non è il "sorgente di telnet" ed in ogni modo ti conviene implementare (o cercare) un client SMTP. In Rete trovi sia i documenti RFC che definiscono il protocollo, sia client e librerie open-source. Non aggiungo altro perché "bot per inviare email" mi fa pensare a SPAM, malware, etc.

MrModd
18-02-2008, 19:36
Non aggiungo altro perché "bot per inviare email" mi fa pensare a SPAM, malware, etc.

:muro: :muro: :muro:

Un client di posta non è un bot che semplifica i passaggi?

variabilepippo
18-02-2008, 19:51
Un bot è "un qualcosa che funziona in automatico", spesso senza l'intervento umano quindi potrebbe essere usato per generare posta non desiderata... Tu per cosa vorresti usarlo?

danyw3b
18-02-2008, 19:54
:muro: :muro: :muro:

Un client di posta non è un bot che semplifica i passaggi?
Direi che come paragone non centra tanto! :)

MrModd
18-02-2008, 22:10
Sono un programmatore novellino che ha da poco creato il suo vero gioco funzionante. Come posso cimentarmi in hacking e per di più in spam? Io odio lo spam e avete presente il detto "Non fare agli altri ciò che non vorreste venga fatto a voi"?

Mi voglio creare un programmino che dica:
A chi vuoi inviare l'email?
Scrivi l'oggetto.
Scrivi il messaggio.
L'email è stata salvata, un log è stato creato sul file log.txt

Ogni programma creato è un passo in più per me. Sono partito da un "Hello Word" in Pascal e sono arrivato a creare Snake. Telnet rappresenta il modo più semplice per interagire direttamente con un server senza che qualcun altro lo faccia al posto mio.


Questi pregiudizi mi mandano in bestia. Se leggo hacking su wikipedia pensate subito che voglio bucare il governo.

variabilepippo
18-02-2008, 22:21
Mi voglio creare un programmino che dica:
A chi vuoi inviare l'email?
Scrivi l'oggetto.
Scrivi il messaggio.
L'email è stata salvata, un log è stato creato sul file log.txt

Questo non è un "bot" ma un client SMTP minimale (http://www.faqs.org/rfcs/rfc821.html). In Rete trovi le specifiche del protocollo, librerie ad alto livello e documentazione sulla programmazione basata sui socket. Al posto tuo eviterei di usare telnet per mandare mail mediante SMTP, in fondo stai scrivendo un programma in C/C++, non uno script per la shell.

MrModd
18-02-2008, 22:23
E che cambia?

variabilepippo
18-02-2008, 22:24
Quali sono le differenze tra uno script per bash (o equivalente) ed un programma sviluppato in C/C++? Quali sono i vantaggi/svantaggi dell'uno e dell'altro?

MrModd
18-02-2008, 22:32
Io ho SOLO bisogno di un header che mi interfacci con la rete. Ciò che faccio in C++ si limita ad allocare 4bit in ram. Il resto non esce da quella stupida finestrella di dos. Puoi darmi Telnet, SSH, o quello che vuoi basta che mi spieghi le stringhe da mettere nel programma che IO devo creare per dialogare con il server SMTP.

I comandi basilari del protocollo già li conosco, ma mi serve qualcosa che mi dice "Bene, ti presento smtp.qualcosa.it, digli quello che vuoi."


EDIT:
Esempio: Telnet ti dice:
T: "Dimmi il server a cui ti vuoi connettere"
R: "Eccolo"
T: "Sei connesso con il sever, ora parla con lui"

Cosa mi permette di connettermi in un server in C++? Come faccio a dire, sempre in C++, dì al server MAIL TO.

E per favore smettiamola di parlare di spam. Voglio un aiuto serio.

variabilepippo
18-02-2008, 22:34
C o C++? Preferisci fare tutto a mano (sockets) oppure vuoi appoggiarti a qualche libreria ad alto livello?

variabilepippo
18-02-2008, 22:45
Cose del genere usualmente si sviluppano con i sockets (http://beej.us/guide/bgnet/) (vedi anche WinSock Development Information (http://www.sockets.com/)) o con librerie ad alto livello.

Cliccando qui (http://snippets.dzone.com/posts/show/1896) trovi un client SMTP, non è il massimo della qualità ma rende l'idea.

variabilepippo
18-02-2008, 22:46
Cose del genere usualmente si sviluppano con i sockets (http://beej.us/guide/bgnet/) (vedi anche WinSock Development Information (http://www.sockets.com/)) o con librerie ad alto livello (http://www.linuxhacker.at/socketxx).


#include <smtp.h>
#include <stdio.h>
#include <pwd.h>
#include <unistd.h>

int main ()
{
smtp client (&cout);

// establish connection
client->connect ("fulton.seas.virginia.edu");
client->helo ();

// get help
client->help ();

// setup the FROM address
client->mail ("[email protected]");

// setup the TO address
client->rcpt ("[email protected]");

// send the message
client->data ();
client << "Hi Sekar, I appoint you as the director of NASA\r\n" << flush;
client << " -Bill, Hill, and Chel\r\n" << flush;
cout << client; // get the server response.

// finally quit
client->quit ();

return 0;
}

MrModd
18-02-2008, 22:49
Uso il C++.
Voglio qualcosa del tipo:

#include <iostream>
#include <quellochemiserveperconnettermiasmtp.h>

using namespace std;

int main()
{
string a;
cout << "scrivi il messaggio";
cin << a;
MAIL TO:[email protected];
ecc...


Niente di più complesso.


PS. Cos'è un socket?

variabilepippo
18-02-2008, 22:53
Voglio qualcosa del tipo:
#include <iostream>
#include <quellochemiserveperconnettermiasmtp.h>

using namespace std;

int main()
{
string a;
cout << "scrivi il messaggio";
cin << a;
MAIL TO:[email protected];
ecc...


Vedi sopra... :D

Il codice si basa sulla libreria socket++ (http://www.linuxhacker.at/socketxx), non l'ho provata su Windows ma non mancano certo le alternative. :)

MrModd
18-02-2008, 23:06
A cosa servono pwd.h e unistd.h?

Una guida sui comandi di smtp.h?


A me questo basta sapere, tutta la roba sui socket, connessioni strane o roba simile se ne parla quando vado all'università.