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);
}