一种识别伪dhcp服务器的方法和交换机的制作方法

文档序号:7891666阅读:166来源:国知局
专利名称:一种识别伪dhcp服务器的方法和交换机的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种识别伪DHCP服务器的方法和交换机。
背景技术
动态主机配置协议(DynamicHost Configuration Protocol, DHCP)用来为网络设备动态地分配IP地址等网络配置参数。DHCP采用客户端/服务器通信模式,由客户端向服务器提出配置申请,服务器返回为客户端分配的IP地址等相应的配置信息,以实现IP地址等信息的动态配置。DHCP客户端从DHCP服务器动态获取IP地址,主要通过发现阶段、提供阶段、选择阶段和确认阶段这四个阶段进行。其中,发现阶段为DHCP客户端寻找DHCP服务器的阶段; 提供阶段为DHCP服务器提供IP地址的阶段;请求阶段为DHCP客户端选择IP,并广播发送 DHCP请求报文的阶段;确认阶段为DHCP服务器确认IP地址的阶段,如果确认将地址分配给客户端,则返回DHCP确认报文,否则返回DHCP NAK报文。针对DHCP客户端的不同需求,DHCP提供三种IP地址分配策略,分别为手工分配地址、自动分配地址和动态分配地址。在实际情况下,一般采用的是DHCP动态分配地址,DHCP 服务器为DHCP客户端分配具有一定有效期的IP地址,到达使用期限后,客户端需要重新申请IP地址。在重新申请的过程中,如果某个DHCP客户端启动DHCP服务,作为DHCP服务器参与地址的分配,则会提供非法IP地址,使申请到该IP地址的DHCP客户端无法正常访问网络。参见图1,图I为模拟的实验室组网结构示意图。图I中交换机101部署在实验室内部,DHCP Server 103部署在机房,各交换机101下挂的任一 DHCP客户端102,如果私自启用DHCP服务,当局域网内的其他DHCP客户端102在申请地址时,会收到DHCP请求报文,而为请求地址的DHCP客户端102提供非法地址,而使请求地址的DHCP客户端102无法正常访问网络。

发明内容
有鉴于此,本发明提供一种识别伪DHCP服务器的方法和交换机,能够排查伪DHCP 服务器,使DHCP客户端正常访问网络。为解决上述技术问题,本发明的技术方案是这样实现的一种识别伪DHCP服务器的方法,应用于包括DHCP服务器、DHCP客户端和交换机的组网中,所述方法包括所述组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行 MAC学习时学习到的对应的端口号并绑定记录;若接收到DHCP提供报文,且确定接收所述报文的端口的端口号在本地已记录时, 获取记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢弃,并根据所述客户端信息生成告警日志。一种交换机,应用于包括DHCP客户端和DHCP服务器的组网中,所述交换机包括: 获取单元、接收单元、确定单元和生成单元;所述获取单元,用于获取自身所在交换机下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号并绑定记录;所述接收单元,用于接收DHCP提供报文;所述确定单元,用于确定所述接收单元接收所述报文的端口的端口号在所述获取单元中已记录时,获取所述获取单元中记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢所述生成单元,用于根据所述确定单元获取的客户端信息生成告警日志。综上所述,本发明实施例中通过组网中任一交换机获得接收的DHCP提供报文携带的DHCP客户端MAC地址是否已在本地记录,确定发出该DHCP提供报文的设备是否为伪 DHCP服务器,如果确定为伪DHCP服务器,需在本地发出告警。能够排查伪DHCP服务器,使 DHCP客户端正常访问网络。


图I为模拟的实验室组网结构示意图;图2为本发明实施例中识别伪DHCP服务器的方法流程示意图;图3为现有DHCP报文格式示意图;图4为本发明具体实施例中应用于识别伪DHCP服务器方法的交换机结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。本发明实施例中提出一种识别伪DHCP服务器的方法,应用于包括DHCP服务器、 DHCP客户端和交换机的组网中。组网中各交换机的功能均相同,因此通过组网中的任一交换机为例来说明识别伪DHCP服务器的过程。参见图2,图2为本发明实施例中识别伪DHCP服务器的方法流程示意图。具体步骤为步骤201,组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号并绑定记录。本步骤中的客户端信息为下述之一或组合DHCP客户端的主机名称、DHCP客户端的IP地址。下面以客户端信息为DHCP客户端的主机名称和DHCP客户端的IP地址的组合为例,来详细说明组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行 MAC学习时学习到的对应的端口号并绑定记录的方法。该获取方法有两种,分别如下第一种方法任一交换机对其下挂的各DHCP客户端进行MAC表项和地址解析协议 (ARP)表项学习,其中,所述MAC表项中包括DHCP客户端的MAC地址和对应的端口号,所述ARP表项中包括DHCP客户端的MAC地址和IP地址;根据所述MAC表项中的MAC地址查询 ARP表项,获取DHCP客户端的IP地址和对应的端口号,通过所述获取的DHCP客户端的IP 地址向网络基本输入输出系统(Network Basic Input/Output System,NetBios)服务器获取对应DHCP客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及DHCP客户端的主机名称绑定记录。该种实现方式是利用现有组网中交换机学习的MAC表项和ARP表项,根据MAC表项和ARP表项的对应关系,获取DHCP客户端的IP地址和对应的端口号。该种实现方式需要实时获取MAC表项中新学习到的MAC地址对应的端口号,再通过该MAC地址在ARP表项中查找所述端口号对应的DHCP客户端的IP地址。第二种方法任一交换机对其下挂的各DHCP客户端进行MAC表项学习,其中,所述 MAC表项中包括DHCP客户端的MAC地址和对应的端口号。所述任一交换机接收到DHCP确认报文,且该报文中携带的DHCP客户端的MAC地址在所述MAC表项中已记录时,获取所述 MAC地址对应的端口号,以及报文中携带的DHCP客户端的IP地址,通过所述获取的DHCP客户端的IP地址向NetBios服务器获取对应客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及DHCP客户端的主机名称绑定记录。该种实现方式是不再实时查询ARP表项获取DHCP客户端的IP地址,而是对接收的DHCP确认报文进行解析,当解析该确认报文中携带的客户端的MAC地址在本地MAC地址表项中已记录,则获取该DHCP确认报文中携带的DHCP客户端的IP地址,并在所述MAC地址表项中获取所述MAC地址对应的端口号。该方法进一步包括当所述绑定记录中任一端口号对应的端口 down时,删除所述端口号对应的绑定记录。步骤202中,若接收到DHCP提供报文,且确定接收所述报文的端口的端口号在本地已记录时,获取记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢弃,并根据所述客户
端信息生成告警日志。本步骤中若接收到的DHCP提供报文,且确定接收所述报文的端口的端口号在本地已记录时,认为该提供报文属于伪DHCP服务器发出的,由于该端口号对应的端口是连接 DHCP客户端的,因此确定发出该报文的设备为伪DHCP服务器,并根据所述客户端信息生成
告警日志,以便管理员进行处理。上述图2中描述了识别伪DHCP服务器的过程,并在本设备发出告警,下文详细描述如何达到整网告警。所述任一交换机将所述获取的客户端信息携带在DHCP通告报文中广播给各下挂 DHCP客户端,使所述各下挂DHCP客户端在预设时间内不接收来自所述DHCP通告报文中携带的客户端信息所对应的DHCP客户端分配的地址;并广播所述DHCP通告报文给所述组网中其他交换机,使所述其他交换机根据所述DHCP通告报文中携带的客户端信息生成告警日志,并通知其下挂DHCP客户端在预设时间内不接收来自所述客户端信息对应的DHCP客户端分配的地址。本发明具体实施例中,DHCP通告报文为一种新增DHCP报文类型的报文,且为广播报文。参见图3,图3为现有DHCP报文格式示意图。图3中,op字段表示报文的操作类型,现有分为请求报文和响应报文,I为请求报文;2为响应报文。本发明实施例中定义的DHCP 通告报文操作类型为3或其他未使用的类型。Option字段中TLV中,Type填充220 ;Length 填充Value具体长度;Value填充客户端信息。其余字段可不填充。各DHCP客户端收到所述DHCP通告报文时,在预设时间内不接收来自所述客户端信息对应的DHCP客户端分配的地址。具体实现时,可以在本地设置一个黑名单,将不接收分配地址的设备加入该黑名单,并持续预设时间,预设时间到时时,从黑名单中将该设备的信息删除。预设时间在具体实现时可设为3分钟,或者根据具体情况设定时间。基于同样的发明构思,本发明还提出一种交换机,应用于包括DHCP客户端和DHCP 服务器的组网中。参见图4,图4为本发明具体实施例中应用于识别伪DHCP服务器方法的交换机结构示意图。该交换机包括获取单元401、接收单元402、确定单元403和生成单元 404。获取单元401,用于获取自身所在交换机下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号并绑定记录。接收单元402,用于接收DHCP提供报文。确定单元403,用于确定接收单元402接收所述报文的端口的端口号在获取单元 401中已记录时,获取获取单元401中记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢弃。生成单元404,用于根据确定单元403获取的客户端信息生成告警日志。较佳地,该交换机进一步包括通告单元405。通告单元405,用于将确定单元403获取的客户端信息携带在DHCP通告报文中广播给各下挂DHCP客户端,使所述各下挂DHCP客户端在预设时间内不接收来自所述DHCP通告报文中携带的客户端信息所对应的DHCP客户端分配的地址;并广播所述DHCP通告报文给所述组网中其他交换机,使所述其他交换机根据所述DHCP通告报文中携带的客户端信息生成告警日志,并通知其下挂DHCP客户端在预设时间内不接收来自所述客户端信息对应的DHCP客户端分配的地址。较佳地,所述客户端信息为下述之一或组合DHCP客户端的主机名称、DHCP客户端的IP地址。较佳地,获取单元401,用于当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的 IP地址的组合时,对其下挂的各DHCP客户端进行MAC表项和ARP表项学习,其中,所述MAC 表项中包括DHCP客户端的MAC地址和对应的端口号,所述ARP表项中包括DHCP客户端的 MAC地址和IP地址;根据所述MAC表项中的MAC地址查询ARP表项,获取DHCP客户端的IP 地址和对应的端口号,通过所述获取的DHCP客户端的IP地址向NetBios服务器获取对应 DHCP客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及DHCP 客户端的主机名称绑定记录。较佳地,获取单元401,用于当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的IP地址的组合时,对其下挂的各DHCP客户端进行MAC表项学习,其中,所述MAC表项中包括DHCP客户端的MAC地址和对应的端口号;接收到DHCP确认报文,且该报文中携带的DHCP 客户端的MAC地址在所述MAC表项中已记录时,获取所述MAC地址对应的端口号,以及报文中携带的DHCP客户端的IP地址,通过所述获取的DHCP客户端的IP地址向NetBios服务器获取对应客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及 DHCP客户端的主机名称绑定记录。较佳地,生成单元404,进一步用于当所述绑定记录中的任一端口号对应的端口 down时, 删除所述端口号对应的绑定记录。上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单兀。综上所述,本发明实施例中通过组网中任一交换机获得接收的DHCP提供报文携带的DHCP客户端MAC地址是否已在本地记录,确定发出该DHCP提供报文的设备是否为伪 DHCP服务器,如果确定为伪DHCP服务器,需在本地发出告警。能够排查伪DHCP服务器,使 DHCP客户端正常访问网络。任一组网交换机识别到了伪DHCP服务器后,除了在本地发出告警之外,还通过 DHCP通告报文通知自身下挂的DHCP客户端使其在预设时间不接收所述伪服务器分配的IP 地址,并通知组网中的其他交换机,使其他交换机在本地产生告警,并通知各自下挂的DHCP 服务器不接收所述伪服务器分配的IP地址,从而实现在整个组网发出告警,并能够获得伪 DHCP服务器所在位置,排除伪服务器的影响,使各客户端能正常访问网络。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种识别伪动态主机配置协议DHCP服务器的方法,应用于包括DHCP服务器、DHCP 客户端和交换机的组网中,其特征在于,所述方法包括所述组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号并绑定记录;若接收到DHCP提供报文,且确定接收所述报文的端口的端口号在本地已记录时,获取记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢弃,并根据所述客户端信息生成告警日志。
2.根据权利要求I所述的方法,其特征在于,所述生成告警日志时,所述方法进一步包括将所述获取的客户端信息携带在DHCP通告报文中广播给各下挂DHCP客户端,使所述各下挂DHCP客户端在预设时间内不接收来自所述DHCP通告报文中携带的客户端信息所对应的DHCP客户端分配的地址;并广播所述DHCP通告报文给所述组网中其他交换机,使所述其他交换机根据所述DHCP通告报文中携带的客户端信息生成告警日志,并通知其下挂 DHCP客户端在预设时间内不接收来自所述客户端信息对应的DHCP客户端分配的地址。
3.根据权利要求2所述的方法,其特征在于,所述客户端信息为下述之一或组合DHCP客户端的主机名称、DHCP客户端的IP地址。
4.根据权利要求3所述的方法,其特征在于,当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的IP地址的组合时,所述组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号的方法为对其下挂的各DHCP客户端进行MAC表项和地址解析协议ARP表项学习,其中,所述MAC 表项中包括DHCP客户端的MAC地址和对应的端口号,所述ARP表项中包括DHCP客户端的 MAC地址和IP地址;根据所述MAC表项中的MAC地址查询ARP表项,获取DHCP客户端的 IP地址和对应的端口号,通过所述获取的DHCP客户端的IP地址向网络基本输入输出系统 NetBios服务器获取对应DHCP客户端的主机名称,并将所述获取的DHCP客户端的IP地址、 对应的端口号以及DHCP客户端的主机名称绑定记录。
5.根据权利要求3所述的方法,其特征在于,当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的IP地址的组合时,所述组网中的任一交换机获取其下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号的方法为对其下挂的各DHCP客户端进行MAC表项学习,其中,所述MAC表项中包括DHCP客户端的MAC地址和对应的端口号;接收到DHCP确认报文,且该报文中携带的DHCP客户端的MAC地址在所述MAC表项中已记录时,获取所述MAC地址对应的端口号,以及报文中携带的DHCP客户端的IP地址,通过所述获取的DHCP客户端的IP地址向NetBios服务器获取对应客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及DHCP客户端的主机名称绑定记录。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法进一步包括当所述绑定记录中任一端口号对应的端口 down时,删除所述端口号对应的绑定记录。
7.一种交换机,应用于包括动态主机配置协议DHCP客户端和DHCP服务器的组网中,其特征在于,所述交换机包括获取单元、接收单元、确定单元和生成单元;所述获取单元,用于获取自身所在交换机下挂的各DHCP客户端的客户端信息,以及进行MAC学习时学习到的对应的端口号并绑定记录;所述接收单元,用于接收DHCP提供报文;所述确定单元,用于确定所述接收单元接收所述报文的端口的端口号在所述获取单元中已记录时,获取所述获取单元中记录的与接收该报文的端口的端口号对应的客户端信息,确定所述客户端信息对应的客户端为伪DHCP服务器,将所述接收的DHCP提供报文丢所述生成单元,用于根据所述确定单元获取的客户端信息生成告警日志。
8.根据权利要求7所述的交换机,其特征在于,所述交换机进一步包括通告单元;所述通告单元,用于将所述确定单元获取的客户端信息携带在DHCP通告报文中广播给各下挂DHCP客户端,使所述各下挂DHCP客户端在预设时间内不接收来自所述DHCP通告报文中携带的客户端信息所对应的DHCP客户端分配的地址;并广播所述DHCP通告报文给所述组网中其他交换机,使所述其他交换机根据所述DHCP通告报文中携带的客户端信息生成告警日志,并通知其下挂DHCP客户端在预设时间内不接收来自所述客户端信息对应的DHCP客户端分配的地址。
9.根据权利要求8所述的交换机,其特征在于,所述客户端信息为下述之一或组合DHCP客户端的主机名称、DHCP客户端的IP地址。
10.根据权利要求9所述的交换机,其特征在于,所述获取单元,用于当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的IP 地址的组合时,对其下挂的各DHCP客户端进行MAC表项和ARP表项学习,其中,所述MAC表项中包括DHCP客户端的MAC地址和对应的端口号,所述地址解析协议ARP表项中包括DHCP 客户端的MAC地址和IP地址;根据所述MAC表项中的MAC地址查询ARP表项,获取DHCP客户端的IP地址和对应的端口号,通过所述获取的DHCP客户端的IP地址向网络基本输入输出系统NetBios服务器获取对应DHCP客户端的主机名称,并将所述获取的DHCP客户端的 IP地址、对应的端口号以及DHCP客户端的主机名称绑定记录。
11.根据权利要求9所述的交换机,其特征在于,所述获取单元,用于当所述客户端信息为DHCP客户端的主机名称和DHCP客户端的IP 地址的组合时,对其下挂的各DHCP客户端进行MAC表项学习,其中,所述MAC表项中包括 DHCP客户端的MAC地址和对应的端口号;接收到DHCP确认报文,且该报文中携带的DHCP 客户端的MAC地址在所述MAC表项中已记录时,获取所述MAC地址对应的端口号,以及报文中携带的DHCP客户端的IP地址,通过所述获取的DHCP客户端的IP地址向NetBios服务器获取对应客户端的主机名称,并将所述获取的DHCP客户端的IP地址、对应的端口号以及 DHCP客户端的主机名称绑定记录。
12.根据权利要求7-11任意一项所述的交换机,其特征在于,所述生成单元,进一步用于当所述绑定记录中任一端口号对应的端口 down时,删除所述端口号对应的绑定记录。
全文摘要
本发明公开了一种识别伪DHCP服务器的方法,该方法包括组网中任一交换机根据接收的DHCP提供报文携带的DHCP客户端MAC地址是否已在本地记录,确定发出该DHCP提供报文的设备是否为伪DHCP服务器,如果确定为伪DHCP服务器,需在本地发出告警。基于同样的发明构思,本发明还提出一种交换机,能够排查伪DHCP服务器,使DHCP客户端正常访问网络。
文档编号H04L12/24GK102594839SQ20121007084
公开日2012年7月18日 申请日期2012年3月16日 优先权日2012年3月16日
发明者王伟, 王奕 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1