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
Post a Comment