Ap获取客户端ip地址的方法

文档序号:8285405阅读:2350来源:国知局
Ap获取客户端ip地址的方法
【技术领域】
[0001]本发明涉及一种获取客户端IP地址的方法,尤其涉及在客户端与AP无线连接的模式下AP获取客户端IP地址的方法。
【背景技术】
[0002]AP做为网桥,用于链接无线客户端和上行服务器,当AP的IP地址和上行DHCP服务器地址池不在同一个网段的情况下,ARP (Address Resolut1n Protocol,地址解析协议,是获取物理地址的一个TCP/IP协议)包不会进入AP的网络层进行处理,AP将获取不到由DHCP服务器分配给客户端的IP地址。因而,AP的IP地址和上行DHCP服务器地址池要在同一个网段,AP才能在ARP列表里获取连接到AP的客户端的IP地址。而实际应用环境中,AP的IP地址与DHCP服务器却经常在不同的网段,这样可以节约DHCP服务器可分配的IP地址。
[0003]因而,需要解决当AP和上行DHCP服务器地址池不在同一个网段的情况下,AP能够获取由DHCP服务器分配给客户端的IP地址的问题。

【发明内容】

[0004]本发明需解决的技术问题是提供一种当AP的IP地址和上行DHCP服务器地址池不在同一个网段的情况下AP获取客户端IP地址的方法。
[0005]为解决上述的技术问题,本发明设计了一种AP获取客户端IP地址的方法,其包括以下步骤:
[0006]stepl:获取AP系统日志的ARP信息,再从ARP信息中取出客户端的MAC地址和IP地址;
[0007]step2:从AP的无线驱动里获取连接到AP的各个客户端的参数信息,读取所述参数信息中的各个客户端的MAC地址,并将各个客户端的MAC地址保存为无线MAC地址列表;
[0008]step3:创建/tmp/arp文件来保存通过AP连接到上行路由器的客户端的ARP列表;
[0009]step4:将/tmp/arp文件复制一份,得到一份tmp/arp备份文件,并配置一个初始值为O的标记变量,同时,将/tmp/arp文件的的ARP列表信息清零;
[0010]step5:打开/tmp/arp备份文件,读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,判断/tmp/arp备份文件中的ARP列表的MAC地址是否包含在所述无线MAC地址列表中;如果否,则不将该条MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址;如果是,判断/tmp/arp备份文件中的ARP列表的MAC地址是否与根据st印I从系统日志的取出的MAC地址相同,如果相同,则把从系统日志的取出的MAC地址以及其对应的IP地址保存到/tmp/arp文件中的ARP列表中,并赋予标记变量的值为1,如果不相同,把/tmp/arp备份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址;逐条读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,直到把/tmp/arp备份文件中ARP列表内容读完为止;
[0011]Step6:判断标记变量的值,如果标志变量的值为0,则把从系统日志的取出的MAC地址以及其对应的IP地址保存进/tmp/arp文件中的ARP列表中。
[0012]作为本发明进一步改进,在stepl之前,还先对AP系统日志中的日志信息进行过滤。
[0013]作为本发明进一步改进,在stepl中,通过“iwpriv rao show stainfo”命令,从AP的无线驱动里获取连接到AP的各个客户端的参数信息。
[0014]当AP和上行DHCP服务器地址池不在同一个网段的情况下,本发明通过维护自定义创建的一张ARP列表,将获取到的各个客户端的IP地址保存进ARP列表,从而方便获取链接到AP的客户端的IP地址,进而对客户端进行一系列基于IP地址的管理。
【附图说明】
[0015]图1为本发明AP获取客户端IP地址的方法流程图。
【具体实施方式】
[0016]为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
[0017]本发明提供一种AP获取客户端IP地址的方法,在当AP和上行DHCP服务器地址池不在同一个网段的情况下,AP能够获取由上行DHCP服务器分配给连接到AP的客户端的IP地址。
[0018]如图1所示,本发明提供AP获取客户端IP地址的方法,包括以下步骤:
[0019]stepl:获取AP系统日志的ARP信息,再从ARP信息中取出客户端的MAC地址和IP地址。由于,AP系统日志的信息量比较大,为了能准确获取到关于客户端的MAC地址和IP地址的信息,本发明还先对AP系统日志中的日志信息进行过滤,把无用的信息过滤掉。
[0020]step2:通过“iwpriv rao show stainfo”命令,从AP的无线驱动里获取连接到AP的各个客户端的参数信息,读取所述参数信息中的各个客户端的MAC地址,并将各个客户端的MAC地址保存为无线MAC地址列表。
[0021]step3:创建/tmp/arp文件来保存通过AP连接到上行路由器的客户端的ARP列表。ARP列表即用来保存客户端的MAC地址和IP地址,通过维护/更新该/tmp/arp文件的ARP列表信息,实现获取链接到AP的客户端的IP地址。
[0022]step4:为方便维护tmp/arp文件的ARP列表,首先将/tmp/arp文件复制一份,得到一份tmp/arp备份文件,并配置一个初始值为O的标记变量,同时,将/tmp/arp文件的ARP列表信息清零。tmp/arp备份文件用作后面步骤的比较和判断,判断后将需要保存的客户端的MAC地址和IP地址信息保存进/tmp/arp文件中清零后的ARP列表。
[0023]step5:打开/tmp/arp备份文件,逐条读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,判断/tmp/arp备份文件中的ARP列表的MAC地址是否包含在所述无线MAC地址列表中。
[0024]如果否,则不将该条MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,这说明该条MAC地址没有包含在所述无线MAC地址列表,该MAC地址对应的客户端已经离开AP,因而,不需要再在/tmp/arp文件中的ARP列表保存,应当删除。判断完该条信息,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址。
[0025]如果是,再继续判断/tmp/arp备份文件中的ARP列表的MAC地址是否与根据step I从系统日志的取出的MAC地址相同。
[0026]如果相同,则把从系统日志的取出的MAC地址以及其对应的IP地址保存到/tmp/arp文件中的ARP列表中,并赋予标记变量的值为I。
[0027]如果不相同,把/tmp/arp备份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址。
[0028]逐条读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,循环判断,直到把/tmp/arp备份文件中ARP列表内容读完为止。
[0029]st印6:判断标记变量的值,如果标志变量的值为0,则把从系统日志的取出的MAC地址以及其对应的IP地址保存进/tmp/arp文件中的ARP列表中。这说明AP新增加连接一个客户端,该客户端的MAC地址和IP地址信息从系统日志中得到,而/tmp/arp备份文件和tmp/arp文件两者ARP列表还未有,step6则直接将AP新增加连接一个客户端这种情况的客户端的MAC地址和IP地址保存进/tmp/arp文件中的ARP列表中。
[0030]当AP和上行DHCP服务器地址池不在同一个网段的情况下,本发明通过维护自定义创建的一张ARP列表,将获取到的各个客户端的IP地址保存进ARP列表,从而方便获取链接到AP的客户端的IP地址,进而对客户端进行一系列基于IP地址的管理。
[0031]以上仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种AP获取客户端IP地址的方法,其特征在于:包括以下步骤: stepl:获取AP系统日志的ARP信息,再从ARP信息中取出客户端的MAC地址和IP地址; step2:从AP的无线驱动里获取连接到AP的各个客户端的参数信息,读取所述参数信息中的各个客户端的MAC地址,并将各个客户端的MAC地址保存为无线MAC地址列表;step3:创建/tmp/arp文件来保存通过AP连接到上行路由器的客户端的ARP列表;step4:将/tmp/arp文件复制一份,得到一份tmp/arp备份文件,并配置一个初始值为O的标记变量,同时,将/tmp/arp文件的的ARP列表信息清零; step5:打开/tmp/arp备份文件,读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,判断/tmp/arp备份文件中的ARP列表的MAC地址是否包含在所述无线MAC地址列表中;如果否,则不将该条MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址;如果是,判断/tmp/arp备份文件中的ARP列表的MAC地址是否与根据st印I从系统日志的取出的MAC地址相同,如果相同,则把从系统日志的取出的MAC地址以及其对应的IP地址保存到/tmp/arp文件中的ARP列表中,并赋予标记变量的值为I,如果不相同,把/tmp/arp备份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,继续读取/tmp/arp备份文件中ARP列表下一条的MAC地址和IP地址;逐条读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,直到把/tmp/arp备份文件中ARP列表内容读完为止; step6:判断标记变量的值,如果标志变量的值为O,则把从系统日志的取出的MAC地址以及其对应的IP地址保存进/tmp/arp文件中的ARP列表中。
2.根据权利要求1所述AP获取客户端IP地址的方法,其特征在于:在stepl之前,还先对AP系统日志中的日志信息进行过滤。
3.根据权利要求1所述AP获取客户端IP地址的方法,其特征在于:在stepl中,通过“iwpriv rao show stainfo”命令,从AP的无线驱动里获取连接到AP的各个客户端的参数信息。
【专利摘要】本发明提出了一种AP获取客户端IP地址的方法,所述方法创建/tmp/arp文件来保存客户端的ARP列表,同时还备份/tmp/arp文件;读取/tmp/arp备份文件中的ARP列表的MAC地址和IP地址,判断是否包含在无线MAC地址列表中;如果否,则不将该条MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,继续读取下一条;如果是,判断是否与系统日志的取出的MAC地址相同,如果相同,则把从系统日志的取出的MAC地址以及其对应的IP地址保存到/tmp/arp文件中的ARP列表中。当AP和上行DHCP服务器地址池不在同一个网段的情况下,本发明通过维护自定义创建的一张ARP列表,将获取到的各个客户端的IP地址保存进ARP列表,从而方便获取链接到AP的客户端的IP地址,进而对客户端进行一系列基于IP地址的管理。
【IPC分类】H04W80-04, H04L29-12
【公开号】CN104601737
【申请号】CN201310534007
【发明人】黄毅坤, 陈岁平
【申请人】上海斐讯数据通信技术有限公司
【公开日】2015年5月6日
【申请日】2013年10月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1