• 大小: 14.44MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-02
  • 语言: 其他
  • 标签: 嗅探器  winpcap  

资源简介

基于winpcap的网络嗅探器,代码和文档都有,开发工具vs2008。另注:由于winpcap不是编译系统自带的函数库,必须在编译器中添加库文件,方法请自行百度

资源截图

代码片段和文件信息

#ifdef _MSC_VER
/*
 * we do not want the warnings about the old deprecated and unsecure CRT functions
 * since these examples can be compiled under *nix as well
 */
#define _CRT_SECURE_NO_WARNINGS
#endif

#include “pcap.h“

/* prototype of the packet handler */
void packet_handler(u_char *param const struct pcap_pkthdr *header const u_char *pkt_data);

int main()
{
pcap_if_t *alldevs;
pcap_if_t *d;
int inum;
int i=0;
pcap_t *adhandle;
char errbuf[PCAP_ERRBUF_SIZE];

/* Retrieve the device list */
if(pcap_findalldevs(&alldevs errbuf) == -1)
{
fprintf(stderr“Error in pcap_findalldevs: %s\n“ errbuf);
exit(1);
}

/* Print the list */
for(d=alldevs; d; d=d->next)
{
printf(“%d. %s“ ++i d->name);
if (d->description)
printf(“ (%s)\n“ d->description);
else
printf(“ (No description available)\n“);
}

if(i==0)
{
printf(“\nNo interfaces found! Make sure WinPcap is installed.\n“);
return -1;
}

printf(“Enter the interface number (1-%d):“i);
scanf(“%d“ &inum);

if(inum < 1 || inum > i)
{
printf(“\nInterface number out of range.\n“);
/* Free the device list */
pcap_freealldevs(alldevs);
return -1;
}

/* Jump to the selected adapter */
for(d=alldevs i=0; i< inum-1 ;d=d->next i++);

/* Open the device */
/* Open the adapter */
if ((adhandle= pcap_open_live(d->name // name of the device
 65536 // portion of the packet to capture. 
// 65536 grants that the whole packet will be captured on all the MACs.
 1 // promiscuous mode (nonzero means promiscuous)
 1000 // read timeout
 errbuf // error buffer
 )) == NULL)
{
fprintf(stderr“\nUnable to open the adapter. %s is not supported by WinPcap\n“ d->name);
/* Free the device list */
pcap_freealldevs(alldevs);
return -1;
}

printf(“\nlistening on %s...\n“ d->description);

/* At this point we don‘t need any more the device list. Free it */
pcap_freealldevs(alldevs);

/* start the capture */
pcap_loop(adhandle 0 packet_handler NULL);

pcap_close(adhandle);
return 0;
}


/* Callback function invoked by libpcap for every incoming packet */
void packet_handler(u_char *param const struct pcap_pkthdr *header const u_char *pkt_data)
{
struct tm *ltime;
char timestr[16];
time_t local_tv_sec;

/*
 * unused parameters
 */
(VOID)(param);
(VOID)(pkt_data);

/* convert the timestamp to readable format */
local_tv_sec = header->ts.tv_sec;
ltime=localtime(&local_tv_sec);
strftime( timestr sizeof timestr “%H:%M:%S“ ltime);

printf(“%s%.6d len:%d\n“ timestr header->ts.tv_usec header->len);

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8696  2010-06-25 10:10  zsz\WpdPack\docs\html\annotated.html

     文件       6851  2010-06-25 10:10  zsz\WpdPack\docs\html\classes.html

     文件       3717  2010-06-25 10:10  zsz\WpdPack\docs\html\daemon_8h.html

     文件       7432  2010-06-25 10:10  zsz\WpdPack\docs\html\daemon_8h_source.html

     文件       2717  2010-06-25 10:10  zsz\WpdPack\docs\html\deprecated.html

     文件       1281  2010-06-25 10:10  zsz\WpdPack\docs\html\doxygen.png

     文件       1458  2010-06-25 10:10  zsz\WpdPack\docs\html\doxygen__groups_8txt.html

     文件       6353  2002-04-10 04:45  zsz\WpdPack\docs\html\dump.gif

     文件       2777  2002-04-10 04:45  zsz\WpdPack\docs\html\encoding.gif

     文件       3209  2010-06-25 10:10  zsz\WpdPack\docs\html\fileconf_8h.html

     文件       5784  2010-06-25 10:10  zsz\WpdPack\docs\html\fileconf_8h_source.html

     文件       3754  2010-06-25 10:10  zsz\WpdPack\docs\html\files.html

     文件        174  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2blank.png

     文件        255  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2doc.png

     文件        259  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2folderclosed.png

     文件        261  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2folderopen.png

     文件        233  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2lastnode.png

     文件        358  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2link.png

     文件        160  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2mlastnode.png

     文件        194  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2mnode.png

     文件        235  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2node.png

     文件        165  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2plastnode.png

     文件        200  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2pnode.png

     文件        229  2010-06-25 10:10  zsz\WpdPack\docs\html\ftv2vertline.png

     文件      41059  2010-06-25 10:10  zsz\WpdPack\docs\html\funcs_2pcap_8h.html

     文件      36291  2010-06-25 10:10  zsz\WpdPack\docs\html\funcs_2pcap_8h_source.html

     文件      26027  2010-06-25 10:10  zsz\WpdPack\docs\html\functions.html

     文件      25948  2010-06-25 10:10  zsz\WpdPack\docs\html\functions_vars.html

     文件       5230  2010-06-25 10:10  zsz\WpdPack\docs\html\globals.html

     文件       8845  2010-06-25 10:10  zsz\WpdPack\docs\html\globals_0x62.html

............此处省略413个文件信息

评论

共有 条评论