winpcap学习(二)获取设备列表
2014-12-05 13:36
302 查看
原文:http://www.ferrisxu.com/WinPcap/html/index.html
获取设备列表
libpcap和WinPcap都提供了pcap_findalldevs_ex()函数来实现这个功能:这个函数返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域name和descripting表示一个适配器名称和一个可以让人们理解 的描述。
首先,pcap_findalldevs_ex(),和其他libpcap函数一样,有一个errbuf参数。一旦发生错误,这个参数将会被libpcap写入字符串类型的错误信息。
第二要记住,不是所有操作系统都支持libpcap提供的网络程序接口,因此,如果我们想写一个可移值的应用程序,我们就必须考虑在什么情况下,description是null。
最后要记住,当我们完成了设备列表的使用,我们要调用pcap_freealldevs()函数将其占用的内存资源释放。
需要注意的是要在工程中设置好include路径及包含wpcap.lib库,并设置宏定义WPCAP和HAVE_REMOTE。
获取设备列表
libpcap和WinPcap都提供了pcap_findalldevs_ex()函数来实现这个功能:这个函数返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域name和descripting表示一个适配器名称和一个可以让人们理解 的描述。
#include <iostream> #include <pcap.h> int main() { pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf)==-1) { std::cerr<<"Error in pcap_findalldevs_ex:"<<errbuf<<std::endl; exit(1); } for(d=alldevs;d!=NULL;d=d->next) { std::cout<<++i<<"."<<d->name; if(d->description) std::cout<<"("<<d->description<<")"<<std::endl; else std::cout<<"(No descripton available)"<<std::endl; } if(i==0) std::cout<<std::endl<<"No interfaces found! Make sure WinPcap is installed"<<std::endl; pcap_freealldevs(alldevs); return 0; }
首先,pcap_findalldevs_ex(),和其他libpcap函数一样,有一个errbuf参数。一旦发生错误,这个参数将会被libpcap写入字符串类型的错误信息。
第二要记住,不是所有操作系统都支持libpcap提供的网络程序接口,因此,如果我们想写一个可移值的应用程序,我们就必须考虑在什么情况下,description是null。
最后要记住,当我们完成了设备列表的使用,我们要调用pcap_freealldevs()函数将其占用的内存资源释放。
需要注意的是要在工程中设置好include路径及包含wpcap.lib库,并设置宏定义WPCAP和HAVE_REMOTE。
相关文章推荐
- Winpcap网络编程五之Winpcap学习教程,获取设备列表
- winPcap学习笔记1_获取设备列表(转)
- 使用Winpcap 获取设备列表 2
- 基于Android 4.2.2的Account Manager源代码分析学习:设备上帐号类型列表的获取
- WinPcap获取设备列表
- WinPcap获取设备列表
- 使用Winpcap 获取设备列表 2
- XProxy点滴:Winpcap获取设备列表时的建议
- WinPcap教程:(1)获取设备列表
- WinPcap获取设备列表
- WinPcap编程【2】--获取设备列表
- WinPcap编程【2】--获取设备列表
- Winpcap网络编程六之Winpcap学习教程,获取已安装设备的高级信息
- 使用Winpcap 获取设备列表
- WinPcap学习(三)获取已安装设备的高级信息
- 基于WinPcap获取设备列表
- WinPcap中获取设备列表的实验报告
- WinPcap 之 获取设备列表
- 基于Android 4.2.2的Account Manager源代码分析学习:设备上帐号类型列表的获取
- WinPcap教程(一) 获取本地驱动设备列表