Una stringa non e' altro che una sequenza di byte (char).Originariamente inviato da Andre00
fralaltro buffer non è una stringa?
Non ci vedo nulla di strano ad utilizzare una stringa come si vuole ...
Codice, non script ...Dopo lo script
buffer e' un area di memoria a cui si accede tramite i puntatori che sono di un tipo particolare (ovvero di tipo iphdr e tcphdr) e quindi, *tramite i puntatori*, il compilatore accede ai singoli elementi delle strutture "mappandole" nel buffer ...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...
Nulla di strano ...
Sì ... ma scusa se te lo dico, da queste tue affermazioni, non mi sembra che le tue conoscenze generali del C (a parte i puntatori) siano ancora adeguate, per questo tipo di programmi in particolare, ma anche per programmi piu' semplici.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!!
Se visualizzi come stringa un buffer che contiene degli elementi di una struttura, è ovvio che otterrai l'equivalente ASCII dei dati binari contenuti in questo ...
Non ci vedo nulla di strano in questa operazione che e' inutile proprio perche' tenti di visualizzare dei dati dal punto di vista sbagliato ... Cosa ti aspettavi di vedere?