How to print HTTP header with Winpcap in C -


i've tried code sniffer (tcp only) , want print out http headers. headers saved txt log file. output not expected. output_screenshoot

here c code:

void print_http_request(u_char *buffer, int size) { //buffer: beginning of captured packets.     int iphdrlen = 0; //ip header length     int tcphdrlen = 0; //tcp header length     iphdr = (ipv4_hdr *)(buffer + sizeof(ether_hdr)); //allocate ip header     iphdrlen = iphdr->ip_header_len * 4; //4(bytes)* ip_header_len(words)     tcpheader = (tcp_hdr*)(buffer + iphdrlen + sizeof(ether_hdr));//allocate tcp header     tcphdrlen = tcpheader->data_offset * 4;      data = (buffer + sizeof(ether_hdr) + iphdrlen + tcphdrlen); //allocate tcp data = beginning of http header.     data_size = iphdr->ip_total_length * 4 - iphdrlen - tcphdrlen; //tcp data size (such http header, http body)      //fprintf(logfile, "http header\n");     fprintf(logfile, "\n===========================\n");     int _i = 0;     while (_i < data_size) {         fprintf(logfile, "%c", data[_i++]);     }     fprintf(logfile, "\n===========================\n"); } 

i'm grateful help.


Comments