WIN7+VS2010无法使用winpcap编程获取网络接口信息,为啥????

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WIN7+VS2010无法使用winpcap编程获取网络接口信息,为啥????相关的知识,希望对你有一定的参考价值。

本人菜鸟一个,刚开始学校winpcap编程,我发现在调用pcap_findalldevs_ex(PCAP_SRC_FILE_STRING,NULL,&alldevs,errbuf)时,alldevs结构中的每一个数据项都没有获取到值,使用pcap_findalldevs(&alldevs,errbuf)也是一样的结果,出现的错误代码都是:No interfaces found! Make sure libpcap/WinPcap is properly installed on the local machine.问题是我已经安装了WinPcap_4_1_2 .exe和WpdPack_4_1_2.zip,头文件pcap.h和链接库wpcap.lib我都已经包含到程序中了,网上查找时发现也有人遇到和我一样的情况,但是没有真正的解决办法,我实在是拒不到原因了,请问这是什么原因?
// #include<iostream.h>
// #include<pcap.h>
// #ifdef WIN32
// #include
// #pragma comment(lib,"ws2_32.lib")
// #pragma comment(lib,"wpcap.lib")
// int main()
//
// return 0;
//
#include "pcap.h"
void main()

pcap_if_t *alldevs;
/*struct pcap_if_t
  pcap_if_t *next;
  char *name;
  char *description;
  pcap_addr *addresses;
  U_int falgs;
  
  */
pcap_if_t *d;
int i=0;
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;

/* We don't need any more the device list. Free it */
pcap_freealldevs(alldevs);
  

参考技术A 把安装的winpcap.exe 卸载 然后用管理员的模式再重新安装 就行的 参考技术B 使用管理员身份运行就可以了 参考技术C 我的也是这个问题,我在我们实验室里完全可以运行,在自己的电脑上就不行,请问楼主解决问题了没? 参考技术D 找到debug文件,以管理员身份运行该exe文件。 第5个回答  2012-10-09 源码追问

源代码我已经贴出来了,请指教

以上是关于WIN7+VS2010无法使用winpcap编程获取网络接口信息,为啥????的主要内容,如果未能解决你的问题,请参考以下文章

win7系统装了vc6.0和vs2010,为啥无法安装番茄助手在vs2010中

visual studio 无法安装

Winpcap 和 DeviceIoControl - Win7 上的错误代码 1

vs2010在win10中打包winform程序,无法在win7上运行,win10正常运行。

winpcap在VS2012 Qt5 X64下的配置

winpcap 发送数据包