<div dir="ltr"><br clear="all"><div><div dir="ltr">Greetings OLugers,<br><span style="background-color:rgb(255,255,255)"><span></span></span><br></div><div>Need to catch in my C program, SMTP, POP, IMAP, HTTP, and print their payload. So far I don't even get the printf(...) statements.<br>
<br>Am I missing something ? ideas ? --- Thanks.<br><br><br></div><div>//*********** my c-callback function ***********<br></div><div dir="ltr"><br>// CallBack<br>void raw_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p)<br>
{<br> u_int length = h->len;<br> u_int caplen = h->caplen;<br><br> // net/ethernet.h<br> struct ether_header *pkt = (struct ether_header *)p;<br><br> p += sizeof(struct ether_header);<br>
pip = (struct ip*)p;<br><br>//isprint();<br><br> if(NULL != pip) {<br> //SMTP-POP-IMAP-HTTP<br> if (pip->ip_p == 80) {<br> printf(" *** HTTP Protocol ***\n");<br>
num_http_pkt++;<br> }<br><br> if (pip->ip_p == 25) {<br> printf(" *** SMTP Protocol ***\n");<br> num_smtp_pkt++;<br>
}<br><br> if (/*pip->ip_p == 995 ||*/ pip->ip_p == 110) {<br> printf(" ***POP3 or POP over SSL Protocol ***\n");<br> num_pop_pkt++;<br>
}<br> }else{<br> printf(" *** pip == NULL ****\n");<br> }<br>....<br>}<br><br><br><br><br>Best Wishes,<br>Joshua Robinson<br></div></div>
</div>