Program to write a packet logger using the winpcap driver

 

 

z.bat

set lib=%LIB%;C:\wpdpack\lib

set include=%INCLUDE%;C:\wpdpack\INCLUDE

del a.exe

cl /W0  /DWIN32 a.c wpcap.lib

a

 

 

a.c

#include <pcap.h>

#include <time.h>

void abc(u_char *u, const struct pcap_pkthdr *hd, unsigned char *p)

{

__int64 t,t1;

int i;

printf("%02x:%02x:%02x:%02x:%02x:%02x--->",p[6],p[7],p[8],p[9],p[10],p[11]);

printf("%02x:%02x:%02x:%02x:%02x:%02x ",p[0],p[1],p[2],p[3],p[4],p[5]);

printf("P:%02x%02x\n",p[12],p[13]);

for ( i = 0 ; i <= 19 ; i++)

printf("%02x ",p[14+i]);

printf("\n\n");

t = hd->ts.tv_sec;

printf("caplen=%d len=%d\n",hd->caplen,hd->len);

time(&t1);

printf("%I64d %I64d %s",t,t1,ctime(&t));

}

main()

{

char err[1024],*dev;

pcap_t *h;

pcap_if_t *d;

//dev = pcap_lookupdev(err);

//printf("dev=%S\n",dev);

//for(d=alldevs; d; d=d->next)

pcap_findalldevs(&d, err);

printf("%s\n",d->name);

h = pcap_open(d->name,1000,1,0,err);

printf("h=%x\n",h);

pcap_loop(h , -1 , abc , 0);

}