论文部分内容阅读
(山东省泰安卫生学校,山东 泰安 271000)
全文查看链接
借鉴这两种方法的优点,本文提出一种与地址自动配置无关的、基于WinPcap4.0[5]网络编程的检测方法:主线程周期性地调用函数pcap_findalldevs_ex()获取本地主机网络适配器列表(pcap_if结构);如果某个指定适配器前后两次IP地址没有变化,则立即返回准备下一个循环,否则首先调用函数pcap_open_live()打开该适配器并将其工作模式设为混杂模式(Promiscuous),接着调用函数pcap_comp ile()、pcap_setfilter()来编译和设置过滤器以缩小捕获数据包的范围,调用函数pcap_sendpacket()发送1个源地址类型为IPV6_ADDR_ANY(全0地址)的NS(邻机请求报文),最后在创建一个子线程后返回准备下一个循环;子线程在一定时间(一般为1秒)内不断地调用函数pcap_next_ex()来捕获收到的报文,如果遇到下面两种情况:①当收到目标地址为正在检测的地址且源地址类型为IPV6_ADDR_ANY(全0地址)的NS;②当收到目标地址为其正在检测的地址的NA(邻机公告报文),则认为该地址不是有效地址,不向域名更新模块发送更新请求,否则向域名更新模块发送更新请求。
全文查看链接