fralaltro buffer non è una stringa?
Dopo lo script prosegue così
ip->ihl = 5; //riempio la struttura IP
ip->version = 4;
ip->tos = 16;
ip->tot_len = sizeof(buffer);
ip->id = htons(52407);
ip->frag_off = 0;
ip->ttl = 64;
ip->protocol = 6;
ip->check = 0; //per ora setto a 0 poi calcolerò quando conoscerò la dimensione del pacchetto TCP
ip->saddr = inet_addr("127.0.0.1");
ip->daddr = inet_addr("127.0.0.1");
tcp->source = htons(2485); //riempio la struttura TCP
tcp->dest = htons(21);
tcp->seq = htonl(1);
tcp->ack_seq = 0;
tcp->doff = 5;
tcp->syn = 1;
tcp->ack = 0;
tcp->window = htons(32767);
tcp->check = 0; //questo valore verrà inserito dal sistema operativo
tcp->urg_ptr = 0;
Ne dedurrei che buffer dovrebbe essere una stringa il cui spostamento di byte rispecchia la struttura di iphdr e tcphdr così decido di visualizzare buffer...
printf("Buffer %s",buffer);
e cosa ottengo? mi visualizza il carattere "E"... mah?!?!?!? io non so cosa sto facendo.... vi sarei davvero molto grato se qualcuno mi aiutasse a capire!!
GRAZIE!