www.pudn.com > snoop.lzh > SNOOP.C
#include#include #include #include "pack.h" FILE *fp; unsigned short handle; unsigned short ra; unsigned short rb; unsigned long la; DRIVERINFO di; unsigned char address[6]; unsigned char *buf; void main ( void ) { fp=fopen("DATA.OUT","wt"); if(fp==NULL) { printf("Error creating file DATA.OUT\n"); exit(1); } for(ra=0x60;ra<=0x80;ra++) if(!packetvector(ra)) break; if(ra>0x80) { printf("Packet Driver not found\n"); exit(1); } printf("Packet Driver found at vector 0x%02X\n",ra); usepacketvector(ra); ra=driverinfo(0,&di); if(ra) { printf("Driver Info error %04Xh\n",ra); exit(1); } printf("Version %04Xh\n",di.version); printf("class %u\n",di.class); printf("type %u\n",di.type); printf("number %u\n",di.number); printf("name [%s]\n",di.name); printf("functionality %u\n",di.fun); la=accesstype(di.class,di.type,di.number,&di.type,0); if(la>0xFFFF) { printf("accesstype() error\n"); exit(1); } handle=la&0xFFFF; printf("handle %04Xh\n",handle); la=getaddress(handle,address,6); if(la) { printf("getaddress error %lXh\n",la); } else { printf("my address is %X:%X:%X:%X:%X:%X\n",address[0],address[1],address[2],address[3],address[4],address[5]); } setrcvmode(handle,6); buf=getbufferaddress(); while(1) { if(kbhit()) if(getch()==0x1B) break; if(newbuffer()) { rb=getcountx(); fwrite(&rb,1,2,fp); fwrite(buf,1,rb,fp); printf("%u\n",rb); for(ra=0;ra