CN100407635C - 在网络中高效查找网络设备地址的方法 - Google Patents
在网络中高效查找网络设备地址的方法 Download PDFInfo
- Publication number
- CN100407635C CN100407635C CN031561853A CN03156185A CN100407635C CN 100407635 C CN100407635 C CN 100407635C CN 031561853 A CN031561853 A CN 031561853A CN 03156185 A CN03156185 A CN 03156185A CN 100407635 C CN100407635 C CN 100407635C
- Authority
- CN
- China
- Prior art keywords
- address
- searched
- subnet
- gateway
- mac address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种在网络中快速、高效地查找网络设备地址的方法。该方法包括:1)对被查找地址执行Traceroute操作,根据操作结果获取该被查找地址的网关地址;2)根据获取的所述被查找地址的网关地址,获取所述被查找地址对应的MAC地址;3)获取被查找地址对应的子网内所有交换机的地址清单;4)启动多线程,在获取的所述地址清单中查找在步骤2)中所获取的MAC地址,并输出查找结果。本发明可以减轻管理员的操作负荷,实现迅速、准确的地址查找,并且可容易地定位故障设备和非法用户,可以在大中型网络中实现。
Description
发明领域
本发明涉及网络安全技术,特别涉及快速查找网络中设备的IP地址(网络层地址)和MAC地址(链路层地址)的方法。
背景技术
在计算机网络中,每个通讯设备(如路由器、交换机等)与用户设备(如服务器、个人电脑、打印机等)都有一个标识,用来唯一的代表该节点。在TCP/IP(传输控制协议/互联网协议)网络中,用IP地址或MAC地址标识一个通讯设备与用户设备。一般用户设备都具有IP地址与MAC地址,通讯设备都具有MAC地址,有或没有IP地址。TCP/IP网络可以根据IP地址范围分成多个子网。多个子网间的数据转发通过至少一个路由器或具备路由器转发功能的通讯设备担当网关(进行网络层的转发)来进行。
为了能够使网络中的用户设备进行数据交换,通讯设备会收集与其相连的用户设备及其它通讯设备的IP与MAC地址,并使用某种协议告知相邻的通讯设备。这样每个通讯设备都会保留一个最新的列表信息(称为转发表),列表的每一项含有一个目的地址与数据转发的下一跳地址。当一个设备发送数据时,首先发送到与其相连的第一个通讯设备,通讯设备根据保留的列表信息,发送到下一跳地址,如下一跳仍是通讯设备,会继续转发,直到发送到目的地址。
对于路由器设备的转发表,其目的地址与下一跳地址都是IP地址。同时路由器还有一个地址转换表,是IP地址与MAC地址的映射。对于交换机设备的转发表,目的地址由MAC地址组成,下一跳由端口组成。
近年来,随着网络信息技术的飞速发展,网络安全的两个问题尤为令人关注。
一个是故障诊断。面对日益复杂庞大的网络,一旦出现故障,不仅内部网络维护人员无法及时精确地定位,就是专业的网络工程师,仅仅依赖过去的经验,也不能再胜任。
一个是信息安全。网络提供了信息共享的最佳平台,同时也对信息安全带来前所未有的潜在威胁。许多机构购买了昂贵的防火墙或其他防卫软件,但即使如此,也无法100%保证重要数据的安全。
因此,借助高效率的工具,快速地定位故障源和查找非法用户,以便采取及时的恢复与封锁措施,是解决上述问题的核心所在。故障源与用户都以通讯设备或终端设备的形式存在,因此可以用其IP地址或MAC地址来标识。
目前的查找地址方式,一般有两种:
一种是通过telnet(远程登录程序)登录到通讯设备。
在查找一个IP地址时,首先通过执行Traceroute操作(通过该操作可以了解IP数据报从一台主机传送到另一台主机所经过的路由),找到该IP的第一跳网关,然后使用telnet登录到该网关,使用路由器的命令查看地址转换表,找到该IP对应的网关上的接口与MAC地址。如果该IP所在的子网存在多个交换机,则需要使用telnet命令逐个登录到每个交换机,查看其转发表,找到MAC地址对应的端口。如果在多个交换机上都发现了这个MAC地址,还需要根据其他相关信息识别是否为边缘端口。
在查找MAC地址时,如果知道其子网,则需要使用telnet命令逐个登录到每个交换机,查看其转发表,找到MAC地址对应的端口。如果不知道其子网,则需要登录到网络中每个设备上进行查看。在稍大规模网络(例如通讯设备大于20台的网络),以手工方式进行上述处理基本上是不可实现的。
另一种方法是通过支持SNMP(简单网络管理协议)的网管工具,如MIBBROWSER、CISCO WORKS2000、HP OPENVIEW,来查看设备的MIB(管理信息库)信息。
在查找一个IP地址时,首先手工执行Traceroute工具, 找到该IP的第一跳网关,然后在网管的网络拓扑图中找到该设备,查看该网关的atTable表(RFC1213定义),找到该IP对应的网关上的接口与MAC地址。如果该IP所在的子网存在多个交换机,则需要从网管上逐个查看该子网每个交换机的dotldTpFdbTable(RFC 1493定义),找到MAC地址对应的端口。如果在多个交换机上都发现了这个MAC地址,还需要根据其他相关信息识别是否为边缘端口。
在查找MAC地址时,如果知道其子网,则直接在网管的网络拓扑图上逐个查看该子网的交换机的dotldTpFdbTable(RFC 1493定义)。如果不知道其子网,则需要查看网络中每个交换机。在稍大规模网络(例如通讯设备大于20台的网络),手工处理基本上是不可实现的。
上述两种现有技术的查找地址的方法的缺点是:
1、对管理员要求高,查找工作繁重,查找周期长且效率低;
2、由于转发表的信息是动态变化的,很可能在一次既定查找中无法找到,成功的概率不高;
3、由于查找周期长,在未能定位前,信息可能已经在通讯设备中消失,难以定位非法用户。
4、由于在规模较大的网络中,一般实行划区维护,每个管理员只有自己负责部分设备的telnet口令,因此如网关等设备不由该管理员负责,则无法实施该方案。
由于上述原因,在大型网络中,现有技术的地址查找方法基本无法实施。
发明内容
针对现有技术所存在的上述缺陷,本发明的目的就是提供一种查找设备(包括通讯设备和用户设备)地址的方法,能够在TCP/IP网络中快速、高效地查找一个或多个给定的IP或MAC地址,并定位到与其相连的最边缘的通讯设备的具体端口。另外,本发明的目的还要使上述方法能够减轻管理员的工作负荷、并可使管理员不受划区和telnet口令的影响。再有,本发明的目的还要使上述方法能够提供实时查找等快捷的辅助功能,对故障设备和非法用户进行标记与封锁处理。
为了实现本发明的上述目的,本发明的查找网络设备地址的方法包括:
1)对被查找地址执行Traceroute操作,根据操作结果获取该被查找地址的网关地址;2)根据获取的所述被查找地址的网关地址,获取所述被查找地址对应的MAC地址;3)获取被查找地址对应的子网内所有交换机的地址清单;4)根据所述地址清单中的设备个数,将所述地址清单中的设备分成多组,启动多线程在所述分组中查找在步骤2)中所获取的MAC地址。
在本发明的一个实施方案中,所述被查找地址是由用户输入的地址,或由用户的安全检测系统传送的非法地址。所述被查找地址可以是MAC地址,也可以是IP地址。当所述安全检测系统传送来非法的MAC地址或IP地址时,立即进行对该地址的查找。
在本发明的一个实施方案中,当所述被查找地址是MAC地址时,上述方法中步骤1)还包括获取与被查找的MAC地址对应的IP地址的步骤10)。
在本发明的上述实施方案中,获取与被查找的MAC地址对应的IP地址的步骤10)包括:10-1)发送发起查找的网管计算机所在子网的广播报文,等待终端设备响应其IP地址与MAC地址对,并根据被查找的MAC地址找到对应IP地址。这样在终端设备与网管计算机在同一子网时,可以快速获取其IP地址;10-2)如果在步骤10-1)中没有找到,则遍历网络拓扑中所有网关的atTable表,如果遍历完毕后仍未找到,则结束查找;10-3)使用SNMP协议到该网关的atTable表中找到被查找MAC地址对应的IP地址,如果查找到的IP地址与输入的网关地址相同,或者没有任何信息(某些厂商设备不保留自身ARP信息),或者没有收到响应报文(在对应终端设备不支持SNMP协议的情况下),则判断此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程,否则以查找到的IP地址为新的网关地址,重复执行该步骤10-3);或者采用如下步骤:10-1’)由用户直接输入该被查找MAC地址的已知直接网关或间接网关的地址;10-2’)使用SNMP协议到该网关的atTable表中找到该MAC地址对应的IP地址,如果没找到任何对应的IP地址,则判断为输入网关地址不对,结束查找。10-3’)使用SNMP协议到该网关的atTable表中找到该MAC地址对应的IP地址,如果查找到的IP地址与输入的网关地址相同,或者没有任何信息(某些厂商设备不保留自身ARP信息),或者没有收到响应报文(在对应终端设备不支持SNMP协议的情况下),则认为此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程,否则以查找到的IP地址为新的网关地址,重复执行步骤10-3’)。
在本发明的一个实施方案中,上述步骤1)包括:1-1)如果网管计算机与被查找地址所标识的终端设备不在同一子网,1-1-1)取其倒数第二跳的IP地址做为被查找地址的直连网关地址;1-1-2)从该网关的ipAddrTable表中获取被查找地址所在子网的掩码;和1-2)如果网管计算机与该被查找地址标识在同一子网,则从网管计算机的ipAddrTable表中获取信息来计算子网地址B。此时,计算的策略如下:用ipAddrTable表中每一条记录的掩码ipAdEntNetMask和地址ipAdEntAddr进行位与的结果与将每一条记录的掩码ipAdEntNetMask和IP地址A进行位与的结果比较,如相同则说明ipAdEntNetMask是被查找地址所在子网的掩码,同时位与的结果作为该所在子网的地址。
在本发明的一个实施方案中,上述步骤2)包括:2-1)如果网管计算机与被查找地址所标识的终端设备不在同一子网,则对被查找地址进行ping操作,以便在被查找地址的报文所通过的通讯设备的转发表中产生信息,然后使用SNMP协议访问被查找地址所在网关的atTable表,获取对应的MAC地址;2-2)如果网管计算机与该被查找地址标识在同一子网,则从网管计算机的atTable表中获取被查找地址对应的MAC地址,或者直接使用操作系统的系统函数来获取对应的MAC地址(当网管计算机不支持SNMP协议时)。
在本发明的一个实施方案中,上述步骤3)包括:3-1)如果网管计算机有网络拓扑,则从数据库中获取被查找地址所在子网内所有交换机设备的清单;3-2)如果没有网络拓扑,则通过以下算法生成所述清单:3-2-1)如果网管计算机与该被查找地址标识在不同一子网,向所述子网发送一个广播报文,然后在网关的atTable中查找所有IP地址在所述子网内的设备;3-2-2)如果网管计算机与该被查找地址标识在同一子网,向所述子网发送一个广播报文,然后从网管计算机自身的atTable表获取,或者直接使用操作系统的系统函数来获取(当网管计算机不支持SNMP协议时)。。
在上述方法中,通过判断是否满足如下条件,来确定一个IP地址X是否属于一个子网:
子网地址&子网掩码<IP地址X<子网地址|(~子网掩码)
其中地址与掩码都转换为其16进制的数字表示。&表示位与操作,|表示或操作,~表示进行按位取非的操作。
在本发明的一个实施方案中,上述步骤4)包括:4-1)根据所述清单中的设备个数,将这些设备随机地等分成n组;4-2)启动n个线程进行对应分组的查找;4-3)每个线程逐个访问对应分组中设备的dotldTpFdbTable表,查找是否有所述被查找地址对应的MAC地址;4-4)在找到一个符合要求的MAC地址后,判断其是否为边缘端口,如是则立即输出结果。在上述方法中,在访问对应分组中设备的dotldTpFdbTable表之前先进行一次ping操作。
在本发明的一个实施方案中,上述查找方法通过计算机完成,并且还可以包括如下步骤:5)通过对设备进行如下配置来即时标记与禁止非法端口:
i)标记:修改端口别名。
ii)禁止非法端口:将端口管理状态修改为down,关闭该接口。
在本发明的一个实施方案中,还可以包括如下步骤:6)通过指定下面的任务参数将查找程序作为后台任务:
i)要查找的IP地址;
ii)任务的开始时间和终止时间;
iii)任务的执行间隔。
本发明可以取得如下的有益效果:
1、降低对管理员的专业技术要求,减轻操作负荷;
2、查找迅速、准确,成功概率高;
3、可容易地定位故障设备和非法用户。
4、克服了管理区域和telnet口令对管理员的限制,可以在大范围的系统中实现本发明的方法。
附图说明
图1是说明根据本发明一实施方案的对网络设备进行IP地址查找的方法流程图;
图2显示了根据本发明上述实施方案的图形化用户界面(GUI);
图3显示了一个网关的ipAddrTable表的内容;
图4显示了根据本发明一实施方案的用于查找MAC地址的图形化用户界面。
具体实施方式
下面结合图1-4说明本发明的优选实施方案。
一、IP地址查找
图2显示了本发明一实施方案的进行IP地址查找的过程。在该实施方案中,采用了由用户输入要查找的IP地址或MAC地址的方法,以减轻管理员的工作负荷,并简化操作。例如,首先由用户启动图形化界面(GUI),如图2所示,从中输入要查找的IP地址A(步骤S1)。
在本发明的设计中,将几个最耗时的步骤过程利用计算机执行特定的优化算法来完成。在此处,由程序对用户输入的IP地址A执行Traceroute操作以快速定位子网。Traceroute程序可用于获知IP数据报从一台主机传到另一台主机所经过的路由。此路径不一定是唯一的。根据网络的响应情况,该步骤执行过程的完成时间可在数秒到数分钟之间。操作完成后,根据返回的信息解析出网关地址B1(步骤S2)。此时可能有两种情况:
1、如果根据返回的信息判断网管计算机与该IP地址A所标识的终端设备不在同一子网,则取其倒数第二跳的IP地址做为IP地址A的直连网关地址B1。从该网关的ipAddrTable(RFC1213定义)表中获取IP地址A所在子网的掩码B2(倒数第一跳为要查找的IP地址A)。计算的策略如下:用ipAddrTable中每一条记录的掩码ipAdEntNetMask和地址ipAdEntAddr进行位与的结果与将每一条记录的掩码ipAdEntNetMask和IP地址A进行位与的结果比较,如相同则说明ipAdEntNetMask是该IP地址A所在子网的掩码,同时位与的结果作为所在子网B的地址。图3显示了某网关的ipAddrTable表的内容。
2、如果根据返回的信息判断网管计算机与该IP地址A标识的终端设备在同一子网(只有一跳),则从网管计算机的ipAddrTable表中获取信息计算子网地址B,算法同上。如果网管计算机不支持SNMP协议时,可以直接使用操作系统的系统函数获取本地地址与掩码计算出子网地址B。然后直接跳到步骤S4。
支持SNMP协议的有SUN Solaris、HPUX,IBM AIX、WINDOWS2000/NT等操作系统。
对于熟悉TCP/IP网络的工作原理的用户,也可以直接输入网关地址,可以进一步加快查找效率。
如果网管计算机与该IP地址A所标识的终端设备不在同一子网,则进行ping(ping为测试从源地址到目的地址连通性的程序)操作(步骤S3),以便在IP地址A通过的通讯设备转发表中产生信息。然后使用SNMP协议访问网关B的atTable表(RFC1213定义),获取IP地址A对应的MAC地址C。然后跳到步骤S5。
如果网管计算机与该IP地址A所标识的终端设备在同一子网,则从网管计算机的atTable表中获取IP地址A对应的MAC地址C(步骤S4)。如果网管计算机不支持SNMP协议,也可以直接使用操作系统的系统函数来获取对应的MAC地址C。
如果网管计算机有网络拓扑,则从数据库中获取子网B内所有交换机设备的清单D。如果没有网络拓扑,则通过以下算法生成清单D(步骤S5):
向子网B发送一个广播报文,然后在网关C的atTable中查找所有IP地址在子网B内的设备。如是没有网关的情况,则从网管计算机自身的atTable获取,该情况对应于网管计算机与被查地址在同一子网中的情况。决定一个IP地址X是否属于一个子网,可判断其是否满足如下条件:
子网地址&子网掩码<IP地址X<子网地址|(~子网掩码)
其中地址与掩码都转换为其16进制的数字表示。
例如对于地址192.1.1.2和子网192.1.1.0/255.255.255.0,用16进制计算:
1 92.1.1.0&255.255.255.0=C0010100
192.1.1.2=C0010102
192.1.1.0&|(~255.255.255.0)=C001010FF,满足:
C0010100<C0010102<C00101FF
因此地址192.1.1.2属于子网192.1.1.0/255.255.255.0。
然后,根据清单中的设备个数,将这些设备随机地等分成n组,并启动n个线程进行对应分组的查找(步骤S6)。采用随机分组的算法是为了保证每个线程查找成功的概率相同,使得查找时间最优化。在一个实施例中,线程的个数是根据设备个数自动生成的,5个设备为一组。线程个数的缺省最大为50个。另外,如果网络特别大,用户可以调整该参数。
每个线程逐个访问对应分组中设备的dotldTpFdbTable表(RFC1493定义),查找是否有MAC地址C。根据本发明的一种优选方案,在访问前可先进行一次ping操作,以保证被查找的MAC地址C不会因为信息老化而从访问的设备中清除。
线程在找到一个符合要求(即与步骤S2所查找的MAC地址相同)的MAC地址后,判断其是否为边缘端口,如不是边缘端口则放弃该记录,继续进行查找。如是边缘端口,则立即返回用户界面显示该MAC地址所连接的交换机的名称和交换机端口等信息。而线程还将继续进行查找。
在本发明中,用户可以自行中断查找过程。因为查找过程并不因为查找到了若干结果而中止,因此如果用户认为真正的边缘端口已经显示,或出于其他目的,可以随时中止查找过程。
如果查找结果中没有发现任何边缘端口,例如在组网不合理的情况下,则列出所有符合条件的MAC地址相关信息的记录。
需要说明的是,是否为边缘端口的条件在不同的网络环境中定义不相同,因此这一个条件的具体逻辑可以自由定义。例如在一个使用VLAN结构组成的网络中,端口VLAN类型为access(只允许一个VLAN通过)的为边缘端口,VLAN类型为trunk(允许多个VLAN通过)的为连接通讯设备的主干端口。如果没有指定这个条件,则查找线程就不能确定是否为边缘端口,此时会得出没有发现任何边缘端口的结果,如上所述,将把所有找到的符合条件的MAC地址相关记录显示在界面上(步骤S7、8)。
如果显示了多条符合条件的记录,用户需要根据查找结果提供的信息,判断哪个才是真正的边缘端口。查找的结果提供以下信息:
设备名称:对于MIB节点sysName(RFC1213定义)。
设备位置:对于MIB节点sysLocation(RFC1213定义)。
设备管理员:对于MIB节点sysContact(RFC1213定义)。
端口描述:对于MIB节点ifDescr(RFC1213定义)。
端口管理状态:对于MIB节点ifAdminStatus(RFC1213定义)。
端口别名:对于MIB节点ifAlias(RFC2233定义)。
端口类型:可以是公有实现或者任意一种私有实现。如上所述,例如将端口分为access、trunk、hybrid(trunk方式的增强模式)三种工作模式,其中第一种模式应用于边缘端口。这样,可以根据端口VLAN类型来判断,当多条符合条件的记录中有一条的端口类型为access时,则判断该记录对应的端口为边缘端口。
也可以根据端口在STP协议(生成树协议)中所处的位置来判断边缘端口。这种判断边缘端口实现方案是组网时把交换机所有的端口都配置为STP边缘端口。在STP协议运行时,如果发现某端口实际上不是边缘端口,则自动将该端口设置为非边缘端口。这样以后查找时发现的STP边缘端口就是网络边缘的端口。
至此,整个查找完成。由上面的说明可以看出,本发明的方法既保证了及时显示查找结果,也保证了在网络结构复杂情况下能够避免错误信息的存在干扰查找过程的继续。
根据本发明的优选实施方案,为了提高查找的有效性与及时性,还可以采用如下的方法。
1)在查找程序中提供简单的配置功能,可以由用户通过配置来即时标记与禁止非法端口(步骤S10)。具体地说,用户可通过对设备的下面信息进行配置来实现上述功能:
标记:修改端口别名。
禁止非法端口:修改端口管理状态为down,关闭该接口。
2)将查找程序作为后台任务来定义,从而实现24小时在线监视受控地址。通过指定下面的任务参数即可:
1、要查找的IP地址(可以是一个列表)
2、任务的开始时间、终止时间
3、任务的执行间隔
3)将查找程序与用户的安全检测系统结合。在用户的安全检测系统发现非法地址后,立即启动查找程序,并把非法地址做为参数传递到查找程序。从而实现了实时查找。
此外,为了避免设备学习到的信息丢失,可以在每次发起查找或获取请求之前,都主动发送一个ping报文,以增强查找的可靠性。
二、MAC地址查找
查找MAC地址的过程基本与IP地址类似,不同点在于,在查找MAC地址之前,首先要获取其对应IP地址,以确定该MAC地址所在的子网,否则后续的查找范围太大,无法有效地进行查找。以后的过程就是按上述查找IP地址的方法来查找该对应的IP地址。
根据本发明的一实施例,可采用自动方法来获取要查找的MAC地址所对应的IP地址。具体方法是:
1)发送网管计算机所在子网的广播报文,等待终端设备响应其IP地址与MAC地址对,并根据被查找的MAC地址找到对应IP地址。
2)如果在上面的步骤1)中没有找到,则遍历网络拓扑中所有网关的atTable表,如果遍历完毕后仍未找到,则结束查找(查找失败)。
3)使用SNMP协议到上述该网关的atTable表中找到MAC地址对应的IP地址,如果查找到的IP地址与所输入的网关地址相同,或者没有对应信息(某些厂商设备不保留自身ARP信息),或者没有响应(不支持SNMP协议),则认为此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程。否则使用找到的IP地址做为新的网关地址,重复执行该步骤3)。
根据本发明的另一实施例,也可以采用手工方法来获取要查找的MAC地址所对应的IP地址。具体方法是:
1’)如果用户知道该地址的直接网关或间接网关,则直接输入该网关地址。
2’)使用SNMP协议到该网关的atTable表中查找到对应的IP地址,如果第一次就在网关的atTable表没有找到对应IP地址,说明指定网关不对,则结束查找(查找失败)。
3’)如果查找到的IP地址与所输入的网关地址相同,或者没有对应信息(在某些厂商设备不保留自身ARP信息的情况下),或者没有响应(在不支持SNMP协议的情况下),则认为此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程。否则使用找到的IP地址做为新的网关地址,重复执行步骤3’)。
此外,根据本发明的又一实施例,也可以将上述的自动方法与手工方法相结合。首先使用手工方法来获取所查找MAC地址的IP地址。如不能成功,再使用自动方法荻取。这样可以结合两种方法的优点,提高有效性与效率。查找MAC地址的用户界面图如图3所示。
在查找到对应的IP地址后,可以省略上述查找IP地址的方法中步骤S3查找该IP地址对应的MAC地址的过程(因为MAC地址是已知的)而直接执行后续的步骤。当然,在具体实施本发明时,为避免在设计程序时再设置判断分支确定是否要进行MAC地址查找,也可以选择不省略步骤S3,因为这一步操作速度非常快。
综上所述,本发明的特点是:
1、应用traceroute技术,快速定位子网。
2、应用发送发起查找的网管计算机所在子网的广播报文,快速查找MAC地址对应的IP地址。
3、提供图形化界面,用户只需要提供要查找的IP地址或MAC地址,查找全流程都由软件编码完成。简单方便,极大地降低了技术门槛。
4、允许用户可选地提供网关信息,这样用户如果已有一些基本的定位信息,可以进一步提高效率。
5、采用计算机编码处理,可以做到精确无误,免除人为判断失误的干扰。
6、使用多线程机制,可以在非常短的时间内完成操作,避免信息在查到之前消失。
7、采用预订任务的方法, 可以设定在24小时内的任意时间,以任意频率执行查找,提高对无规律、发生时间短的故障源或非法用户的查找能力。
8、如果与安全检测系统结合,在发现非法信息时,立即启动,则能实现实时查找,大大提高查找的有效性与及时性。
以上对本发明各种实施方案的描述只是为了使本领域技术人员更好地理解本发明的实质,而非对本发明加以限定。因此,不偏离本发明思想的对本发明技术方案的各种改型将落入本发明权利要求所限定的范围内。
Claims (11)
1.在网络中查找网络设备地址的方法,其特征在于包括如下步骤:
1)对被查找地址执行Traceroute操作,根据操作结果获取该被查找地址的网关地址;
2)根据获取的所述被查找地址的网关地址,获取所述被查找地址对应的MAC地址;
3)获取被查找地址对应的子网内所有交换机的地址清单;
4)根据所述地址清单中的设备个数,将所述地址清单中的设备分成多组,启动多线程在所述分组中查找在步骤2)中所获取的MAC地址。
2.根据权利要求1所述的方法,其特征在于,所述被查找地址是由用户输入的MAC地址或IP地址,或由安全检测系统传送的非法MAC地址或IP地址,并且当所述安全检测系统传送来非法的MAC地址或IP地址时,立即进行对该地址的查找。
3.根据权利要求1所述的方法,其特征在于,当所述被查找地址是MAC地址时,所述步骤1)还包括获取与被查找的MAC地址对应的IP地址的步骤10),所述步骤10)包括:
10-1)发送发起查找的网管计算机所在子网的广播报文,等待终端设备响应其IP地址与MAC地址对,并根据被查找的MAC地址找到对应IP地址;
10-2)如果在步骤10-1)中没有找到,则遍历网络拓扑中所有网关的atTable表,如果遍历完毕后仍未找到,则结束查找;
10-3)使用SNMP协议到该网关的atTable表中找到被查找MAC地址对应的IP地址,如果查找到的IP地址与输入的网关地址相同,或者没有任何信息,或者没有收到响应报文,则判断此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程,否则以查找到的IP地址为新的网关地址,重复执行该步骤10-3),
或者采用如下步骤:
10-1’)由用户直接输入该被查找MAC地址的已知直接网关或间接网关的地址;
10-2’)使用SNMP协议到该网关的atTable表中找到该MAC地址对应的IP地址,如果没找到任何对应的IP地址,则判断为输入网关地址不对,结束查找;
10-3’)如果查找到的IP地址与所输入的网关地址相同,或者没有任何信息,或者没有收到响应报文,则认为此地址即是与所查找的MAC地址对应的IP地址,结束IP地址获取过程,否则以查找到的IP地址为新的网关地址,重复执行步骤10-3’)。
4.根据权利要求1所述的方法,其特征在于所述步骤1)包括:
1-1)若网管计算机与被查找地址所标识的终端设备不在同一子网,则
1-1-1)取其倒数第二跳的IP地址做为被查找地址的直连网关地址;
1-1-2)从该网关的ipAddrTable表中获取被查找地址所在子网的掩码;和
1-2)若网管计算机与该被查找地址标识在同一子网,则从网管计算机的ipAddrTable表中获取信息来计算子网地址;或者直接使用操作系统的系统函数获取本地地址与掩码计算出子网地址,
其中,所述计算方法:
用所述ipAddrTable表中每一条记录的掩码ipAdEntNetMask和地址ipAdEntAddr进行位与的结果与每一条记录的掩码ipAdEntNetMask和IP地址A进行位与的结果比较,如相同则说明该ipAdEntNetMask是被查找地址所在子网的掩码,同时将所述位与的结果作为该所在子网的地址。
5.根据权利要求2所述的方法,其特征在于,所述步骤2)包括:
2-1)如果网管计算机与该IP地址标识的终端设备不在同一子网,则对被查找地址进行ping操作,以便在被查找地址的报文所通过的通讯设备的转发表中产生信息,然后使用SNMP协议访问被查找地址所在网关的atTable表,获取对应的MAC地址;
2-2)如果网管计算机与该IP地址标识的终端设备在同一子网,则从网管计算机的atTable表中获取被查找地址对应的MAC地址;或者直接使用操作系统的系统函数来获取对应的MAC地址。
6.根据权利要求2所述的方法,其特征在于,所述步骤3)包括:
3-1)如果网管计算机有网络拓扑,则从数据库中获取被查找地址所在子网内所有交换机设备的清单;
3-2)如果没有网络拓扑,则通过以下算法生成所述清单:
3-2-1)如果网管计算机与该IP地址标识的终端设备不在同一子网,向所述子网发送一个广播报文,然后在网关的atTable中查找所有IP地址在所述子网内的设备;
3-2-2)如果网管计算机与该IP地址标识的终端设备在同一子网,则从网管计算机自身的atTable表获取;或者直接使用操作系统的系统函数来获取子网内的地址清单。
7.根据权利要求1所述的方法,其特征在于,通过判断是否满足如下条件,来确定一个IP地址X是否属于一个子网:
子网地址&子网掩码<IP地址X<子网地址|(~子网掩码)
其中地址与掩码都转换为其16进制的数字表示;
&表示位与操作,|表示位或操作,~表示进行按位取非的操作。
8.根据权利要求1所述的方法,其特征在于,所述步骤4)包括:
4-1)根据所述清单中的设备个数,将这些设备随机地等分成多组;
4-2)启动与所述多个组相应的多个线程进行对应分组的查找;
4-3)每个线程逐个访问对应分组中设备的dotldTpFdbTable表,查找是否有所述被查找地址对应的MAC地址;
4-4)在找到一个符合要求的MAC地址后,判断其是否为边缘端口,如是则立即输出该MAC地址的相关信息,该信息包括所连接的交换机的名称和交换机端口信息。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述查找方法通过计算机程序完成,并且进一步包括如下步骤:
5)通过对设备进行如下配置来即时标记与禁止非法端口:
i)标记:修改端口别名;
ii)禁止非法端口:将端口管理状态修改为down,关闭该接口。
10.根据权利要求1至8任一项所述的方法,其特征在于,进一步包括如下步骤:
6)通过指定下面的任务参数将查找程序作为后台任务,实现不受时间限制的自动查找:
i)要查找的IP地址;
ii)任务的开始时间和终止时间;
iii)任务的执行间隔。
11.根据权利要求1至8任一项所述的方法,其特征在于,每次发起查找或获取请求之前先发送一个ping报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN031561853A CN100407635C (zh) | 2003-09-04 | 2003-09-04 | 在网络中高效查找网络设备地址的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN031561853A CN100407635C (zh) | 2003-09-04 | 2003-09-04 | 在网络中高效查找网络设备地址的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1592216A CN1592216A (zh) | 2005-03-09 |
CN100407635C true CN100407635C (zh) | 2008-07-30 |
Family
ID=34598334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN031561853A Expired - Fee Related CN100407635C (zh) | 2003-09-04 | 2003-09-04 | 在网络中高效查找网络设备地址的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100407635C (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335689B (zh) * | 2007-06-26 | 2011-11-02 | 华为技术有限公司 | 跟踪路由的实现方法及设备 |
CN101330463B (zh) * | 2008-06-25 | 2011-05-04 | 杭州华三通信技术有限公司 | 异常报文接入点的定位方法和设备 |
CN101330409B (zh) * | 2008-08-01 | 2010-11-10 | 杭州华三通信技术有限公司 | 一种检测网络漏洞的方法和系统 |
CN102821047B (zh) * | 2012-07-30 | 2015-06-03 | 华为技术有限公司 | 网络中建立对应关系的方法、网络设备及系统 |
CN103780429B (zh) * | 2014-01-20 | 2017-12-08 | 浙江宇视科技有限公司 | 一种调整交换机接口工作速率的方法和装置 |
CN104010048B (zh) * | 2014-03-18 | 2018-09-11 | 秦超 | 用于ip地址管理的设备和方法 |
CN105049243A (zh) * | 2015-06-30 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种用户mac定位方法、系统及服务器 |
CN108628962A (zh) * | 2018-04-17 | 2018-10-09 | 四川斐讯信息技术有限公司 | 一种查找目标智能终端的方法及系统 |
CN108833605A (zh) * | 2018-05-30 | 2018-11-16 | 四川斐讯信息技术有限公司 | 一种查看局域网所有设备ip和mac的方法及系统 |
CN111654388A (zh) * | 2020-04-03 | 2020-09-11 | 北京天地和兴科技有限公司 | 一种网络异常接入设备的定位方法 |
CN113162828B (zh) * | 2021-05-19 | 2023-04-07 | 中国工商银行股份有限公司 | 网络设备厂商信息异常检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1211843A1 (en) * | 2000-11-30 | 2002-06-05 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for automatic topology discovery |
KR20020043355A (ko) * | 2000-12-04 | 2002-06-10 | 오길록 | 통합지역관리 접속규격을 이용한 비동기전송방식 토폴로지자동구성 방법 |
CN1400775A (zh) * | 2001-08-01 | 2003-03-05 | 华为技术有限公司 | 网络拓扑结构的搜索方法 |
CN1434605A (zh) * | 2002-01-24 | 2003-08-06 | 英业达股份有限公司 | 用户实体位置识别的系统与方法 |
-
2003
- 2003-09-04 CN CN031561853A patent/CN100407635C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1211843A1 (en) * | 2000-11-30 | 2002-06-05 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for automatic topology discovery |
KR20020043355A (ko) * | 2000-12-04 | 2002-06-10 | 오길록 | 통합지역관리 접속규격을 이용한 비동기전송방식 토폴로지자동구성 방법 |
CN1400775A (zh) * | 2001-08-01 | 2003-03-05 | 华为技术有限公司 | 网络拓扑结构的搜索方法 |
CN1434605A (zh) * | 2002-01-24 | 2003-08-06 | 英业达股份有限公司 | 用户实体位置识别的系统与方法 |
Non-Patent Citations (6)
Title |
---|
军事网络拓扑搜索. 钟联炯等.火力与指挥控制,第28卷第2期. 2003 |
军事网络拓扑搜索. 钟联炯等.火力与指挥控制,第28卷第2期. 2003 * |
基于ICMP和SNMP的网络拓扑自动发现及显示. 钟升.学术论文. 2003 |
基于ICMP和SNMP的网络拓扑自动发现及显示. 钟升.学术论文. 2003 * |
基于SNMP和ICMP的拓扑自动发现算法的分析与实现. 曹晓梅,夏保胜,王能.河南大学学报(自然科学版),第33卷第1期. 2003 |
基于SNMP和ICMP的拓扑自动发现算法的分析与实现. 曹晓梅,夏保胜,王能.河南大学学报(自然科学版),第33卷第1期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN1592216A (zh) | 2005-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3996577B2 (ja) | 様々な発見技術の分割によるトポロジ発見 | |
Breitbart et al. | Topology discovery in heterogeneous IP networks: the NetInventory system | |
JP4523444B2 (ja) | 通信ネットワークにおける障害の原因を特定する障害管理装置および方法 | |
JP4598462B2 (ja) | L2−vpnサービスを提供するプロバイダ網、及びエッジルータ | |
CN105991334B (zh) | 一种网络拓扑自发现方法及装置 | |
CN100514918C (zh) | 一种ip主干网的拓扑发现方法 | |
JP6193473B2 (ja) | コンピュータ実施方法、コンピュータプログラム製品及びコンピュータ | |
CN100433645C (zh) | 网络设备的管理方法及网络管理系统 | |
CN102195857A (zh) | 一种网络拓扑结构与节点信息搜集方法 | |
EP2451125B1 (en) | Method and system for realizing network topology discovery | |
CN100407635C (zh) | 在网络中高效查找网络设备地址的方法 | |
JP2022547560A (ja) | データ処理方法及び装置並びにコンピュータ記憶媒体 | |
CN104579978B (zh) | 一种动态网络链路层拓扑发现方法 | |
CN105637806B (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
CN102143164A (zh) | 报文中继方法、装置及基站 | |
CN104506339A (zh) | 基于profinet的工业以太网网络拓扑管理实现方法 | |
CN108353027A (zh) | 一种用于检测端口故障的软件定义网络系统 | |
KR102092015B1 (ko) | 소프트웨어 정의 네트워크에서 네트워크 장비를 인식하는 방법, 장치 및 컴퓨터 프로그램 | |
Veselý et al. | First-hop Redundancy Protocols in Omnet++. | |
Zhou et al. | Discovery algorithm for network topology based on SNMP | |
Thaler et al. | An architecture for inter-domain troubleshooting | |
Polčák et al. | A new approach for detection of host identity in IPv6 networks | |
Ma et al. | An algorithm of physical network topology discovery in multi-VLANs | |
EP4322492A1 (en) | Identification of devices and their role in a communication network based on machine learning | |
US20040153572A1 (en) | Method of indicating a path in a computer network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080730 Termination date: 20150904 |
|
EXPY | Termination of patent right or utility model |