WinPcap:获取网卡列表
参见教程:http://www.winpcap.org/docs/default.htm
使用VS开发
首先配置环境,需要下载WinPcap的开发包,以及WinPcap可执行文件(安装)。下载后,新建VS空的控制台应用程序。下面设置WinPcap的库包含:
- C/C++->常规->附加包含目录 :添加$(ProjectDir)\WpdPack\Include
- 链接器->常规->附加库目录:添加$(ProjectDir)\WpdPack\Lib\x64
- 链接器->输入->附加依赖性 :添加Packet.lib;wpcap.lib
新建一个main.cpp:
#include <iostream>
#define HAVE_REMOTE
#include <pcap.h>
using namespace std;
void getNetDevice(){
pcap_if_t *allDevs;
char errBuff[PCAP_ERRBUF_SIZE];
if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &allDevs, errBuff) == -1){
std::cerr << "Error in pcap_findalldevs_ex:" << errBuff << std::endl;
exit(1);
}
int i = 0;
for (pcap_if_t *d = allDevs; d != NULL; d = d->next){
cout << "Device:" << ++i << "[" << d->name << "]" << std::endl;
if (d->description)
cout << "\t" << d->description << std::endl;
}
pcap_freealldevs(allDevs);
}
int main(int argc, char** argv){
std::cout << "Running..." << std::endl;
getNetDevice();
return 1;
}
然后编译时注意,因为选择链接的x64的库,编译时需要新建x64的平台。