資源簡介
利用winpcap庫解析pcap文件,網絡嗅探的好方法!

代碼片段和文件信息
#include?“dumpFileParse.h“
static?parseCallBackFun?g_fun?=?NULL;
void?dispatcher_handler(u_char?*?const?struct?pcap_pkthdr*?header?const?u_char*?pkt_data)
{
g_fun(header?pkt_data);
}
DUMPFILEPARSE_API?bool?parseDumpFile(const?char*?filePath?const?char*?filterStr?parseCallBackFun?fun?void*?reserve/*?=?NULL*/)
{
pcap_t?*fp;
char?errbuf[PCAP_ERRBUF_SIZE];
bpf_u_int32?NetMask;
struct?bpf_program?fcode;
if?(filePath?==?NULL?||?filterStr?==?NULL?||?fun?==?NULL)
return?false;
g_fun?=?fun;
/*?Open?the?capture?file?*/
if?((fp?=?pcap_open_offline(filePath //?name?of?the?device
errbuf //?error?buffer
))?==?NULL)
{
fprintf(stderr“\nUnable?to?open?the?file?%s.\n“?filePath);
return?false;
}
NetMask=0xffffff;
//compile?the?filter
if(pcap_compile(fp?&fcode?filterStr?1?NetMask)?0)
{
fprintf(stderr“\nError?compiling?filter:?wrong?syntax.\n“);
pcap_close(fp);
return?false;
}
//set?the?filter
if(pcap_setfilter(fp?&fcode)<0)
{
fprintf(stderr“\nError?setting?the?filter\n“);
pcap_close(fp);
return?false;
}
/*?read?and?dispatch?packets?until?EOF?is?reached?*/
pcap_loop(fp?0?dispatcher_handler?NULL);
pcap_close(fp);
return?0;
return?true;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1278??2011-08-07?14:57??dumpFileParse\dumpFileParse\dumpFileParse.cpp
?????文件????????496??2011-08-07?14:56??dumpFileParse\dumpFileParse\dumpFileParse.h
?????文件???????3993??2011-08-07?13:57??dumpFileParse\dumpFileParse\dumpFileParse.vcproj
?????文件???????1419??2011-08-07?15:03??dumpFileParse\dumpFileParse\dumpFileParse.vcproj.PC-20101110.Administrator.user
?????文件????????634??2011-08-07?14:53??dumpFileParse\dumpFileParse\main.cpp
?????文件????????905??2011-08-07?11:42??dumpFileParse\dumpFileParse.sln
????..A..H.?????14848??2011-08-07?15:03??dumpFileParse\dumpFileParse.suo
?????文件???????3928??2009-10-07?01:20??dumpFileParse\include\bittypes.h
?????文件???????5756??2009-10-07?01:19??dumpFileParse\include\ip6_misc.h
?????文件??????16958??2008-11-18?12:26??dumpFileParse\include\Packet32.h
?????文件???????2016??2009-10-07?01:20??dumpFileParse\include\pcap\bluetooth.h
?????文件??????29111??2009-10-07?01:20??dumpFileParse\include\pcap\bpf.h
?????文件???????3421??2009-10-07?01:20??dumpFileParse\include\pcap\namedb.h
?????文件??????14058??2010-06-25?09:44??dumpFileParse\include\pcap\pcap.h
?????文件???????5567??2009-10-07?01:20??dumpFileParse\include\pcap\sll.h
?????文件???????2925??2009-10-07?01:20??dumpFileParse\include\pcap\usb.h
?????文件???????2155??2009-10-07?01:20??dumpFileParse\include\pcap\vlan.h
?????文件???????2393??2009-10-07?01:20??dumpFileParse\include\pcap-bpf.h
?????文件???????2125??2009-10-07?01:20??dumpFileParse\include\pcap-namedb.h
?????文件???????2873??2009-10-07?01:20??dumpFileParse\include\pcap-stdinc.h
?????文件???????2320??2009-10-07?01:20??dumpFileParse\include\pcap.h
?????文件??????14945??2007-09-27?11:32??dumpFileParse\include\remote-ext.h
?????文件???????4033??2006-08-09?17:16??dumpFileParse\include\Win32-Extensions.h
?????文件??????20814??2010-06-25?10:01??dumpFileParse\lib\libpacket.a
?????文件??????54276??2010-06-25?10:02??dumpFileParse\lib\libwpcap.a
?????文件???????8450??2010-06-25?09:47??dumpFileParse\lib\Packet.lib
?????文件??????19320??2010-06-25?09:47??dumpFileParse\lib\wpcap.lib
?????文件???????8290??2010-06-25?09:49??dumpFileParse\lib\x64\Packet.lib
?????文件??????18892??2010-06-25?09:49??dumpFileParse\lib\x64\wpcap.lib
?????目錄??????????0??2011-08-07?15:03??dumpFileParse\dumpFileParse\Debug
............此處省略10個文件信息
- 上一篇:非常好的Linux目錄實時監測源代碼
- 下一篇:鐵路軌道平面平順性指標計算程序代碼
評論
共有 條評論