Código
char* getPayloadTcp(char* buffer){ int i=0; int f=0; struct iphdr *iph = (struct iphdr *)(buffer + sizeof(struct ethhdr)); int iphdrlen = iph->ihl*4; //tamaño de la cabecera ip int ethhdrlen= sizeof(struct ethhdr); //tamaño de la cabecera ethernet int tcphdrlen= sizeof(struct tcphdr); //tamaño de la cabecera tcp int totalhdrlen=(tcphdrlen + iphdrlen + ethhdrlen); //suma de todas las cabeceras char * datos=""; for(f=totalhdrlen;f<longitud;f++){ datos[i]=buffer[f]; i++; } datos[i]='\0'; return datos; }