[C] Problema con i Socket [RISOLTO]
Inviato: mar 8 mar 2011, 14:25
Salve ragazzi, dovrei presentare un piccolo progettino al mio prof. universitario di programmazione su reti,
avevo pensato di creare un semplice portscanner. L'esempio presente crea un solo canale di comunicazione
e prova se la porta è aperta o meno, visto che il prof. è vizioso mi aveva chiesto di creare piu' connessioni
e testare piu' porte contemporaneamente. Ad esempio imposto un numero di socket pari a 50 e faccio un
check di 50 porte per volta. Avete qualche idea?
In rete non ho trovato nulla a riguardo spero mi possiate aiutare.
Grazie a tutti anticipatamente
avevo pensato di creare un semplice portscanner. L'esempio presente crea un solo canale di comunicazione
e prova se la porta è aperta o meno, visto che il prof. è vizioso mi aveva chiesto di creare piu' connessioni
e testare piu' porte contemporaneamente. Ad esempio imposto un numero di socket pari a 50 e faccio un
check di 50 porte per volta. Avete qualche idea?
Codice: Seleziona tutto
for(inizio_porta;inizio_porta<=fine_porta;inizio_porta++){
/* Creazione del socket */
if ((errore = socket(AF_INET, SOCK_STREAM, 0)) == -1)
exit(fprintf(stderr,"[ > %sErrore nella creazione del socket.%s < ]\n",RED,RESET));
/* Imposto il tipo di indirizzo */
soc.sin_family = AF_INET;
soc.sin_port = htons(inizio_porta);
soc.sin_addr = *((struct in_addr *)ip->h_addr);
/* Connessione del socket */
if (connect(errore, (struct sockaddr *)&soc, sizeof(struct sockaddr)) == -1)
/* Chiudo il socket */
close(errore);
else{
/* Richiamo la funzione checkport */
checkport(inizio_porta);
/* Chiudo il socket */
close(errore);
}
}
Grazie a tutti anticipatamente