CN113132504A - 网络地址转换设备的识别方法、装置和计算机设备 - Google Patents
网络地址转换设备的识别方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113132504A CN113132504A CN201911424904.6A CN201911424904A CN113132504A CN 113132504 A CN113132504 A CN 113132504A CN 201911424904 A CN201911424904 A CN 201911424904A CN 113132504 A CN113132504 A CN 113132504A
- Authority
- CN
- China
- Prior art keywords
- data packet
- test
- test data
- target terminal
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种网络地址转换设备的识别方法,包括:监听发往目标终端的数据流。随机复制数据流中的至少一个数据包,以得到测试数据包。然后,重置测试数据包的存活时间并发送测试数据包,以使测试数据包在发送至目标终端后剩余存活时间为预定最小值。如果接收到由目标别终端针对测试数据包返回的超时报文,则确定目标终端为网络地址转换设备。本公开还提供了一种网络地址转换设备的识别装置和计算机设备。
Description
技术领域
本公开涉及一种网络地址转换设备的识别方法、装置和计算机设备。
背景技术
网络地址转换(Network Address Translation,NAT)技术在解决当前IP地址不足的问题的同时,也给网络管理和监控带来了一些不可避免的问题,比如多用户私自共享上网,甚至私自建立黑网络经营逃避监管等。这种无序的共享接入上网方式带来了诸多不利影响:例如降低了运营商的服务品质,网络接入基础建设费难以正常回收,运营商成本增加,用户流失,合法用户收到冲击,账号被盗用等情况。因此当前迫切希望能够对这种无序的网络状况进行管理控制,首先应当对网络中存在的网络地址转换设备进行识别。
发明内容
本公开的一个方面提供了一种网络地址转换设备的识别方法,包括:监听发往目标终端的数据流。在监听过程中,随机复制数据流中的至少一个数据包,以得到测试数据包。然后,重置测试数据包的存活时间并发送测试数据包,以使测试数据包发送至目标终端后剩余存活时间为预定最小值。如果接收到由目标终端针对测试数据包返回的超时报文,则确定目标终端为网络地址转换设备。
可选地,上述重置测试数据包的存活时间并发送测试数据包包括:循环执行测试操作直至满足循环结束条件。其中,测试操作包括:将测试数据包的存活时间修改为测试数值并发送测试数据包,测试数值逐次均匀递增。然后,在接收到针对测试数据包的超时报文、且该超时报文的源地址与目标终端的地址不同的情况下,执行下一次测试操作。在未接收到针对测试数据包的情况下,或者在接收到针对测试数据包的超时报文、且该超时报文的源地址与目标终端的地址相同的情况下,确定满足循环结束条件。
可选地,上述重置测试数据包的存活时间并发送测试数据包还包括:在接收到针对测试数据包的超时报文、且超时报文的源地址与目标终端的地址相同的情况下,确定接收到由待识别终端针对测试数据包返回的超时报文。
可选地,上述重置测试数据包的存活时间并发送测试数据包还包括:在未接收到针对测试数据包的超时报文的情况下,确定待识别终端不是网络地址转换设备。
可选地,上述重置测试数据包的存活时间并发送测试数据包还包括:在接收到针对测试数据包的超时报文、且超时报文的源地址与目标终端的地址不同的情况下,确定接收到由路由设备返回的针对测试数据包的超时报文。
可选地,测试操作所设置的测试数值以1为初始值,以1为间隔步长,逐次均匀递增。
可选地,待识别终端为物联网中的任一终端设备。
可选地,超时报文为基于网间控制报文协议的超时报文。
本公开的另一方面提供了一种网络地址转换设备的识别装置,包括:监听模块、复制模块、设置模块和确定模块。监听模块用于监听以待识别终端作为目标终端的数据流。复制模块用于对数据流中的至少一个数据包进行复制,以得到测试数据包。设置模块用于重置测试数据包的存活时间并发送测试数据包,以使测试数据包在到达待识别终端时的剩余存活时间为1。确定模块用于在接收到由待识别终端针对测试数据包返回的超时报文的情况下,确定待识别终端为网络地址转换设备。
本公开的另一方面提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的网络地址转换设备的识别方法和装置的应用场景;
图2A示意性示出了根据本公开实施例的网络地址转换设备的识别方法的流程图;
图2B示意性示出了根据本公开另一实施例的网络地址转换设备的识别方法的流程图;
图2C示意性示出了根据本公开另一实施例的网络地址转换设备的识别方法的流程图;
图3示意性示出了根据本公开实施例的网络地址转换设备的识别过程的示例流程图;
图4示意性示出了根据本公开实施例的网络地址转换设备的识别装置的框图;以及
图5示意性示出了根据本公开实施例的计算机设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种网络地址转换设备的识别方法和装置。该网络地址转换设备的识别方法可以包括:监听过程、重置过程和识别过程。在监听过程中,监听发往目标终端的数据流,并对数据流中的至少一个数据包进行随机复制,以得到测试数据包。然后进行重置过程,重置测试数据包的存活时间并发送测试数据包,以使测试数据包在发送至目标终端后剩余存活时间为预定最小值。发送测试数据包后进入识别过程,如果接收到由目标终端针对测试数据包返回的超时报文,则确定目标终端为网络地址转换设备。
网际协议版本4(Intemet Protocol version 4,IPv4)指定了32比特用于IP地址,理论上总共由4,294,967,296个IP地址。然而在实际应用中,由于预留了一些用于测试、组播和其他专门用途的IP地址,实际仅有33亿个左右的IP地址可分配使用。随着互联网的飞速发展,越来越多的用户加入到使用互联网的行列之中,全球IP地址资源匮乏的问题日益突出,可用IP地址数据现在明显不足。虽然新的网际协议版本6(Internet Protocolversion 6,IPv6)开拓了巨大的IP地址空间,可以解决网络地址资源不足的问题。但是,IPv6还处于发展推广阶段,距离IPv6的全球广泛使用还有一定的距离。
网络地址转换技术作为暂时解决IP地址耗尽的过渡技术应运而生。网络地址转换是一个互联网工程任务组(Internet Engineering Task Force,IETF)标准,允许一个整体机构所有用户以有限个公网IP地址的技术。借助于NAT技术,位于NAT后的主机拥有自己的内部私网IP地址,并利用NAT设备共享少量甚至一个公网IP地址,即可实现私有地址网络内所有计算机与互联网的通信需求。当位于NAT设备后的计算机需要与位于公网上的网络设备进行通信的时候,NAT设备将把对应的私网IP地址和端口号映射为自己的公网IP地址和端口号,这样位于NAT后的多台设备便可实现共享上网,相对于其他公网上的设备则是透明的。
NAT技术不仅解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的设备,给防火墙技术也带来了新的发展方向。但是,任何一种新技术都是一把双刃剑,NAT技术同时也给网络管理和监控带来了一些不可避免的问题,比如多用户私自共享上网,甚至私自建立黑网络经营逃避监管等。这种无序的共享接入上网方式可以带来了诸多不利影响:例如降低了运营商的服务品质,网络接入基础建设费难以正常回收,运营商成本增加,用户流失,合法用户收到冲击,账号被盗用等情况。因此当前迫切希望能够对这种无序的网络状况进行管理控制,首先应当对网络中存在的网络地址转换设备进行识别。
图1示意性示出了根据本公开实施例的网络地址转换设备的识别方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景100可以包括:互联网101,路由器102,交换机103,终端设备104、105、106、107、108、109、110。其中,交换机103以及终端设备104、105、106、107、108、109、110处于局域网环境中,通过路由器102连接至互联网101。终端设备104、105、106、107直接与交换机103连接,终端设备108、109、110直接与终端设备104连接。终端设备104为NAT设备,通过终端设备104的网络地址转换,终端设备108、109、110的IP地址被转换为终端设备104的IP地址。如果终端设备104为私设的NAT设备,则终端设备108、109、110通过该NAT设备实施了非法共享上网行为。
终端设备104、105、106、107、108、109、110可以是各种类型的支持网络连接的电子设备,例如可以是服务器、计算机、笔记本电脑、路由器、智能手机、平板电脑等,在此不做限制。
根据本公开实施例的网络地址转换设备的识别方法和装置可以用于在应用场景100中识别出NAT设备。
应该理解,图1中的终端设备、网络、路由器和交换机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、路由器和交换机。
根据本公开实施例,提供了一种网络地址转换设备的识别方法,下面对该方法进行示例性说明。应注意,以下方法中各个步骤的序号仅作为该步骤的表示以便描述,而不应被看作表示该各个步骤的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2A示意性示出了根据本公开实施例的网络地址转换设备的识别方法的流程图。
如图2A所示,该方法可以包括如下操作S210~S240。
在操作S210,监听发往目标终端的数据流。
其中,本操作S210将目标终端作为待识别终端,待识别终端可以是网络拓扑中的任意终端设备。
然后,在操作S220,随机复制数据流中的至少一个数据包,以得到测试数据包。
其中,数据流可以包括一个或多个数据包,本操作S220在监听过程中截获至少一个数据包,复制得到测试数据包,放行所截获的原数据包,不影响原数据流的正常功能,并对测试数据包执行操作S230。
然后,在操作S230,重置测试数据包的存活时间并发送测试数据包,以使测试数据包发送至目标终端后剩余存活时间为预定最小值。
示例性地,测试数据包的存活时间例如可以通过TTL(Time To Live)信息来表征,例如预定最小值为1。由于本操作S230仅对测试数据包的存活时间进行重新设置,其他参数与原数据包保持一致,因此在发送测试数据包时,测试数据包以与相应的原数据包相同的路径向着目标终端进行传输。对于任一数据包(无论是数据流中的原数据包还是复制得到的测试数据包),数据包的头部(header)保存有TTL信息。
数据包在传输过程中每经过一个节点,TTL被减1,直至数据包的剩余TTL为1,数据包不再继续传输。此时,如果数据包尚未到达目标终端,最后接收到该数据包的节点将返回一个针对该数据包的、源地址为该节点自身的地址的超时报文。此时,如果数据包恰好到达目标终端,在目标终端为正常终端设备的情况下,该目标终端按照正常协议栈对数据包进行处理,不再返回超时报文。然而,在目标终端为NAT设备的情况下,该目标终端将同样返回一个针对该数据包的、源地址为该目标终端的地址的超时报文。
在其他例子中,存活时间也可以通过其他信息来表征,预定最小值也可以根据实际需要进行设置。其原则是该存活时间会随着数据包传输经过的节点数目均匀递减,直至剩余存活时间为预定最小值,到达最后一个节点,不再继续传输。此时,如果最后一个节点不是目标终端,例如为中间路由器,该节点必然返回一个针对该数据包的、源地址为该节点自身的地址的超时报文。如果最后一个节点是目标终端,在目标终端为正常终端设备的情况下,该目标终端按照正常协议栈对数据包进行处理,不再返回超时报文。然而,在目标终端为NAT设备的情况下,该目标终端将同样返回一个针对该数据包的、源地址为该目标终端的地址的超时报文。依据以上原理,本操作S230对测试数据包的存活时间进行重置,以使测试数据包发送至目标终端后剩余存活时间恰好为预定最小值,这个能够根据目标终端的响应来准确地确定目标终端是否为NAT设备。接着执行操作S240。
接着,在操作S240,如果接收到由目标终端针对测试数据包返回的超时报文,则确定目标终端为网络地址转换设备。
本领域技术人员可以理解,依据数据包在网络拓扑内传输时每经过一个节点存活时间会减一定数值,且在剩余存活时间为预定最小值时停止传输的规律,根据本公开实施例的网络地址转换设备的识别方法对以待识别终端作为目标终端的数据流进行监听,对该数据流中的数据包进行复制以得到测试数据包。通过对测试数据包中的存活时间的重新设置,使得测试数据包在到达目标终端(即待识别终端)时剩余存活时间恰好为预定最小值。由于当目标终端为正常终端设备时不会返回超时报文,因此在接收到目标终端返回针对测试数据包的超时报文的情况下,确定待识别终端为NAT设备。根据本公开实施例的技术方案,能够较为便捷、快速地识别网络拓扑中的NAT设备,识别成本低且识别效果好。
图2B示意性示出了根据本公开另一实施例的网络地址转换设备的识别方法的流程图,用于示例性地说明上述对测试数据包进行重置和发送的过程。
如图2B所示,上述操作S230重置测试数据包的存活时间并发送测试数据包的过程可以包括:循环执行测试操作直至满足循环结束条件。
示例性地,其中循环执行的测试操作可以包括如下操作S231~S233。
在操作S231,将测试数据包的存活时间修改为测试数值并发送测试数据包。
其中,在循环执行多个测试操作时,测试数值逐次均匀递增。
在操作S232,在接收到针对测试数据包的超时报文、且该超时报文的源地址与目标终端的地址不同的情况下,执行下一次测试操作。
在操作S233,在未接收到针对测试数据包的情况下,或者在接收到针对测试数据包的超时报文、且该超时报文的源地址与目标终端的地址相同的情况下,确定满足循环结束条件。
例如,在复制得到测试数据包后,执行第一次测试操作,将该测试数据包的存活时间修改为初始值t1,以得到测试数据包1。发送该测试数据包1,以使该测试数据包1以待识别终端为目标终端传输。如果接收到针对该测试数据包1的超时报文,则需要查看该超时报文的源地址与目标终端的地址是否相同。如果不相同,表明返回该超时报文的节点为中间路由器,从而表明测试数据包1的存活时间过小,导致该测试数据包1无法到达目标终端。故执行第二次测试操作,将测试数据包的存活时间修改为t2:t2=t1+1×Δt,其中Δt为预定间隔步长,以得到测试数据包2。发送该测试数据包2,以使该测试数据包2以待识别终端为目标终端传输。如果接收到针对该测试数据包2的超时报文,则需要查看该超时报文的源地址与目标终端的地址是否相同。如果不相同,表明返回该超时报文的节点为中间路由器,从而表明测试数据包2的存活时间也过小,导致该测试数据包2无法到达目标终端,需要进行下一次测试操作。
以此类推,在第i次测试操作中,将测试数据包的存活时间修改为ti:ti=t1+(i-1)×Δt,以得到测试数据包i。发送该测试数据包i,以使该测试数据包i以待识别终端为目标终端传输。如果接收到针对该测试数据包i的超时报文,则需要查看该超时报文的源地址与目标终端的地址是否相同。如果相同,表明返回该超时报文的节点为作为目标终端的待识别终端,从而表明测试数据包i的存活时间足够使得该测试数据包i到达目标终端,且待识别终端为NAT设备,可以停止循环。或者,如果未接收到针对该测试数据包i的超时报文,则表明测试数据包i的存活时间足够使得该测试数据包i到达目标终端,且待识别终端为正常终端设备,也可以停止循环。其中,i为正整数。
图2C示意性示出了根据本公开另一实施例的网络地址转换设备的识别方法的流程图,用于示例性地说明上述对测试数据包进行设置和发送的过程。
如图2C所示,上述操作S230重置测试数据包的存活时间并发送测试数据包的过程还可以包括如下操作S234~S236中的至少一项。
在操作S234,在接收到针对测试数据包的超时报文、且超时报文的源地址与目标终端的地址相同的情况下,确定接收到由待识别终端针对测试数据包返回的超时报文。
在操作S235,在未接收到针对测试数据包的超时报文的情况下,确定待识别终端不是网络地址转换设备。
在操作S236,在接收到针对测试数据包的超时报文、且超时报文的源地址与目标终端的地址不同的情况下,确定接收到由路由设备返回的针对测试数据包的超时报文。其中超时报文的源地址与路由设备的IP地址相同。
根据本公开的实施例,待识别终端可以为物联网(Internet of Things,IoT)中的任一终端设备。
下面参考图3,结合具体例子对根据本公开实施例的网络地址转换设备的识别方法进行示例性说明。本例中,存活时间通过TTL信息表征,预定最小值为1。
图3示意性示出了根据本公开实施例的网络地址转换设备的识别过程的示例流程图。
如图3所示,该网络地址转换设备的识别过程可以包括如下操作S301~S311。
在操作S301,监听发往目标终端的数据流。
在操作S302,随机复制数据流中的一个数据包以得到测试数据包,令测试数据包的TTL=1。
在操作S303,将测试数据包发往目标终端。
在操作S304,监听回包情况。
在操作S305,确定是否接收到TTL超时报文。如果是,则执行操作S306,如果否,则执行操作S311。
在操作S306,获取TTL超时报文的源地址。
在操作S307,确定源地址是否为目标终端的IP地址。如果是,则执行操作S308,如果否,则执行操作S309。
在操作S308,确定目标终端是NAT设备。
在操作S309,确定传输路径中存在三层设备。三层设备例如可以是中间路由器。然后执行操作S310。
在操作S310,将测试数据包的TTL+1,然后执行操作S303。
在操作S311,确定目标终端不是NAT设备。
可以理解,在本公开的实施例中,对于上述修改测试数据包的TTL并发送测试数据包的测试操作,TTL的测试数值以1为初始值,以1为间隔步长,逐次均匀递增。
例如,执行第一次测试操作,将测试数据包的存活时间修改为初始值1,发送该测试数据包,以使该测试数据包向目标终端传输。如果接收到针对该测试数据包的超时报文,且该超时报文的源地址与目标终端的IP地址不相同,表明返回该超时报文的节点为中间路由器,从而表明测试数据包所设置的存活时间过小。故执行第二次测试操作,将测试数据包的存活时间修改为2。发送该测试数据包,以使该测试数据包向目标终端传输。如果接收到针对该测试数据包2的超时报文,且该超时报文的源地址与目标终端的IP地址不相同,表明返回该超时报文的节点为中间路由器,从而表明测试数据包所设置的存活时间还是过小,需要进行下一次测试操作。以此类推,在第i次测试操作中,将测试数据包的存活时间修改为i。直至满足循环结束条件,即接收到来自目标终端的超时报文,确定目标终端为NAT设备,或者未接收到超时报文,确定目标终端不是NAT设备。上述过程中,以1为测试数据包的TTL初始值,以1为间隔步长,逐次均匀递增TTL,可以无疏漏地、较为快速地找到使得测试数据包在到达目标终端时剩余TTL=1的设置方式。
根据本公开的实施例,超时报文可以为基于网间控制报文协议(InternetControl Messages Protocol,ICMP)的超时报文。ICMP是TCP/IP协议族的子协议,是一种面向无连接的协议。
图4示意性示出了根据本公开实施例的网络地址转换设备的识别装置的框图。
如图4所示,网络地址转换设备的识别装置400包括:监听模块410、复制模块420、重置模块430和确定模块440。
监听模块410用于监听发往目标终端的数据流。
复制模块420用于随机复制数据流中的至少一个数据包,以得到测试数据包。
重置模块430用于重置测试数据包的存活时间并发送测试数据包,以使测试数据包发送至目标终端后剩余存活时间为预定最小值。
确定模块440用于在接收到由目标终端针对测试数据包返回的超时报文的情况下,确定目标终端为网络地址转换设备。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监听模块410、复制模块420、重置模块430和确定模块440中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监听模块410、复制模块420、设置模块430和确定模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监听模块410、复制模块420、设置模块430和确定模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开的实施例的适于实现上文描述的方法的计算机设备的框图。图5示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备500包括处理器510和计算机可读存储介质520。该计算机设备500可以执行根据本公开实施例的方法。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521A、模块521B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,监听模块410、复制模块420、重置模块430和确定模块440中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器510执行时,可以实现上文所述的网络地址转换设备的识别方法。
本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机可执行指令,指令在被执行时用于实现根据本公开实施例的方法。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (12)
1.一种网络地址转换设备的识别方法,包括:
监听发往目标终端的数据流;
随机复制所述数据流中的至少一个数据包,得到测试数据包;
重置所述测试数据包的存活时间并发送所述测试数据包,以使所述测试数据包发送至所述目标终端后剩余存活时间为预定最小值;以及
如果接收到由所述目标终端针对所述测试数据包返回的超时报文,则确定所述目标终端为网络地址转换设备。
2.根据权利要求1所述的方法,其中,所述重置所述测试数据包的存活时间并发送所述测试数据包包括:
循环执行测试操作直至满足循环结束条件,
其中,所述测试操作包括:
将所述测试数据包的存活时间修改为测试数值并发送所述测试数据包,所述测试数值逐次均匀递增;
在接收到针对所述测试数据包的超时报文、且所述超时报文的源地址与所述目标终端的地址不同的情况下,执行下一次测试操作;以及
在未接收到针对所述测试数据包的情况下,或者在接收到针对所述测试数据包的超时报文、且所述超时报文的源地址与所述目标终端的地址相同的情况下,确定满足循环结束条件。
3.根据权利要求2所述的方法,其中,所述重置所述测试数据包的存活时间并发送所述测试数据包还包括:
在接收到针对所述测试数据包的超时报文、且所述超时报文的源地址与所述目标终端的地址相同的情况下,确定接收到由所述待识别终端针对所述测试数据包返回的超时报文。
4.根据权利要求2所述的方法,其中,所述重置所述测试数据包的存活时间并发送所述测试数据包还包括:
在未接收到针对所述测试数据包的超时报文情况下,确定所述目标终端不是网络地址转换设备。
5.根据权利要求2所述的方法,其中,所述重置所述测试数据包的存活时间并发送所述测试数据包还包括:
在接收到针对所述测试数据包的超时报文、且所述超时报文的源地址与所述目标终端的地址不同的情况下,确定接收到由路由设备返回的针对所述测试数据包的超时报文。
6.根据权利要求2所述的方法,其中,所述测试数值以1为初始值,以1为间隔步长,逐次均匀递增。
7.根据权利要求1所述的方法,其中,所述目标终端为物联网中的任一终端设备。
8.根据权利要求1所述的方法,其中,所述超时报文为基于网间控制报文协议的超时报文。
9.一种网络地址转换设备的识别装置,包括:
监听模块,用于监听发往目标终端的数据流;
复制模块,用于随机复制所述所述数据流中的至少一个数据包,以得到测试数据包;
设置模块,用于重置所述测试数据包的存活时间,以使所述测试数据包发送至所述目标终端后剩余存活时间为预定最小值;以及
确定模块,用于在接收到由所述目标终端针对所述测试数据包返回的超时报文的情况下,则确定所述目标终端为网络地址转换设备。
10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~8中任一项所述的网络地址转换设备的识别方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1~8中任一项所述的网络地址转换设备的识别方法。
12.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现根据权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424904.6A CN113132504A (zh) | 2019-12-31 | 2019-12-31 | 网络地址转换设备的识别方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424904.6A CN113132504A (zh) | 2019-12-31 | 2019-12-31 | 网络地址转换设备的识别方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113132504A true CN113132504A (zh) | 2021-07-16 |
Family
ID=76770812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911424904.6A Pending CN113132504A (zh) | 2019-12-31 | 2019-12-31 | 网络地址转换设备的识别方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132504A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465924A (zh) * | 2021-12-24 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 网络设备测试方法、数据包发生方法和交换芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050195753A1 (en) * | 2004-02-11 | 2005-09-08 | Airtight Networks, Inc. (F/K/A Wibhu Technologies, Inc.) | Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods |
CN101060397A (zh) * | 2006-04-20 | 2007-10-24 | 国际商业机器公司 | 检测网络地址转换装置的设备和方法 |
CN106656615A (zh) * | 2016-12-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 一种基于tracert命令的报文处理方法及装置 |
CN110545277A (zh) * | 2019-09-04 | 2019-12-06 | 中国工商银行股份有限公司 | 应用于安全系统的风险处理方法、装置、计算设备、介质 |
-
2019
- 2019-12-31 CN CN201911424904.6A patent/CN113132504A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050195753A1 (en) * | 2004-02-11 | 2005-09-08 | Airtight Networks, Inc. (F/K/A Wibhu Technologies, Inc.) | Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods |
CN101060397A (zh) * | 2006-04-20 | 2007-10-24 | 国际商业机器公司 | 检测网络地址转换装置的设备和方法 |
CN106656615A (zh) * | 2016-12-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 一种基于tracert命令的报文处理方法及装置 |
CN110545277A (zh) * | 2019-09-04 | 2019-12-06 | 中国工商银行股份有限公司 | 应用于安全系统的风险处理方法、装置、计算设备、介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465924A (zh) * | 2021-12-24 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 网络设备测试方法、数据包发生方法和交换芯片 |
CN114465924B (zh) * | 2021-12-24 | 2023-12-22 | 阿里巴巴(中国)有限公司 | 网络设备测试方法、数据包发生方法和交换芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762508B2 (en) | Relay optimization using software defined networking | |
US9497080B1 (en) | Election and use of configuration manager | |
US9313171B2 (en) | Path selection in a multi-service and multi-tenant secure cloud environment | |
US11075980B2 (en) | Method for operating a node cluster system in a network and node cluster system | |
CN110661702B (zh) | 一种链路备份的方法、装置及计算机可读存储介质 | |
US10097442B2 (en) | Methods, systems, and computer readable media for receiving test configuration information | |
US11431671B2 (en) | Method and apparatus for dynamic discovery of a blockchain component in a cloud computing system | |
US20160112297A1 (en) | Auto Management of a Virtual Device Context Enabled Network Infrastructure | |
US11115309B1 (en) | External network route advertisement validation | |
US9559990B2 (en) | System and method for supporting host channel adapter (HCA) filtering in an engineered system for middleware and application execution | |
CN109150655B (zh) | 一种IPv4防火墙IPv6绕过的检测方法 | |
EP3844916A1 (en) | Path management for segment routing based mobile user-plane using seamless bfd | |
CN104639512A (zh) | 网络安全方法和设备 | |
CN112887229A (zh) | 一种会话信息同步方法及装置 | |
CN111147519A (zh) | 数据检测方法、装置、电子设备和介质 | |
CN113132504A (zh) | 网络地址转换设备的识别方法、装置和计算机设备 | |
CN111131548B (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
US9077741B2 (en) | Establishing communication between entities in a shared network | |
US10038566B1 (en) | Systems and methods for multicast message routing | |
CN107948105B (zh) | 控制设备的端口状态的方法和系统 | |
US10623422B2 (en) | Protocol to detect a foreign device connected between network modules | |
CN113132250B (zh) | 数据包传输方法、装置、电子设备和介质 | |
US11870672B2 (en) | Self-election processes in managed subnets implementing modified swim protocols | |
CN108881015B (zh) | 一种报文广播方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210716 |