CN116599877B - 一种基于爬虫技术的IPv6的链接测试方法 - Google Patents
一种基于爬虫技术的IPv6的链接测试方法 Download PDFInfo
- Publication number
- CN116599877B CN116599877B CN202310887481.1A CN202310887481A CN116599877B CN 116599877 B CN116599877 B CN 116599877B CN 202310887481 A CN202310887481 A CN 202310887481A CN 116599877 B CN116599877 B CN 116599877B
- Authority
- CN
- China
- Prior art keywords
- link
- page
- function
- links
- ipv6
- 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.)
- Active
Links
- 238000005516 engineering process Methods 0.000 title claims abstract description 24
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012360 testing method Methods 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 23
- 230000009193 crawling Effects 0.000 claims abstract description 20
- 239000002344 surface layer Substances 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 11
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
-
- 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/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- 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
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于爬虫技术的IPv6的链接测试方法,包括:爬取链接导向的页面文件,创建链接表,提取出所述页面文件中的表层链接并将所述表层链接存入所述链接表;调用所述页面文件的运行环境创建结构容器,查询并收集所述结构部分已绑定的事件侦听函数得到函数队列,爬取第一深层链接和第二深层链接并存入所述链接表;使用爬虫代理登录,获取所述登录限制部分的限制页面文件;遍历所述链接表,对新页面递归执行上述过程;向DNS服务器查询对应的AAAA记录得出链接对IPv6的支持度;通过将动态加载、动态创建的部分加载到新创建的运行环境,使用爬虫代理登录,完成对隐藏链接的IPv6通信测试;去除冗余测试提高测试的效率。
Description
技术领域
本发明涉及IPv6链接测试技术领域,特别涉及一种基于爬虫技术的IPv6的链接测试方法。
背景技术
随着接入互联网的终端越来越多,基于IPv4的地址终将被耗竭,为了彻底解决IP地址不够用的问题,互联网工程任务小组制定出台了IPv6;但目前的互联网生态中,终端和服务端已经基于IPv4成熟得开展业务,全部直接更换成IPv6会使现有业务受到严重的不利影响,因此推出了IPv4向IPv6转换的技术,使得终端和网站在不更换现有IP地址的情况下,可以进行基IPv6的网络通信;将IPv4转换为IPv6的第一步,是要测试当前应用是否支持IPv6,对于不支持IPv4的应用进行协议转换;但测试应用对IPv6的支持一般采用爬虫技术对应用中的链接进行爬取,然后通过爬虫程序进行IPv6通信测试,但当一台设备对同一个域名下的地址进行过多IPv6通信测试时,该域名下的服务器为防止自身的运算资源被占用,会对爬虫程序的IP进行封禁,导致测试过程无法继续。
在现有技术CN115460290A分布式网站IPv6支持度检测调度方法中,通过采用分布式服务器进行IPv6通信测试,将爬虫程序的任务划分到不同的服务器上,通过任务调度互相配合完成通信测试,有效缓解了IP地址被封禁的问题;但是随着应用开发技术的进步,应用中的部分内容是动态加载的,甚至是动态创建的,有时有需要登录才会加载,单纯基于爬虫技术对应用的页面进行爬取,无法获取到全部的链接,导致部分链接未能够进行测试;另外,对于大型应用,其中包含的链接数量大,进行通信测试耗费的时间过长,测试效率低下。
为此本发明提出一种基于爬虫技术的IPv6的链接测试方法。
发明内容
本发明的目的是提供一种基于爬虫技术的IPv6的链接测试方法,旨在解决现有技术无法对动态加载、动态创建、具有权限限制的隐藏链接进行通信测试和测试效率低下的问题。
为实现上述目的,本发明提供如下技术方案:
本发明提供一种基于爬虫技术的IPv6的链接测试方法,包括:
S1:爬取链接导向的页面文件,创建链接表,提取出所述页面文件中的表层链接并将所述表层链接存入所述链接表,所述页面文件包括结构部分、样式部分、行为部分,所述表层链接是可以从所述页面文件中直接爬取的链接;
S2:调用所述页面文件的运行环境创建结构容器,查询并收集所述结构部分已绑定的事件侦听函数得到函数队列,所述事件侦听函数包括:数据请求函数、结构创建函数,在所述结构容器中执行所述结构创建函数得到新增结构部分,爬取第一深层链接和第二深层链接并存入所述链接表,所述第一深层链接为从所述数据请求函数中爬取的链接,所述第二深层链接为从所述新增结构部分中爬取的链接;
S3:检查所述页面文件中是否存在登录限制部分,若存在,则爬取与登录相关的结构部分和行为部分,使用爬虫代理登录,获取所述登录限制部分的限制页面文件,对所述限制页面文件递归执行S1和S2;
S4:遍历所述链接表,若链接对应的是一个新页面,对所述新页面递归执行S1、S2和S3,递归结束条件为不再有导向新页面的链接;
S5:对所述链接表进行去重得到链接表副本,遍历所述链接表副本并向DNS服务器查询对应的AAAA记录得到测试结果,根据所述链接表副本和所述测试结果得出所述链接表中链接对IPv6的支持度。
进一步的,在S1中,包括:
将所述页面文件转化成页面字符串,创建只能匹配链接的正则表达式,对所述页面字符串执行所述正则表达式得到所述表层链接;
所述表层链接包括地址链接、文件链接,所述文件链接包括:图片链接、视频链接、音频链接、图标链接、CSS链接。
进一步的,在S2中,包括:
获取所述页面文件的运行环境,若所述运行环境为浏览器,则创建一个空网页作为结构容器,若所述运行环境为操作系统,则创建一个空桌面程序作为结构容器,所述空桌面程序只包括基本的程序前端架构。
进一步的,在S2中,还包括:
以元素为单位拆分所述结构部分得到元素数组,所述元素为HTML元素或XML元素;
遍历所述元素数组,将元素转化为字符串,检查是否存在直接绑定的事件侦听函数,若存在,将所述事件侦听函数存入所述函数队列;
将所述行为部分转化为字符串,检查是否存在绑定事件侦听函数的关键字,若存在,则爬取所述关键字后面绑定的事件侦听函数并存入所述函数队列;
检查所述行为部分是否调用了addEventListener函数,若是,则将回调函数存入所述函数队列。
进一步的,在S2中,还包括:
将所述函数队列转化为字符串得到函数队列字符串,创建只能匹配链接的正则表达式,对所述函数队列字符串执行所述正则表达式得到第一深层链接,并将所述第一深层链接关联的函数移出所述函数队列;
将所述函数队列在所述结构部分中遍历执行;
所述函数队列遍历完毕后,收集所述结构部分中的新增结构部分。
进一步的,在将所述函数队列在所述结构部分中遍历执行的步骤中,包括:
在执行所述事件侦听函数前,检查所述事件侦听函数中的引用型变量,若所述引用型变量引用的地址指向所述结构容器外部,则将被引用部分复制得到引用副本;
将所述引用副本加载到所述结构容器中,执行所述事件侦听函数。
进一步的,在S2中,包括:
将所述新增结构部分转化为新增结构字符串,创建只能匹配链接的正则表达式,对所述新增结构字符串执行所述正则表达式得到第二深层链接,将所述第二深层链接存入所述链接表。
进一步的,在S3中,包括:
爬取登录链接;
创建登录请求方法并执行,通过人机验证后将登录请求报文发送至所述登录链接;
接收登录响应报文,从所述响应报文中获取token信息;
将所述token信息加到请求头中,获取权限限制的页面文件。
进一步的,在创建登录请求方法并执行,将登录请求报文发送至所述登录链接的步骤中,包括:
所述通过人机验证的方式为:
将人机验证图片输入SAM大模型进行分割得到内容清单;
采用预训练的卷积神经网络识别所述内容清单的验证语义;
使用chatGPT根据所述验证语义生成处理人机验证的步骤并执行。
进一步的,在S5中,包括:
遍历所述链接表,对于遍历到的每个页面链接,若所述页面链接的主域名在所述链接表副本中不存在,则将所述页面链接存入所述链接表副本,若存在,则将所述页面链接与所述链接表副本中主域名相同的链接相关联;
遍历成后得到链接表副本,遍历所述链接表副本对其中的页面链接进行DNS查询,获取所述页面链接的AAAA记录,若所述AAAA记录存在,则判定所述页面链接支持IPv6通信,否则,判定所述页面链接不支持IPv6通信。
本发明提供了一种基于爬虫技术的IPv6的链接测试方法,具有以下有益效果:
(1)通过查询所述页面文件中的事件侦听函数并执行,将动态加载、动态创建的部分页面文件自动加载到新创建的运行环境,完成对其中隐藏链接的IPv6通信测试;
(2)对于需要登录才有权限加载的部分页面文件,使用爬虫代理登录,登录过程采用SAM大模型和卷积神经网络、chatGPT结合的方式通过人机验证,从而获取到有权限限制的页面文件,并从中爬取链接,完成对其中隐藏链接的IPv6通信测试;
(3)对爬取到的链接根据主域名是否相同进行去重,去除了冗余的测试,提高了IPv6链接测试的效率。
附图说明
图1为本发明一实施例的基于爬虫技术的IPv6的链接测试方法的流程示意图;
本发明为目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明提出的基于爬虫技术的IPv6的链接测试方法的流程示意图;
本发明所提供的基于爬虫技术的IPv6的链接测试方法,步骤包括:
S1:爬取链接导向的页面文件,创建链接表,提取出所述页面文件中的表层链接并将所述表层链接存入所述链接表,所述页面文件包括结构部分、样式部分、行为部分,所述表层链接是可以从所述页面文件中直接爬取的链接;
S2:调用所述页面文件的运行环境创建结构容器,查询并收集所述结构部分已绑定的事件侦听函数得到函数队列,所述事件侦听函数包括:数据请求函数、结构创建函数,在所述结构容器中执行所述结构创建函数得到新增结构部分,爬取第一深层链接和第二深层链接并存入所述链接表,所述第一深层链接为从所述数据请求函数中爬取的链接,所述第二深层链接为从所述新增结构部分中爬取的链接;
S3:检查所述页面文件中是否存在登录限制部分,若存在,则爬取与登录相关的结构部分和行为部分,使用爬虫代理登录,获取所述登录限制部分的限制页面文件,对所述限制页面文件递归执行S1和S2;
S4:遍历所述链接表,若链接对应的是一个新页面,对所述新页面递归执行S1、S2和S3,递归结束条件为不再有导向新页面的链接;
S5:对所述链接表进行去重得到链接表副本,遍历所述链接表副本并向DNS服务器查询对应的AAAA记录得到测试结果,根据所述链接表副本和所述测试结果得出所述链接表中链接对IPv6的支持度。
在一个实施例中,对web版知乎进行IPv6通信测试,根据知乎首页链接获取到知乎的首页页面文件,所述页面文件为一个HTML5文件,其中结构部分为HTML元素,样式部分为header元素中通过link元素加载的CSS文件和style元素中的CSS代码,行为部分为JavaScript文件,经过浏览器内核的编译绑定在HTML元素上,在触发对应的事件后,浏览器执行对应的事件监听函数;将所述HTML5页面文件转化为字符串,即页面中的HTML元素和CSS代码、空格转化为不可执行的纯文本字符串,使用匹配链接的正则表达式匹配所述字符串中的链接字符串,将匹配结果存入到链接表中,在本实施例中,正则表达式编写为/(https?:\/\/)?(([0-9a-z.]+\.[a-z]+)|(([0-9]{1,3}\.){3}[0-9]{1,3}))(:[0-9]+)?(\/[0-9a-z%/.\-_]*)?(\?[0-9a-z=&%_\-]*)?(\#[0-9a-z=&%_\-]*)?/ig;当前页面文件的运行环境为浏览器,调用JavaScript获取浏览器对象模型:BOM,在浏览器中可以直接从BOM中查询出当前页面文件中HTML元素所绑定的事件侦听函数,将事件侦听函数的完整代码存入到一个数组中即得到一个函数队列,使用BOM新打开一个页面,先将函数队列转化为字符串,再从中爬取第一深层链接,然后遍历数组,检查每个函数中的所有变量,若变量引用对象的地址在原页面文件的运行环境中,则将其复制一份,加载到新创建页面的运行环境中,使事件侦听函数能够正确执行;部分事件侦听函数创建了新的HTML元素、CSS代码、事件侦听函数,例如,在知乎首页中,鼠标滚轮向下滚动事件触发页面向上滑动,当滑动到页面底部时,触发获取新帖子的函数,获取新帖子的函数为数据请求函数,包含了知乎服务器的地址链接,这个地址链接在爬取第一深层链接时已经爬取到了,爬取到新帖子后,将新帖子的HTML元素、CSS代码、JavaScript函数进行递归爬取,得到第二深层链接并存入链接表中;在对链接进行递归爬取时,知乎网站中有创作者中心页面,链接为“https://www.zhihu.com/creator”,需要登录才能进入,使用爬虫点击这个链接会自动跳转到登录页面,接着爬取页面中登录部分,向知乎的服务器发送登录请求,遇到的人机验证为一个滑动验证窗口,使用SAM大模型对验证窗口的图片进行分割得到多个部分,再使用VGG16分析多个部分得到每个部分的含义,再从ChatGPT获取处理步骤,以通过人机验证,获取到登陆成功的响应报文后,即登录成功,获取响应报文中服务器发来的token,将token加在数据请求的请求头中继续递归爬取创作中心页面;在递归爬取完成后,对链接表中的链接进行去重,例如包含“zhihu.com”的所有链接对IPv6的通信支持程度一致,只对其中一个进行通信测试,将结果作为其他包含“zhihu.com”的链接对IPv6的通信测试结果;通信测试方式为,向DNS服务器获取链接对应的AAAA记录,若存在所述AAAA记录,则说明该链接支持IPv6。
进一步的,在S1中,包括:
将所述页面文件转化成页面字符串,创建只能匹配链接的正则表达式,对所述页面字符串执行所述正则表达式得到所述表层链接;
所述表层链接包括地址链接、文件链接,所述文件链接包括:图片链接、视频链接、音频链接、图标链接、CSS链接。
在具体实施时,帖子中优势包括了图片、视频、音乐,其在页面文件中为一个链接,访问该链接会直接获取到对应的文件,对于地址链接,可以爬取到一个新的页面文件。
进一步的,在S2中,包括:
获取所述页面文件的运行环境,若所述运行环境为浏览器,则创建一个空网页作为结构容器,若所述运行环境为操作系统,则创建一个空桌面程序作为结构容器,所述空桌面程序只包括基本的程序前端架构。
在具体实施时,获取到浏览器对象BOM,使用BOM创建一个新的窗口。
进一步的,在S2中,还包括:
以元素为单位拆分所述结构部分得到元素数组,所述元素为HTML元素或XML元素;
遍历所述元素数组,将元素转化为字符串,检查是否存在直接绑定的事件侦听函数,若存在,将所述事件侦听函数存入所述函数队列;
将所述行为部分转化为字符串,检查是否存在绑定事件侦听函数的关键字,若存在,则爬取所述关键字后面绑定的事件侦听函数并存入所述函数队列;
检查所述行为部分是否调用了addEventListener函数,若是,则将回调函数存入所述函数队列。
在具体实施时,在浏览器中,上述过程直接使用BOM进行查询和获取,或者,可以创建程序对页面文件的字符串形式进行解析,解析过程针对Web程序中事件侦听函数的三种绑定方式:1.“on=function”的形式直接绑定,2.获取到HTML元素的引用再使用事件关键字进行绑定,3.使用addEventListener函数进行事件侦听函数的绑定,分别对应上述几个步骤。
进一步的,在S2中,还包括:
将所述函数队列转化为字符串得到函数队列字符串,创建只能匹配链接的正则表达式,对所述函数队列字符串执行所述正则表达式得到第一深层链接,并将所述第一深层链接关联的函数移出所述函数队列;
将所述函数队列在所述结构部分中遍历执行;
所述函数队列遍历完毕后,收集所述结构部分中的新增结构部分。
在具体实施时,遍历执行过程调用数组的forEach方法,或者采用for循环进行遍历。
进一步的,在将所述函数队列在所述结构部分中遍历执行的步骤中,包括:
在执行所述事件侦听函数前,检查所述事件侦听函数中的引用型变量,若所述引用型变量引用的地址指向所述结构容器外部,则将被引用部分复制得到引用副本;
将所述引用副本加载到所述结构容器中,执行所述事件侦听函数。
在具体实施时,在新页面的控制台中,调用所述引用型变量,若控制台输出undfined,则说明该引用变量引用的DOM节点在原页面中,在原页面中复制对应的DOM节点加载到新页面中,再次在控制台中调用该引用变量,此时应当输出复制过来的DOM节点的完整代码。
进一步的,在S2中,包括:
将所述新增结构部分转化为新增结构字符串,创建只能匹配链接的正则表达式,对所述新增结构字符串执行所述正则表达式得到第二深层链接,将所述第二深层链接存入所述链接表。
在具体实施时,匹配链接的正则表达式采用如下,/(https?:\/\/)?(([0-9a-z.]+\.[a-z]+)|(([0-9]{1,3}\.){3}[0-9]{1,3}))(:[0-9]+)?(\/[0-9a-z%/.\-_]*)?(\?[0-9a-z=&%_\-]*)?(\#[0-9a-z=&%_\-]*)?/ig
进一步的,在S3中,包括:
爬取登录链接;
创建登录请求方法并执行,通过人机验证后将登录请求报文发送至所述登录链接;
接收登录响应报文,从所述响应报文中获取token信息;
将所述token信息加到请求头中,获取权限限制的页面文件。
在具体实施时,上述过程等同于完整的代理登录过程,编写爬虫程序完成。
进一步的,在创建登录请求方法并执行,将登录请求报文发送至所述登录链接的步骤中,包括:
所述通过人机验证的方式为:
将人机验证图片输入SAM大模型进行分割得到内容清单;
采用预训练的卷积神经网络识别所述内容清单的验证语义;
使用ChatGPT根据所述验证语义生成处理人机验证的步骤并执行。
在具体实施时,调取SAM大模型的使用接口,输入人机验证图片,获取到分割结果,在本实施例中,卷积神经网络采用的是VGG16,调用ChatGPT生成通过人机验证的代码,使用爬虫程序对其进行调用并执行,通过人机验证。
进一步的,在S5中,包括:
遍历所述链接表,对于遍历到的每个页面链接,若所述页面链接的主域名在所述链接表副本中不存在,则将所述页面链接存入所述链接表副本,若存在,则将所述页面链接与所述链接表副本中主域名相同的链接相关联;
遍历成后得到链接表副本,遍历所述链接表副本对其中的页面链接进行DNS查询,获取所述页面链接的AAAA记录,若所述AAAA记录存在,则判定所述页面链接支持IPv6通信,否则,判定所述页面链接不支持IPv6通信。
在具体实施时,先获取主域名部分字符串,再该字符串作为正则表达式对链接表副本中的链接执行匹配,若匹配成功,则将该链接与匹配成功的链接关联,其对IPv6的通信测试结果具有一致性,若匹配失败,则将改链接存入所述链接表副本,向DNS服务器发送查询请求,对链接表副本中的链接进行AAAA记录查询,若查询到AAAA记录,则说明该链接支持IPv6。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于爬虫技术的IPv6的链接测试方法,其特征在于,包括:
步骤一:爬取链接导向的页面文件,创建链接表,提取出所述页面文件中的表层链接并将所述表层链接存入所述链接表,所述页面文件包括结构部分、样式部分、行为部分,所述表层链接是可以从所述页面文件中直接爬取的链接;
步骤二:调用所述页面文件的运行环境创建结构容器,查询并收集所述结构部分已绑定的事件侦听函数得到函数队列,所述事件侦听函数包括:数据请求函数、结构创建函数,在所述结构容器中执行所述结构创建函数得到新增结构部分,爬取第一深层链接和第二深层链接并存入所述链接表,所述第一深层链接为从所述数据请求函数中爬取的链接,所述第二深层链接为从所述新增结构部分中爬取的链接;
步骤三:检查所述页面文件中是否存在登录限制部分,若存在,则爬取与登录相关的结构部分和行为部分,使用爬虫代理登录,获取所述登录限制部分的限制页面文件,对所述限制页面文件递归执行步骤一和步骤二;
步骤四:遍历所述链接表,若链接导向的是一个新页面,对所述新页面递归执行步骤一、步骤二和步骤三,递归结束条件为不再有导向新页面的链接;
步骤五:对所述链接表进行去重得到链接表副本,遍历所述链接表副本并向DNS服务器查询对应的AAAA记录得到测试结果,根据所述链接表副本和所述测试结果得出所述链接表中链接对IPv6的支持度。
2.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤一中,包括:
将所述页面文件转化成页面字符串,创建只能匹配链接的正则表达式,对所述页面字符串执行所述正则表达式得到所述表层链接;
所述表层链接包括地址链接、文件链接,所述文件链接包括:图片链接、视频链接、音频链接、图标链接、CSS链接。
3.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤二中,包括:
获取所述页面文件的运行环境,若所述运行环境为浏览器,则创建一个空网页作为结构容器,若所述运行环境为操作系统,则创建一个空桌面程序作为结构容器,所述空桌面程序只包括基本的程序前端架构。
4.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤二中,还包括:
以元素为单位拆分所述结构部分得到元素数组,所述元素为HTML元素或XML元素;
遍历所述元素数组,将元素转化为字符串,检查是否存在直接绑定的事件侦听函数,若存在,将所述事件侦听函数存入所述函数队列;
将所述行为部分转化为字符串,检查是否存在绑定事件侦听函数的关键字,若存在,则爬取所述关键字后面绑定的事件侦听函数并存入所述函数队列;
检查所述行为部分是否调用了addEventListener函数,若是,则将回调函数存入所述函数队列。
5.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤二中,还包括:
将所述函数队列转化为字符串得到函数队列字符串,创建只能匹配链接的正则表达式,对所述函数队列字符串执行所述正则表达式得到第一深层链接,并将所述第一深层链接关联的函数移出所述函数队列;
将所述函数队列在所述结构部分中遍历执行;
所述函数队列遍历完毕后,收集所述结构部分中的新增结构部分。
6.根据权利要求5所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在将所述函数队列在所述结构部分中遍历执行的步骤中,包括:
在执行所述事件侦听函数前,检查所述事件侦听函数中的引用型变量,若所述引用型变量引用的地址指向所述结构容器外部,则将被引用部分复制得到引用副本;
将所述引用副本加载到所述结构容器中,执行所述事件侦听函数。
7.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤二中,包括:
将所述新增结构部分转化为新增结构字符串,创建只能匹配链接的正则表达式,对所述新增结构字符串执行所述正则表达式得到第二深层链接,将所述第二深层链接存入所述链接表。
8.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤三中,包括:
爬取登录链接;
创建登录请求方法并执行,通过人机验证后将登录请求报文发送至所述登录链接;
接收登录响应报文,从所述响应报文中获取token信息;
将所述token信息加到请求头中,获取权限限制的页面文件。
9.根据权利要求8所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在创建登录请求方法并执行,将登录请求报文发送至所述登录链接的步骤中,包括:
所述通过人机验证的方式为:
将人机验证图片输入SAM大模型进行分割得到内容清单;
采用预训练的卷积神经网络识别所述内容清单的验证语义;
使用chatGPT根据所述验证语义生成处理人机验证的步骤并执行。
10.根据权利要求1所述的基于爬虫技术的IPv6的链接测试方法,其特征在于,在步骤五中,包括:
遍历所述链接表,对于遍历到的每个页面链接,若所述页面链接的主域名在所述链接表副本中不存在,则将所述页面链接存入所述链接表副本,若存在,则将所述页面链接与所述链接表副本中主域名相同的链接相关联;
遍历成后得到链接表副本,遍历所述链接表副本对其中的页面链接进行DNS查询,获取所述页面链接的AAAA记录,若所述AAAA记录存在,则判定所述页面链接支持IPv6通信,否则,判定所述页面链接不支持IPv6通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310887481.1A CN116599877B (zh) | 2023-07-19 | 2023-07-19 | 一种基于爬虫技术的IPv6的链接测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310887481.1A CN116599877B (zh) | 2023-07-19 | 2023-07-19 | 一种基于爬虫技术的IPv6的链接测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116599877A CN116599877A (zh) | 2023-08-15 |
CN116599877B true CN116599877B (zh) | 2023-09-15 |
Family
ID=87594209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310887481.1A Active CN116599877B (zh) | 2023-07-19 | 2023-07-19 | 一种基于爬虫技术的IPv6的链接测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116599877B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020095040A (ko) * | 2001-06-07 | 2002-12-20 | 최안나 | 웹사이트 인증 확인 시스템 및 방법 |
WO2015120750A1 (zh) * | 2014-02-17 | 2015-08-20 | 中国科学院计算机网络信息中心 | 一种基于DNS的IPv6和IPv4互通信方法 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
WO2018187174A1 (en) * | 2017-04-07 | 2018-10-11 | Citrix Systems, Inc. | Systems and methods for securely and transparently proxying saas applications through a cloud-hosted or on-premise network gateway for enhanced security and visibility |
CN110020044A (zh) * | 2017-09-22 | 2019-07-16 | 北京国双科技有限公司 | 一种爬虫的爬取方法及装置 |
WO2019205280A1 (zh) * | 2018-04-24 | 2019-10-31 | 平安科技(深圳)有限公司 | 服务器的测试方法、装置、设备及计算机可读存储介质 |
CA3110980A1 (en) * | 2018-08-30 | 2020-03-05 | Splashlight Holding Llc | Technologies for enabling analytics of computing events based on augmented canonicalization of classified images |
CN111130845A (zh) * | 2019-11-25 | 2020-05-08 | 北京邮电大学 | 基于视觉信息的网站页面IPv6支持度测试方法及装置 |
CN113127520A (zh) * | 2021-05-11 | 2021-07-16 | 中国电信股份有限公司江西分公司 | 一种基于代理模式的分布式数据库sql审核拦截方法及装置 |
CN114297460A (zh) * | 2021-11-15 | 2022-04-08 | 北京众标智能科技有限公司 | 一种分布式动态可配置的爬虫平台及爬虫方法 |
CN114707850A (zh) * | 2022-04-01 | 2022-07-05 | 明阳产业技术研究院(沈阳)有限公司 | 企业网IPv6深化部署程度监测方法及其相关设备 |
CN115248887A (zh) * | 2021-11-29 | 2022-10-28 | 山东高速建设管理集团有限公司 | 一种基于流式下载的爬虫方法 |
CN115460290A (zh) * | 2022-08-12 | 2022-12-09 | 北京连星科技有限公司 | 分布式网站IPv6支持度检测调度方法 |
CN116319467A (zh) * | 2023-05-22 | 2023-06-23 | 中国信息通信研究院 | 基于idc机房双向流量的深度合成音频检测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11411922B2 (en) * | 2019-04-02 | 2022-08-09 | Bright Data Ltd. | System and method for managing non-direct URL fetching service |
-
2023
- 2023-07-19 CN CN202310887481.1A patent/CN116599877B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020095040A (ko) * | 2001-06-07 | 2002-12-20 | 최안나 | 웹사이트 인증 확인 시스템 및 방법 |
WO2015120750A1 (zh) * | 2014-02-17 | 2015-08-20 | 中国科学院计算机网络信息中心 | 一种基于DNS的IPv6和IPv4互通信方法 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
WO2018187174A1 (en) * | 2017-04-07 | 2018-10-11 | Citrix Systems, Inc. | Systems and methods for securely and transparently proxying saas applications through a cloud-hosted or on-premise network gateway for enhanced security and visibility |
CN110020044A (zh) * | 2017-09-22 | 2019-07-16 | 北京国双科技有限公司 | 一种爬虫的爬取方法及装置 |
WO2019205280A1 (zh) * | 2018-04-24 | 2019-10-31 | 平安科技(深圳)有限公司 | 服务器的测试方法、装置、设备及计算机可读存储介质 |
CA3110980A1 (en) * | 2018-08-30 | 2020-03-05 | Splashlight Holding Llc | Technologies for enabling analytics of computing events based on augmented canonicalization of classified images |
CN113366542A (zh) * | 2018-08-30 | 2021-09-07 | 斯波莱史莱特控股有限责任公司 | 用于实现基于扩充的规范化分类图像分析计算事件的技术 |
CN111130845A (zh) * | 2019-11-25 | 2020-05-08 | 北京邮电大学 | 基于视觉信息的网站页面IPv6支持度测试方法及装置 |
CN113127520A (zh) * | 2021-05-11 | 2021-07-16 | 中国电信股份有限公司江西分公司 | 一种基于代理模式的分布式数据库sql审核拦截方法及装置 |
CN114297460A (zh) * | 2021-11-15 | 2022-04-08 | 北京众标智能科技有限公司 | 一种分布式动态可配置的爬虫平台及爬虫方法 |
CN115248887A (zh) * | 2021-11-29 | 2022-10-28 | 山东高速建设管理集团有限公司 | 一种基于流式下载的爬虫方法 |
CN114707850A (zh) * | 2022-04-01 | 2022-07-05 | 明阳产业技术研究院(沈阳)有限公司 | 企业网IPv6深化部署程度监测方法及其相关设备 |
CN115460290A (zh) * | 2022-08-12 | 2022-12-09 | 北京连星科技有限公司 | 分布式网站IPv6支持度检测调度方法 |
CN116319467A (zh) * | 2023-05-22 | 2023-06-23 | 中国信息通信研究院 | 基于idc机房双向流量的深度合成音频检测方法及系统 |
Non-Patent Citations (2)
Title |
---|
分布式网络爬虫系统的任务调度策略改进;吴小惠;;上饶师范学院学报(第03期);全文 * |
基于Python的爬虫模拟OAuth2.0授权登录;张少谦;周天宏;;电脑编程技巧与维护(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116599877A (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5990605B2 (ja) | Ajaxウェブページコンテンツを取得する方法およびシステム | |
US7409422B2 (en) | Declarative page view and click tracking systems and methods | |
US20150304386A1 (en) | Systems and methods for context management | |
WO2016173200A1 (zh) | 用于检测恶意网址的方法和系统 | |
US20060101404A1 (en) | Automated system for tresting a web application | |
US10699017B2 (en) | Determining coverage of dynamic security scans using runtime and static code analyses | |
CN113704590B (zh) | 网页数据获取方法、装置、电子设备及存储介质 | |
Wang et al. | A combinatorial approach to building navigation graphs for dynamic web applications | |
Gheorghe et al. | Modern techniques of web scraping for data scientists | |
CN112612943A (zh) | 一种基于异步处理框架的具有自动测试功能的数据爬取方法 | |
Purbo | A systematic analysis: Website development using Codeigniter and Laravel framework | |
CN114491560A (zh) | 一种漏洞检测方法、装置、存储介质及电子设备 | |
CN116599877B (zh) | 一种基于爬虫技术的IPv6的链接测试方法 | |
Wang et al. | Fast reproducing web application errors | |
Choi et al. | Chracer: Memory analysis of Chromium-based browsers | |
Athaiya | Inferring page models for web application analysis | |
JP7464804B1 (ja) | セキュリティテストシステム | |
CN111782998B (zh) | 一种基于chrome的网页镜像、回放及本地映射地图生成方法 | |
CN113656674B (zh) | 关于网站爬虫中点击类型超链接的自动化处理方法及装置 | |
Perdeck | ASP. NET Site Performance Secrets: Simple and Proven Techniques to Quickly Speed Up Your ASP. NET Web Site | |
Koder | Increasing Full Stack Development Productivity via Technology Selection | |
CN106095946A (zh) | 页面的处理方法及装置 | |
CN118349718A (zh) | 一种基于DrissionPage的网页数据采集方法、设备及介质 | |
Arora | Web testing using UML environment models | |
Galhuber et al. | Timestamp-based Application Fingerprinting in NTFS |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |