局域网中确定是否存在仿冒的网络设备的方法

文档序号:7964151阅读:122来源:国知局
专利名称:局域网中确定是否存在仿冒的网络设备的方法
技术领域
本发明涉及局域网技术,尤其涉及局域网中确定是否存在仿冒的网络设备的技术。
背景技术
在网络系统中,当用户使用IP协议进行通讯时,需要通过DHCP(DynamicHost Configuration Protocol,动态主机配置协议)或者静态配置IP地址来标识所使用的网络设备的IP地址,IP协议要求每个网络设备的IP地址是唯一的。在以太网(Ethernet)中,每个网络设备都有唯一的MAC(Media Access Control,介质访问控制)地址。这种情况下,网络设备可以通过MAC+IP地址的方式唯一识别其他网络设备。一些认证和安全协议,如802.1X等,也是基于对MAC+IP地址进行识别和控制网络设备通讯能力的。
在Windows环境中,用户可以手工修改网络设备的MAC地址,也可以手工设置所述网络设备的IP地址,这样一来,有人就可以将自己使用的网络设备的MAC+IP地址和某个网络设备的MAC+IP地址设置得完全一致,我们将MAC+IP地址设置成某个网络设备的MAC+IP地址的网络设备称为某个网络设备的仿冒的网络设备,简称为仿冒的网络设备。如果局域网中存在仿冒的网络设备,则会使基于MAC+IP地址识别网络设备的服务无法正确区分正常使用的网络设备和仿冒的网络设备,仿冒的网络设备将获得同被仿冒的网络设备完全一致的权益,这样就会造成安全问题。
以图1所示的网络环境为例,假设主机1为合法的,而主机2是仿冒主机,则路由器可能将外部服务器发送给主机1的数据同时发送给主机2,也可能选择给其中的一个主机发送。由此可看出,原本主机1应该接收的数据有可能被主机2接收,这样就损害了主机1的权益。
合法的网络设备出于维护自身的安全和权益的考虑,有可能需要及时的探测当前网络内是否存在的仿冒的网络设备,即是否存在与自己的MAC+IP地址完全一致的网络设备。

发明内容
本发明要解决的技术问题在于提供一种局域网中确定是否存在仿冒的网络设备的方法,以便于局域网中的网络设备能够确定是否存在与自身的MAC+IP地址完全一致的网络设备。
本发明提供了一种局域网中确定是否存在仿冒的网络设备的方法,包括网络设备发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文,则确定存在仿冒的网络设备。
所述检测报文为地址解析协议ARP报文,在所述ARP报文中,发送者硬件地址及互联网地址为局域网中不存在的硬件地址及互联网地址。
在所述ARP报文中,目标互联网地址与所述网络设备的互联网地址相同。
所述网络设备发出检测报文后,响应所述检测报文。
所述网络设备通过使用网络嗅探器从网络适配器中收集所有的ARP报文,确定所述响应报文的个数。
当所述网络设备为计算机且局域网中其他的计算机使用Windows XP操作系统时,如果所述计算机中已存在m个响应报文,则确定存在m-1个仿冒的网络设备,其中,m为不小于2的正整数。
每个仿冒的网络设备收到响应所述检测报文的响应报文后,发出查询报文并响应所述查询报文。
本发明还提供了一种局域网中确定是否存在仿冒的网络设备的方法,包括网络设备多次发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文的次数大于仿冒确认门限,则确定存在仿冒的网络设备。
在本发明中,网络设备发出一个检测报文,然后确定存在的针对这个检测报文的响应报文的数量,进而确定是否存在仿冒的网络设备,这种技术手段填补了目前还没有可行的检查仿冒网络设备的技术方案的空白。
在本发明中,网络设备不但可以确定是否存在仿冒的网络设备,还可以在一定条件下进一步确定存在仿冒的网络设备的数量,为后续的对仿冒的网络设备的处理提供了更加准确的信息。
在本发明中,网络设备可以多次发出检测报文,在达到一定条件时,统计确定存在仿冒的网络设备的次数,这种方式是容错技术的一种手段,会使检测的结果更加准确。


图1为一种网络环境示意图;图2为本发明一个实施例的流程图;图3A-图3F为本发明实施例的查询报文及响应报文的示意图;图4A为第一主机的ARP报文列表;图4B为仿冒主机的ARP报文列表;图5为本发明另一实施例的流程图。
具体实施例方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
首先,需要说明的是,本发明所述的网络设备可以为交换机、路由器、服务器及计算机等设备。服务器及计算机可以使用Windows操作系统、Unix操作系统或Linux操作系统。
现在结合图2,对本发明进行详细说明。
如图2所示,在步骤S201中,第一主机发出检测报文并响应所述检测报文。
所述检测报文可以为ARP(Address Resolution Protocol,地址解析协议)报文,在所述ARP报文中,发送者硬件地址及互联网地址可以为局域网中不存在的硬件地址及互联网地址,目标互联网地址还可以与第一主机的互联网地址相同。
图3A-图4B是本发明在两台主机使用Windows XP操作系统情况下涉及的报文示意图及报文列表。图3A所示的即为检测报文的一种形式。如图3A所示,Ethernet Header为以太网头,其中,Destination表示报文到达的目的,图中显示为Ethernet Broadcast(以太网广播),即说明此报文到达的目的为以太网中的任意一个主机;Source表示此报文的发出者,值为00:0D:88:F8:4E:6E说明此报文是由MAC地址为00:0D:88:F8:4E:6E的主机发出的,即第一主机发出的;Protocol Type为协议类型,值为0x0806说明协议类型为IP ARP。在ARP的目录下,Hardware为硬件,值为1说明是以太网;Protocol表示是什么协议,值为0x0080说明是IP协议;Hardware Addr Length表示硬件地址长度,即MAC地址长度,值为6表示6个字节;Protocol AddrLength表示协议地址长度,即IP地址长度,值为4表示4个字节;Operation表示操作类型,值为1说明操作是ARP Request(ARP查询);Sender HardwareAddr表示发送者硬件地址,即报文发出者的MAC地址,但此报文中将此项值设置为局域网中不存在的00:0D:88:F8:4E:60;Sender Internet Addr表示发送者协议地址,即报文发出者的IP地址,但此报文中将此值设置为局域网中不存在的172.31.48.33;Target Hardware Addr表示目标硬件地址,即目标的MAC地址;Target Internet Addr表示目标协议地址,即目标的IP地址,一般来说,此项值不与报文发出者的IP地址相同,但此报文将此项值设置成报文发出者的IP地址,即172.31.48.36;Extra bytes表示额外字节;ECS表示校验和。
一般情况下,在第一主机发出的报文中,Sender Hardware Addr及SenderInternet Addr应该为第一主机的MAC地址及IP地址,并且即使查询某个IP地址对应的主机,Target Internet Addr也不应该是第一主机的IP地址,但在本实施方式中,第一主机发出了图3A所示的检测报文,第一主机的网络协议栈可能不会将这个检测报文发送到局域网中,而是可能认为MAC地址为00:0D:88:F8:4E:60、IP地址为172.31.48.33的主机在询问IP地址为172.31.48.36的主机的信息,所以将这个报文又逐层返回,接着,第一主机就会响应这个检测报文,将响应报文发送到MAC地址为00:0D:88:F8:4E:60、IP地址为172.31.48.33的主机。
进入步骤S202,每个仿冒主机收到针对所述检测报文的响应报文后,发出查询报文并响应所述查询报文。
一般来说,虽然第一主机将响应报文指定发送给MAC地址为00:0D:88:F8:4E:60、IP地址为172.31.48.33的主机,但局域网中的每个主机都会收到这个响应报文,当发现响应报文的Target Hardware Addr和TargetInternet Addr都不是自己的MAC地址和IP地址,而且Sender Hardware Addr及Sender Internet Addr也与自己无关,则收到响应报文的主机就会丢弃这个报文。但是,由于仿冒主机的MAC地址和IP地址分别与第一主机的MAC地址和IP地址相同,所以,仿冒主机在收到这个响应报文后,会发出一个查询报文,即查询IP地址为172.31.48.36的主机的信息。与第一主机相同,仿冒主机的网络协议栈可能不会将这个检测报文发送到局域网中,而是可能认为自己的IP地址就是172.31.48.36,所以又将这个报文又逐层返回,接着,仿冒主机就会响应这个检测报文,将响应报文发送到MAC地址为00:0D:88:F8:4E:60、IP地址为172.31.48.33的主机。
最后进入步骤S203,第一主机接收到仿冒主机发出的响应报文后,确定存在仿冒主机。
进一步的,如果局域网中只存在一个仿冒主机,则第一主机只会接收到一个响应报文;如果局域网中存在n个仿冒主机,则第一主机会接收到n个响应报文,其中,n为不小于1的正整数。所以,第一主机根据接收到响应报文的个数,就可确定仿冒主机的个数,例如,如果接收到n个响应报文,就可确定存在n个仿冒主机。
需要说明的是,第一主机在发出检测报文之后的一段时间后,例如10-30秒,就可判断接收的响应报文的个数或已存在的响应报文的个数。第一主机在发出检测报文之后的一段时间后,可以使用网络嗅探器从所述网络适配器中收集所有的ARP报文,统计响应报文的个数就可确定是否存在仿冒主机,如果响应报文的个数不小于2,则说明存在仿冒主机,进一步的,当第一主机和局域网中其他的主机使用Windows XP操作系统时,如果第一主机中响应报文的个数为m,则仿冒主机的数量为m-1,m为不小于2的正整数。
在图2所述的实施方式中,如果只存在一个仿冒主机,则第一主机及仿冒主机使用网络嗅探器收集的ARP报文分别如图4A及图4B所示。在图4A中,第1个Packet(包)为第一主机发出的如图3A所示的检测报文;第2个Packet为第一主机针对检测报文发出的响应报文,图3B为这个响应报文的示意图;第3个Packet为第一主机接收到的仿冒主机发出的响应报文,图3C为这个响应报文的示意图。在图4B中,第1个Packet为仿冒主机接收的如图3B所示的第一主机发出的响应报文,图3D为这个响应报文的示意图,图3D与图3B一致;图4B的第2个Packet为仿冒主机针对响应报文发出的查询报文,图3E为这个查询报文的示意图;第3个Packet为仿冒主机针对查询报文发出的响应报文,图3F为这个响应报文的示意图,图3F与图3C一致。EthernetBroadcast为以太网广播,D-Link为设备商的标识,Summary为摘要。第一主机在得到图4A所示的报文列表后,统计列表中存在的ARP Response报文的个数为2,则确定存在仿冒主机,进一步的,还可确定仿冒主机的数量为1。
在实际应用中,由于一些特殊原因,报文不能正常的收发,这样就可能导致图2所示的实施方式的结果未必十分准确。为此,本发明还考虑了使用容错手段,即多次实施图2所示的实施方式,在达到一定条件后,统计确定存在仿冒主机的次数,以此作为确定存在仿冒主机的依据。
现在结合图5,对本发明提供的另一种方法进行说明。
如图5所示,在步骤S501中,第一主机每隔一段时间后发出检测报文。
发出检测报文的间隔时间可以相同,也可以不相同,还可以根据实际应用调整。检测报文的形式如图3A所示,每次发出的报文的Sender HardwareAddr和/或Sender Internet Addr可以互不相同,但最好保证是局域网中不存在的MAC地址和/或IP地址,Target Internet Addr最好都是网络设备的IP地址。
第一主机每次发出检测报文后,后续流程与图2所示的实施方式相同,即检测报文不会到达局域网中,只有第一主机会响应这个报文,响应报文可以到达局域网中,只有仿冒主机会针对响应报文发出查询报文,而这个查询报文也只有仿冒主机才会响应,仿冒主机发出的响应报文到达局域网中后,第一主机会接收这个响应报文,由此可初步确定存在仿冒主机。但是,这个确定只是初步的结论,还需要多次重复上述过程,由此进入步骤S502。
进入步骤S502,如果确定存在仿冒主机的次数达到仿冒确认门限时,则确定存在仿冒主机。
仿冒确认门限也可根据实际应用确定,例如,规定仿冒确认门限为确定存在仿冒主机的次数为3,即如果第一主机确认存在仿冒主机的次数为3,则完全可以断定局域网中确实存在与自己的MAC地址和IP地址完全一致的主机。在实际应用中,由于报文转发、处理的异常等原因,第一主机可能不会连续多次确认存在仿冒主机,而是确定仿冒主机存在和不存在的情况交替出现,另外,步骤S502还可以进一步限定为在统计时间到达时,如果确定存在仿冒主机的次数达到仿冒确认门限时,则确定存在仿冒主机。
统计时间也可以根据实际应用确定和调整。例如,如果统计时间为60秒,则第一主机第一次发出检测报文后的60秒到达时,则统计确定存在仿冒主机的次数,如果次数不小于仿冒统计门限,则确定局域网中确实存在与自己的MAC地址和IP地址完全一致的主机。第一主机在这次统计结束后,还可继续检测是否存在仿冒主机,统计时间可以继续确定为60秒,还可以进行调整。
此外,步骤S502还可以进一步限定为如果发出检测报文的次数达到次数统计门限且确定存在仿冒主机的次数达到仿冒确认门限时,则确定存在仿冒主机。
次数统计门限可以根据实际应用确定和调整。例如,次数统计门限为10次,则第一主机在第10次发出检测报文后,统计确定存在仿冒主机的次数,如果次数不小于仿冒统计门限,则确定局域网中确实存在与自己的MAC地址和IP地址完全一致的主机。第一主机在这次统计结束后,还可继续检测是否存在仿冒主机,次数统计门限可以继续确定为10次,还可以进行调整。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种局域网中确定是否存在仿冒的网络设备的方法,其特征在于包括网络设备发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文,则确定存在仿冒的网络设备。
2.如权利要求1所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于所述检测报文为地址解析协议ARP报文,在所述ARP报文中,发送者硬件地址及互联网地址为局域网中不存在的硬件地址及互联网地址。
3.如权利要求2所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于在所述ARP报文中,目标互联网地址与所述网络设备的互联网地址相同。
4.如权利要求1所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于所述网络设备发出检测报文后,响应所述检测报文。
5.如权利要求1所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于所述网络设备通过使用网络嗅探器从网络适配器中收集所有的ARP报文,确定所述响应报文的个数。
6.如权利要求1、4或5所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于当所述网络设备为使用Windows XP操作系统的计算机且局域网中其他的计算机使用Windows XP操作系统时,如果所述计算机中存在m个响应报文,则确定存在m-1个仿冒的计算机,其中,m为不小于2的正整数。
7.如权利要求4所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于还包括每个仿冒的网络设备收到响应所述检测报文的响应报文后,发出查询报文并响应所述查询报文。
8.如权利要求1所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于所述仿冒的网络设备是指与所述网络设备的硬件地址及互联网地址分别相同的网络设备。
9.一种局域网中确定是否存在仿冒的网络设备的方法,其特征在于包括网络设备多次发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文的次数大于仿冒确认门限,则确定存在仿冒的网络设备。
10.如权利要求9所述的局域网中确定是否存在仿冒的网络设备的方法,其特征在于所述检测报文为地址解析协议ARP报文,在所述ARP报文中,发送者硬件地址及互联网地址为局域网中不存在的硬件地址及互联网地址,目标互联网地址与所述网络设备的互联网地址相同。
全文摘要
本发明提供了一种局域网中确定是否存在仿冒的网络设备的方法,包括网络设备发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文,则确定存在仿冒的网络设备。本发明还提供了一种局域网中确定是否存在仿冒的网络设备的方法,包括网络设备多次发出检测报文;如果所述网络设备中存在针对所述检测报文的至少两个响应报文的次数大于仿冒确认门限,则确定存在仿冒的网络设备。
文档编号H04L12/24GK1878056SQ200610098830
公开日2006年12月13日 申请日期2006年7月13日 优先权日2006年7月13日
发明者杜凤山 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1