WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(七)——获得与释放网络适配器设... 阅读

深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(1)

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: “source”是一个告诉函数在哪儿查找设备的参数,并且它使用与pcap_open函数同样的语法,深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(1)(3),与pcap_findalldevs函数不同,该设备的名称 (由alldevs->name 指

“source”是一个告诉函数在哪儿查找设备的参数,并且它使用与pcap_open函数同样的语法。与pcap_findalldevs函数不同,该设备的名称 (由alldevs->name 指定,其它的存在已连接的链表中)已经被考虑用在pcap_open函数中。相反,pcap_findalldevs函数的输出必须采用pcap_createsrcstr()格式处理后,才能把源参数传递给pcap_open函数使用。

参数source是一个字符型的缓冲区,根据新的WinPcap语法保存着“源的位置”。

检查该源以寻找适配器(本机的或远程的)(如源可以为本机的适配器“rpcap://”或远程的适配器“rpcap://host:port”)或pcap文件(如源可以为“file://c:/myfolder/”)。该字符串应该预先仔细考虑,为了阐明所需的源是否为本地/远程适配器或文件。这些源的含义都在新的语法规定(Source Specification Syntax )中定义。

参数auth是一个指向pcap_rmtauth结构体的指针。该指针保持着认证RPCAP连接到远程主机所需的信息。该参数对本地主机请求没什么意义,此时可以设为NULL。

参数alldevs是一个“pcap_if_t”结构体类型的指针,在该函数中被正确的分配。该函数成功返回时,该指针被设置为指向网络设备链表的第一个元素,该链表的每个元素都是“pcap_if_t”类型。

参数errbuf是一个指向用户分配的缓冲区(大小为PCAP_ERRBUF_SIZE)的指针,如果函数操作出现错误,该缓冲区将存储该错误信息。

函数成功则返回0,如果有错误则返回-1。“alldevs”变量返回设备列表,当函数正确返回时,“alldevs”不能为NULL。也就是说,当系统没有任何接口时,该函数也返回-1。“errbuf”变量返回错误信息,一个错误可能由下列原因导致:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接