深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(1)
2009-09-11 00:00:00 来源:WEB开发网其中结构体pcap_addr的定义在下面描述。结构体pcap_addr表示接口地址的信息,定义如下:
typedef struct pcap_addr pcap_addr_t;
struct pcap_addr {
struct pcap_addr *next; /*指向下一个元素的指针*/
struct sockaddr *addr; /* IP地址 */
struct sockaddr *netmask; /* 网络掩码 */
struct sockaddr *broadaddr; /* 广播地址 */
struct sockaddr *dstaddr; /* P2P目的地址*/
};
1.1.2 pcap_findalldevs_ex函数
通常,编写基于WinPcap应用程序的第一件事情,就是获得已连接的网络适配器设备列表。WinPcap提供了pcap_findalldevs_ex函数来实现这个功能,该函数的的原型如下:
int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth,
pcap_if_t **alldevs, char *errbuf);
该函数创建一个能用pcap_open函数打开的网络适配器设备列表。该函数是老函数pcap_findalldevs的一个扩展,pcap_findalldevs()是一个过时的函数,其只允许列出在本机上的网络设备。反之pcap_findalldevs_ex也允许列出一个远程机器上的网络设备,此外还能列出一个给定文件夹中可用的pcap文件。因为pcap_findalldevs_ex()依赖于标准的pcap_findalldevs()来获得本地机器的地址,所以它是平台无关的。
万一该函数必须列出远程机器上的设备,它对那台机器打开一个新的控制连接,重新获得那个网络接口并终止连接。然而,如果函数检测到远程计算机正处在“激活模式”下,连接不会终止并使用已存在的套结字。
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接