无线局域网接入设备身份标记方法及装置的制造方法_3

文档序号:9276811阅读:来源:国知局
间的映射关系形成所述接入设备的ARP数据。
[0083]其中,所述本机所属的IP地址段,依据获取的本地手机的无线网卡的网络接入配置信息计算得到,所述无线网卡的网络接入配置信息包括M AC地址、IP地址、网关、子网掩码。具体通过调用库函数 DWORD dw RetVal = GetAdaptersInfo (PIP_ADAPTER_INFOpAdapterlnfo, ULONG&u1utBufLen)获取所述无线网卡的网络接入配置信息,其中PIP_ADAPT ER_INF0为结构体类型,pAdapterlnfo保存网卡信息的结构体,ulOutBuf Len保存pAdapterlnfo的字节长度。所述pAdapterlnfo具体包括:
[0084]pAdapterInfo->Address [0]、pAdapterInfo->Address [I]、pAdapterInfo->Address [2] pAdapterInfo->Address [3]、pAdapterInfo->Address [4]、pAdapt erInfo->Address [5]分别为 MAC 地址的 6 个字节;pAdapterInfo_>IpAddressList.1pAddress.String 为 IP 地址;pAdapterInfo->IpAddressList.1pMask.Stri ng 为子网掩码;pAdapterInfo_>GatewayList.IpAddress.String 为网关。
[0085]本领域技术人员可以理解,作为灵活处理的情况,如果系统支持DO S指令调用,上述的无线网卡的网络接入配置信息也可以通过调用DOS系统的ipconfig命令来显示和获得,据此也可有助于本领域技术人员理解、验证以及实施本发明。
[0086]根据上述获取的IP地址和子网掩码计算本机所属的IP地址段,以I P地址为129.36.199.3,子网掩码为255.255.240.0为例,采用如下方法计算本机所属IP地址段的起始IP和终止IP:
[0087]1、IP地址段的起始IP地址
[0088]将所述IP地址与其子网掩码转换为二进制,两者进行按位与操作,计算得出的即为起始IP地址。即,将两者分别转换为二进制:
[0089]129.36.199.3 10000001 00100100 11000111 00000011
[0090]255.255.240.0 11111111 11111111 11110000 00000000
[0091]两者按位进行与运算,结果如下:
[0092]129.36.192.0 10000001 00100100 11000000 00000000
[0093]2、IP地址段的终止IP地址
[0094]将所述IP地址与其子网掩码转换为二进制,两者分别进行按位取反操作,再将取反后的结果进行按位或,计算得出的即为终止IP地址。
[0095]如IP地址为129.36.199.3,子网掩码为255.255.240.0,将IP地址和子网掩码分别转换为二进制:
[0096]129.36.199.3 10000001 00100100 11000111 00000011
[0097]255.255.240.0 11111111 11111111 11110000 00000000
[0098]子网掩码按位取反,结果如下:
[0099]00000000 00000000 00001111 11111111
[0100]两者按位进行或运算,结果如下:
[0101]129.36.207.255 10000001 00100100 11001111 11111111
[0102]由此得到IP 地址段为 129.36.192.0 至 129.36.207.255。
[0103]依照上述方法计算本机所属的无线局域网中的IP地址段起始和终止I P地址,检测该范围内的每个IP地址是否存在接入设备。
[0104]在某些情况下,windows phone系统限制调用查询路由器ARP缓存表的接口,即不支持查询路由器ARP缓存表,则无法通过查询ARP缓存表获取接入设备的MAC地址。基于此,本发明采用通过向本机所属IP地址段的所有IP地址发送ARP包的方式获取所述ARP数据,具体过程如下:
[0105]为了更好地说明该方法,首先对ARP的工作原理做简单介绍:
[0106]源主机和目的主机进行通信时,源主机已知获取到目的主机的IP地址,根据该IP地址,
[0107]I)源主机会检查自己的ARP缓存表中是否记录有目的主机的IP地址和目的主机的MAC地址之间的映射关系。如果记录有两者之间的映射关系,则源主机将目的主机的MAC地址封装到传输的数据帧中。如果没有两者的记录关系,则源主机会发送一个ARP请求,并进行广播,请求的目标IP地址是目的主机的IP地址,请求的源IP地址是源主机的IP地址。
[0108]2)当路由器接收到源主机发送的广播数据帧后,将此数据帧从除接收端口以外的所有端口发出去。
[0109]3)目的主机接收到该数据帧时,对其进行校验,如果校验出该数据帧中的目标IP是自己的,则将源主机的IP地址和源主机的MAC地址的映射关系记录到自己的ARP缓存表中,同时发送一个写有自己的MAC地址的ARP应答包给源主机。
[0110]4)源主机接收到应答数据包后,更新自己的ARP缓存表,记录目的主机的IP地址和MAC地址的映射关系。
[0111]网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,但不知道目的主机的MAC地址,而通信数据包首先是被目的主机的网卡接收,然后再去处理上层协议。如果目的主机接收到的数据包的MAC地址与其MAC地址不一致,则直接丢弃,就会造成数据包不能成功送达。所以为了使源主机在通信前获取到目的主机的MAC地址,通过数据链路层发ARP请求,询问已知IP地址对应的目的主机的MAC地址,将该ARP请求广播到本地网段,目的主机接收到广播的ARP请求,对比IP地址,如果一致则发送一个写入自己MAC地址的ARP应答包给源主机,由此源主机便在通信前获取了目的主机MAC地址。
[0112]基于上述原理,所述通过发送ARP包的方式获取所述ARP数据的执行过程如下:
[0113]将本机所属IP段的所有IP地址作为目的IP地址,由路由器广播本机的ARP请求包,如果任意IP地址存在接入设备,则该接入设备对比广播的ARP包是IP地址是否与自己的IP地址一致,如果一致则发送一个写入自己MAC地址的ARP应答包给本机,由此便获取到该接入设备的MAC地址,以该MAC地址和其IP地址的映射关系形成所述ARP数据。以此方式获取所有接入设备的ARP数据。
[0114]由此,解决了基于windows phone系统的手机终端限制查询ARP缓存表接口的问题,使得在无法查询ARP缓存表的情况下也能通过发送ARP包查询到接入无线局域网的设备的MAC地址,以便对所述接入设备进行身份标记,进而标记出非法接入设备,以禁止其网络访问行为。
[0115]MAC地址也称为物理地址、硬件地址,由IEEE国际组织分配,网络设备制造商在生产时烧录在网卡中。MAC地址的长得为48位,6个字节,通常表示为12个16进制数,如00-16-EA-AE-3C-40。其前6个16进制数00-16-EA表示网络设备生产商的编号,后6个16进制数AE-3C-40表示该生产商制造的产品的系列号。MAC地址具有全球唯一性。
[0116]因此,依据上述方式获取的ARP数据得到本机所属无线局域网中所有接入设备的MAC地址,可以在预设列表中查找该些MAC地址对应的设备信息。所述预设列表包含接入设备的MAC地址与其设备信息之间的映射关系数据,由云端服务器从各设备厂商的官网上抓取下载得到。通过远程端口向云端服务器请求查询获取的MAC地址对应的设备信息,云端服务器返回相应的设备信息,本机应用程序将该设备信息和其对应的MAC地址对应存储于本地。其中,所述设备信息包括与其MAC地址相对应的生产厂商信息、设备型号、设备名称等信息。
[0117]S12、提供可视化界面显示查找到的所有设备信息,接收针对所述设备信息而确定的身份标记指令;
[0118]获取到接入设备的设备信息后,提供可视化界面,将所述设备信息进行显示。具体实施例中,所述可视化界面以列表的形式显示设备信息,显示的设备信息可以为设备名称、设备生产厂商、设备型号等其中的一种或多种。每个接入设备对应的设备信息目录,提供标记设备身份信息或加入黑名单的按钮,以接收针对指定接入设备信息而确定其身份标记的指令。所述身份标记指令包括第一指令和第二指令。其中,
[0119]所述第一指令包含用于对用户指定的接入设备进行身份标记的标记信息;所述第二指令包含用于对用户指定的接入设备标记为黑名单所属项的标记信息。
[0120]S13、响应于该标记指令完成与该设备信息相应的接入设备的身份标记。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1