发明内容
本发明实施例提供一种CDN源站的IP地址识别方法及装置,解决现有技术中无法获取CDN源站的IP地址的问题。
本发明实施例提供了一种CDN源站的IP地址识别方法,该方法包括:
获取部署有CDN的源站的域名;
根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址;
若在DNS历史数据库中存在与该域名对应的IP地址,则将该IP地址确定为所述CDN源站的IP地址。
较佳地,在本发明实施例中为了准确的定位出CDN源站,提高该CDN源站的IP地址的识别效率,所述获取部署有CDN的源站的域名之前,还包括:
向源站发送请求信息;
判断源站返回的响应信息的消息头中是否携带CDN标识字段;
若所述响应信息的消息头中携带CDN标识字段,则确定所述源站部署有CDN。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述将该IP地址确定为所述CDN源站的IP地址之前,还包括:
访问所述IP地址,获取该IP地址对应的网页内容;
判断该网页内容与通过CDN访问该源站对应的网页内容是否相同;
若不相同,则确定该IP地址非CDN源站的IP地址。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述将该IP地址确定为所述CDN源站的IP地址之前,所述方法包括:
向所述IP地址发送请求信息;
判断该IP地址返回的响应信息的消息头中是否携带CDN标识字段;
若该响应信息的消息头中携带CDN标识字段,则确定该IP地址非CDN源站的IP地址。
本发明实施例提供了一种CDN源站的IP地址识别装置,所述装置包括:
获取模块,用于获取部署有CDN的源站的域名;
判断模块,用于根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址;
识别模块,用于当判断模块在确定DNS历史数据库中存在与该域名对应的IP地址时,将该IP地址确定为CDN源站的IP地址。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述装置还包括:
发送模块,用于向源站发送请求信息;
所述判断模块,用于判断源站返回的响应信息的消息头中是否携带CDN标识字段;
所述获取模块,具体用于当判断模块判断该响应信息的消息头中携带CDN标识字段时,确定为所述源站部署有CDN。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,访问获取模块,用于访问所述IP地址,获取该IP地址对应的网页内容;
所述判断模块,还用于判断该网页内容与通过CDN访问该源站对应的网页内容是否相同;
所述识别模块,还用于当判断模块判断访问该IP地址的网页内容与通过CDN访问该源站对应的网页内容相同时,通知判断模块进行后续判断步骤,否则,确定该IP地址非CDN源站的IP地址。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述装置还包括:
发送模块,用于向源站发送请求信息;
所述判断模块,还用于判断该IP地址返回的响应信息的消息头中是否携带CDN标识字段;
所述识别模块,还用于当判断模块判断该响应信息的消息头中携带CDN标识字段时,确定该IP地址非CDN源站的IP地址,否则,通知判断模块进行后续判断步骤。
本发明实施例提供了一种CDN源站的IP地址识别方法及装置,该方法中针对CDN源站的域名,根据历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当存在与该域名对应的IP地址时,将该IP地址确定为CDN源站的IP地址。由于在本发明实施例中根据DNS历史数据库记录的历史数据,确定各DNS历史数据库中是否存在与CDN源站的域名对应的IP地址,从而确定CDN源站的IP地址,从而实现CDN源站IP地址的识别,为后期的CDN源站的保护提供便利。
具体实施方式
为了识别出CDN源站的IP地址,便于后期对CDN源站的保护,本发明实施例提供了一种CDN源站的IP地址识别方法及装置。
下面结合说明书附图,对本发明实施例进行详细说明。
图2为本发明实施例提供的一种CDN源站的IP地址识别过程示意图,该过程包括以下步骤:
S201:获取部署有CDN的源站的域名。
针对CDN源站,可以通过搜索引擎确定CDN源站的域名。
S202:根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当DNS历史数据库中存在该域名对应的IP地址时,进行步骤S203,否则,进行步骤S204。
在源站建立之初,可能还未为该源站部署CDN,用户可以直接访问源站,此时源站的IP地址及该源站的域名作为一条地址(Address,A)记录保存到了数据库中。后续为该源站部署CDN后,用户只能通过CDN才能访问CDN源站,用户的访问数据记录在了对应的CDN中,但是该CDN源站之前的历史数据虽然过期了,但是这些历史数据将会从源站之前的数据库转移到各DNS历史数据库中。因此通过查找各域名***(Domain Name System,DNS)历史数据库中记录的信息,可以确定该CDN源站的IP地址。
S203:将该IP地址确定为所述CDN源站的IP地址。
S204:通过该方法确定CDN源站的IP地址的方法结束。
由于各DNS历史数据库中保存有一些过期的数据,虽然数据已经过期,但是依然会保存在DNS历史数据库中,因此通过查找各DNS历史数据库中记保存的数据,可以确定CDN源站的IP地址。DNS历史数据库可以采用现有的一些提供开放接口的历史数据库,例如ISC历史数据库,或者在进行实施时,可以根据需要配置相应的DNS历史数据库,记录过期的历史数据,具体实现时,可以根据需要灵活选择。
在本发明实施例中根据DNS历史数据库记录的历史数据,确定各DNS历史数据库中是否存在与CDN源站的域名对应的IP地址,从而确定CDN源站的IP地址,从而实现CDN源站IP地址的识别,为后期的CDN源站的保护提供便利。
为了准确的定位出CDN源站,提高CDN源站的识别效率,进而提高CDN源站的IP地址的识别效率,在本发明实施例中需要针对每个源站,判断该源站是否为CDN源站,即判断是否为该源站部署了CDN。具体的获取部署有CDN的源站的域名之前,还包括:
向源站发送请求信息;
判断源站返回的响应信息的消息头中是否携带CDN标识字段;
若所述响应信息的消息头中携带CDN标识字段,则确定所述源站部署有CDN。
当源站为CDN源站时,发送的请求信息经由CDN发送到CDN源站,并且CDN源站在返回响应信息时,也是将响应信息发送到了CDN,CDN接收到该响应信息中,在该响应信息的消息头中添加CDN标识字段,从而使该响应信息的消息头中携带CDN标识字段。因此当接收到CDN源站返回的响应信息时,判断该响应信息的消息头中是否携带CDN标识字段,可以判断出该源站是否为CDN源站。当判断该源站为CDN源站时,采用本发明实施例提供的CDN源站的IP地址识别方法,识别该CDN源站的IP地址。
图3为本发明实施例一提供的一种CDN源站的IP地址识别的详细过程示意图,该过程包括以下步骤:
S301:向源站发送请求信息。
其中,该请求信息可以是任何请求信息,只要源站能够根据该请求信息返回响应信息即可。
S302:判断源站返回的响应信息的消息头中是否携带CDN标识字段,当判断结果为是时,进行步骤S303,否则,进行步骤S307。
S303:确定该源站为CDN源站,获取该CDN源站的域名。
S304:根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当DNS历史数据库中存在该域名对应的IP地址时,进行步骤S305,否则,进行步骤S306。
S305:将该IP地址确定为所述CDN源站的IP地址。
S306:通过该方法确定CDN源站的IP地址的方法结束。
S307:该源站非CDN源站,该源站返回的IP地址为其自身的IP地址。
针对已经确定为CDN源站的源站,采用本发明实施例提供的该CDN源站的IP地址识别方法,可以有效的提高CDN源站的IP地址识别效率。
在本发明实施例中当根据各DNS历史数据库中的A记录,查找确定DNS历史数据库中存在与CDN源站的域名对应的IP地址后,为了防止后续CDN源站更换IP地址,提高确定的CDN源站的IP地址的准确性,所述将该IP地址确定为所述CDN源站的IP地址之前,还包括:
访问所述IP地址,获取该IP地址对应的网页内容;
判断该网页内容与通过CDN访问该源站对应的网页内容是否相同;
若不相同,则确定该IP地址非CDN源站的IP地址。
通过访问该IP地址,获取该IP地址对应的网页内容,根据该网页内容是否与通过CDN访问该源站对应的网页内容是否相同,判断该IP地址是否为CDN源站的IP地址。如果CDN源站后期更换了IP地址,此时该IP地址对应的网页内容与通过CDN访问该源站对应的网页内容不可能相同,相反,如果CDN源站后期未更换IP地址,则该IP地址对应的网页内容与通过CDN访问该源站对应的网页内容应当相同。
图4为本发明实施例二提供的一种CDN源站的IP地址识别过程示意图,该过程包括以下步骤:
S401:获取部署有CDN的源站的域名。
S402:根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当DNS历史数据库中存在该域名对应的IP地址时,进行步骤S403,否则,进行步骤S407。
S403:访问该IP地址,获取该IP地址对应的网页内容。
S404:判断该网页内容与通过CDN访问该源站对应的网页内容是否相同,当判断结果为是时,进行步骤S405,否则,进行步骤S406。
S405:将该IP地址确定为所述CDN源站的IP地址。
S406:该IP地址非该CDN源站的IP地址。
S407:通过该方法确定CDN源站的IP地址的方法结束。
查到DNS历史数据库中存在与CDN源站的域名对应的IP地址时,通过比较该IP地址的网页内容及通过CDN访问该源站对应的网页内容,判断该IP地址是否为CDN源站的IP地址,进一步提高CDN源站的IP地址识别的准确性。
或者,在本发明实施例中当根据各DNS历史数据库中保存的历史数据,确定某一DNS历史数据库中存在与该CDN源站的域名对应的IP地址时,为了进一步提高确定的CDN源站的IP地址的准确性,所述将该IP地址确定为所述CDN源站的IP地址之前,所述方法包括:
向所述IP地址发送请求信息;
判断该IP地址返回的响应信息的消息头中是否携带CDN标识字段;
若该响应信息的消息头中携带CDN标识字段,则确定该IP地址非CDN源站的IP地址。
采用上述方法可以避免获取的该IP地址为CDN返回的该CDN源站的IP地址,从而进一步提高CDN源站IP地址识别的准确性。
上述通过访问该IP地址,获取该IP地址对应的网页内容,根据该网页内容是否与通过CDN访问该源站对应的网页内容相同,从而判断该IP地址是否为CDN源站的IP地址,以及上述通过向CDN源站发送请求,判断响应信息中是否携带CDN标识字段,从而判断该IP地址是否为CDN源站的IP地址的方法可以分别单独使用,也可以结合起来使用。上述两种实施方式结合起来,可以有效的保证识别出的CDN源站的IP地址的准确性。
图5为本发明实施例三提供的一种CDN源站的IP地址识别过程示意图,该过程包括以下步骤:
S501:向源站发送请求信息。
S502:判断源站返回的响应信息的消息头中是否携带CDN标识字段,当判断结果为是时,进行步骤S503,否则,进行步骤S511。
S503:确定该源站为CDN源站,获取该CDN源站的域名。
S504:根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当DNS历史数据库中存在该域名对应的IP地址时,进行步骤S505,否则,进行步骤S510。
S505:访问该IP地址,获取该IP地址对应的网页内容。
S506:判断该网页内容与通过CDN访问该源站对应的网页内容是否相同,当判断结果为是时,进行步骤S507,否则,进行步骤S509。
S507:向该IP地址发送请求信息,判断该IP地址返回的响应信息的消息头中是否携带CDN标识字段,当判断结果为否时,进行步骤S508,否则,进行步骤S509。
S508:将该IP地址确定为CDN源站的IP地址。
S509:确定该IP地址非该CDN源站的IP地址。
S510:通过该方法确定CDN源站的IP地址的方法结束。
S511:该源站非CDN源站,该源站返回的IP地址为其自身的IP地址。
由于在本发明实施例中根据DNS历史数据库记录的历史数据,确定各DNS历史数据库中是否存在与CDN源站的域名对应的IP地址,从而确定CDN源站的IP地址,从而实现CDN源站IP地址的识别,为后期的CDN源站的保护提供便利。
图6为本发明实施例提供的一种CDN源站的IP地址识别装置结构示意图,所述装置包括:
获取模块61,用于获取部署有CDN的源站的域名;
判断模块62,用于根据保存的历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址;
识别模块63,用于当判断模块在确定DNS历史数据库中存在与该域名对应的IP地址时,将该IP地址确定为CDN源站的IP地址。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述装置还包括:
发送模块64,用于向源站发送请求信息;
所述判断模块62,用于判断源站返回的响应信息的消息头中是否携带CDN标识字段;
所述获取模块61,具体用于当判断模块判断该响应信息的消息头中携带CDN标识字段时,确定为所述源站部署有CDN。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述装置还包括:访问获取模块65,用于访问所述IP地址,获取该IP地址对应的网页内容;
所述判断模块62,还用于判断该网页内容与通过CDN访问该源站对应的网页内容是否相同;
所述识别模块63,还用于当判断模块判断访问该IP地址的网页内容与通过CDN访问该源站对应的网页内容相同时,通知判断模块进行后续判断步骤,否则,确定该IP地址非CDN源站的IP地址。
较佳地,在本发明实施例中为了提高确定的CDN源站的IP地址的准确性,所述装置还包括:
发送模块64,用于向源站发送请求信息;
所述判断模块62,还用于判断该IP地址返回的响应信息的消息头中是否携带CDN标识字段;
所述识别模块63,还用于当判断模块判断该响应信息的消息头中携带CDN标识字段时,确定该IP地址非CDN源站的IP地址,否则,通知判断模块62进行后续判断步骤。
本发明实施例提供了一种CDN源站的IP地址识别方法及装置,该方法中针对CDN源站的域名,根据历史数据库列表中的各DNS历史数据库,确定各DNS历史数据库中是否存在与所述域名对应的IP地址,当存在与该域名对应的IP地址时,将该IP地址确定为CDN源站的IP地址。由于在本发明实施例中根据DNS历史数据库记录的历史数据,确定各DNS历史数据库中是否存在与CDN源站的域名对应的IP地址,从而确定CDN源站的IP地址,从而实现CDN源站IP地址的识别,为后期的CDN源站的保护提供便利。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。