Website IPv6 support degree distributed panoramic detection method, device, equipment and medium

Through distributed proxy server system and simulation and simulation testing, the problem of inaccurate IPv6 support assessment in the existing technology is solved, and a more accurate and comprehensive IPv6 support assessment is achieved, which is suitable for assessment in multi-geographic locations and network environments of large websites.

CN120528809APending Publication Date: 2025-08-22CERNET CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410931203.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-12
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

When evaluating the IPv6 support of websites, it is difficult to comprehensively and accurately measure the IPv6 support of websites, especially in the coexistence stage of IPv4 and IPv6, which fails to effectively detect dynamic resource links, and fails to consider the impact of different network access paths and login status, resulting in inadequate and inaccurate evaluation results.

Method used

A distributed proxy server system is adopted, combined with simulation simulation testing and traffic analysis, and by configuring proxy servers of different operator networks, users can access the website, conduct internal link sniffing, calculate the IPv6 support degree of pages at all levels, and simulate the IPv6 protocol traffic proportion during natural access in a dual-stack environment, and comprehensively evaluate the IPv6 support degree of the website.

Benefits of technology

It improves the accuracy and breadth of website IPv6 support assessment, and can more comprehensively evaluate the IPv6 support capabilities of large websites in multi-geographic locations and multi-network environments, providing panoramic distribution evaluation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120528809A_ABST
    Figure CN120528809A_ABST
Patent Text Reader

Abstract

The invention provides a website IPv6 support degree distributed panoramic detection method and device, equipment and a medium, and the method comprises the steps: configuring proxy servers of different operator networks at each node in a distributed system, and providing proxy services for the access of a to-be-tested website; logging in the website to be tested by using a local simulation test system in a mode of recording a behavior path or loading historical login information from a system database; setting an inner link sniffing depth of the website to be tested; simulating a user to access the website to be tested by using the IPv6 proxy service of the at least one proxy server, and performing step-by-step sniffing on the internal link of the website to be tested according to the internal link sniffing depth; calculating the IPv6 support degree of each level of page according to the proxy log data of each level of page in the access process; an IPv4 proxy service and an IPv6 proxy service are used at the same time in a dual-stack environment, and a natural IPv6 protocol traffic proportion in a natural access process is simulated and calculated; and testing by using the proxy servers in sequence to obtain panoramic distribution of the IPv6 support degree of the website to be tested.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of Internet technology, specifically to the field of website testing technology, and more particularly to a distributed panoramic detection method, apparatus, device, and medium for detecting the IPv6 supportability of a website. Background Art

[0002] With the rapid development of the internet, the increasing scarcity of IPv4 address resources has triggered a demand for a more efficient address system. IPv6 offers a larger address space and improved network functionality, making it the next-generation international interconnection protocol. However, the full deployment and implementation of IPv6 still faces many challenges. Comprehensive, unified, efficient, and accurate measurement of website IPv6 support is crucial for assessing IPv6 deployment levels and improving IPv6 support in network applications.

[0003] Currently, traditional crawler technologies can be used to crawl and revisit static links on web pages in an IPv6 environment, determining support based on the returned status code, or determining whether a website supports IPv6 access by querying whether an AAAA record exists on the domain name. However, when websites are operating with both IPv4 and IPv6 stacks, these methods have difficulties detecting dynamic resource links, fail to consider the impact of different network access paths on evaluation results, and fail to consider the impact of different website login states. Furthermore, these methods provide inadequate assessments of support for dynamically loaded links or resources on websites, and incompletely capture IPv6 support assessment metrics. Consequently, they lack effectiveness, comprehensiveness, and accuracy in the testing process. Summary of the Invention

[0004] The present invention provides a method, apparatus, device, and medium for distributed, panoramic detection of website IPv6 support. This method uses a distributed proxy server system, combined with simulation testing and traffic analysis, to comprehensively assess a website's IPv6 support. This method enhances the ability to assess a website's IPv6 support, particularly for large websites that need to assess performance in multiple geographic locations and network environments, and improves the accuracy and breadth of detection.

[0005] On the one hand, the present disclosure provides a distributed panoramic detection method for the IPv6 support of a website, comprising: configuring proxy servers of different operator networks at each node in a distributed system, the proxy servers being used to provide proxy services for access to the website to be tested; using a local simulation test system to log in to the website to be tested by recording the login behavior path or loading historical login information from a system database; setting the internal link sniffing depth of the website to be tested; using the IPv6 proxy service of at least one proxy server to simulate a user accessing the website to be tested, and sniffing the internal links of the website to be tested step by step according to the internal link sniffing depth; calculating the IPv6 support of pages at all levels according to the proxy log data of pages at all levels during the access process; using IPv4 proxy service and IPv6 proxy service simultaneously in a dual-stack environment to simulate and calculate the proportion of natural IPv6 protocol traffic in the natural access process; using each proxy server to test in turn to obtain a panoramic distribution of the IPv6 support of the website to be tested.

[0006] According to an embodiment of the present disclosure, the proxy server is configured to provide IPv4 proxy service and IPv6 proxy service at the same time, and the proxy protocols include HTTP proxy, HTTPS proxy, and SOCKS proxy; the proxy server is also configured to add a link blacklist according to actual conditions and filter invalid data in pages at all levels of the website.

[0007] According to an embodiment of the present disclosure, historical login information stores the user's historical login authentication status for automatic login to the website; the method also includes: before detection, checking whether the historical login information of the website to be tested already exists in the system database; if it exists and has not expired, entering the automatic loading stage to log in to the website to be tested for detection; if it has expired or has not been logged in, recording the behavioral path of interaction with the browser during the login process, and saving the login status in the system database; the method also includes: after the current detection is completed, refreshing the login information in the system database for subsequent testing.

[0008] According to an embodiment of the present disclosure, simulating a user accessing a website to be tested includes: using a programming language to call a browser driver, issuing specific operation instructions to the simulated browser kernel, and simulating user behavior; using a node proxy service to access the website to be tested, wherein random scrolling is simulated when the page is loaded for the first time, triggering a dynamic loading effect in the web page, and obtaining all dynamic and static resources of the web page of the website to be tested, the dynamic and static resources including: web HTML documents, pictures, JS files, audio and video files, and website behavior detection links; traversing the internal links of the web page, determining the visited sub-page according to the link of the page that jumps to after clicking, and filtering out duplicate links therein; performing a level-by-level recursive traversal according to the sniffing depth, and loading the website test resources.

[0009] According to an embodiment of the present disclosure, the proxy log data includes HTTP flow information of access to the website to be tested captured by the proxy server, and the HTTP flow information includes HTTP Archive log data, Syslog log information of client access, and Packet Capture; based on the proxy log data of pages at all levels during the access process, the IPv6 support of pages at all levels is calculated, including: based on the proxy log data, analyzing the total number of links of pages at all levels and the number of successful IPv6 access links, and determining the ratio of the total number of links to the number of successful IPv6 access links as the IPv6 support of pages at all levels.

[0010] According to an embodiment of the present disclosure, a natural IPv6 protocol traffic proportion in a natural access process is simulated and calculated, including: in response to a client opening a dual-stack environment, connecting to a proxy server, simulating a user's Internet behavior to access a website to be tested based on a browser simulation method without specifying a proxy protocol, recursively traversing and accessing website links, loading network resources of pages at all levels of the website, and obtaining proxy log data; analyzing the address resolution protocol in the HTTP flow information of the proxy log data to identify and count the number and storage size of HTTP flows using IPv6 addresses, comparing the number and storage size of HTTP flows using IPv6 addresses with the total number of visits, and obtaining the natural IPv6 protocol traffic proportion in the process of simulating user access to a website in an IPv4 and IPv6 dual-stack environment, the natural IPv6 protocol traffic proportion includes the proportion of IPv6 traffic bytes, the proportion of IPv6 traffic packets, the proportion of IPv6 access links, and any combination thereof.

[0011] According to the embodiments of the present disclosure, the IPv6 support of the website to be tested at a single node is obtained based on the IPv6 support of pages at all levels and the proportion of natural IPv6 protocol traffic; for each node in the distributed system, the access results using different operator proxy servers are calculated; combined with the topological structure, the panoramic distribution of IPv6 support of the website to be tested is obtained, and the panoramic distribution of IPv6 support of the website to be tested is visualized.

[0012] Another aspect of the present disclosure provides a distributed panoramic detection device for IPv6 support of a website, including: a deployment module for configuring proxy servers of different operator networks at each node in a distributed system, the proxy servers for providing proxy services for access to the website to be tested; a login module for using a local simulation test system to log in to the website to be tested by recording a behavior path or loading historical login information from a system database; an access module for setting the internal link sniffing depth of the website to be tested; using the IPv6 proxy service of at least one proxy server to simulate a user accessing the website to be tested, and sniffing the internal links of the website to be tested step by step according to the internal link sniffing depth; an analysis module for calculating the IPv6 support of pages at all levels based on the proxy log data of pages at all levels during the access process; using IPv4 proxy service and IPv6 proxy service at the same time in a dual-stack environment to simulate and calculate the proportion of natural IPv6 protocol traffic in the natural access process; using each proxy server to test in turn to obtain a panoramic distribution of IPv6 support for the website to be tested.

[0013] Another aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described above.

[0014] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the method described above when executed.

[0015] Another aspect of the present disclosure provides a computer program, which includes computer-executable instructions. When the instructions are executed, the computer program is used to implement the method described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 The system architecture 100 of the distributed panoramic detection method and apparatus for website IPv6 support according to an embodiment of the present disclosure is schematically shown;

[0017] Figure 2 The following schematically shows a flow chart of a distributed panoramic detection method for website IPv6 support according to an embodiment of the present disclosure;

[0018] Figure 3 The schematic diagram shows a principle diagram of distributed panoramic detection of website IPv6 support based on mobile terminals and desktop terminals according to an embodiment of the present disclosure;

[0019] Figure 4 Schematically shows a block diagram of a distributed panoramic detection device for website IPv6 support according to an embodiment of the present disclosure;

[0020] Figure 5 A block diagram of an electronic device suitable for implementing the above-described method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0021] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0022] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0023] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0024] When expressions such as “at least one of A, B, and C, etc.” are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (for example, “a system having at least one of A, B, and C” should include but is not limited to systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.). When expressions such as “at least one of A, B, or C, etc.” are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (for example, “a system having at least one of A, B, or C” should include but is not limited to systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.).

[0025] The accompanying drawings illustrate some block diagrams and / or flow charts. It should be understood that some blocks in the block diagrams and / or flow charts, or combinations thereof, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when executed by the processor, these instructions may create a device for implementing the functions / operations described in these block diagrams and / or flow charts. The techniques of the present disclosure may be implemented in the form of hardware and / or software (including firmware, microcode, etc.). In addition, the techniques of the present disclosure may take the form of a computer program product on a computer-readable storage medium having stored thereon instructions, which may be used by or in conjunction with an instruction execution system.

[0026] In the technical solution disclosed herein, the collection, storage, use, processing, transmission, provision, disclosure and application of user personal information involved comply with the provisions of relevant laws and regulations, take necessary confidentiality measures, and do not violate public order and good morals.

[0027] In the technical solution disclosed herein, the user's authorization or consent is obtained before obtaining or collecting the user's personal information.

[0028] An embodiment of the present disclosure provides a distributed panoramic detection method for the IPv6 support of a website, comprising: deploying a distributed system, configuring proxy servers of different operator networks at each node in the distributed system, and the proxy servers are used to provide proxy services for access to the website to be tested. Using a local simulation test system, log in to the website to be tested by recording the login behavior path or loading historical login information from the system database. Set the internal link sniffing depth of the website to be tested. Use the IPv6 proxy service of at least one proxy server to simulate users accessing the website to be tested, and sniff the internal links of the website to be tested step by step according to the internal link sniffing depth. Calculate the IPv6 support of pages at all levels based on the proxy log data of pages at all levels during the access process. Use IPv4 proxy service and IPv6 proxy service at the same time in a dual-stack environment to simulate and calculate the proportion of natural IPv6 protocol traffic in the natural access process. Use each proxy server to test in turn to obtain a panoramic distribution of the IPv6 support of the website to be tested.

[0029] Figure 1 The system architecture 100 of the distributed panoramic detection method and apparatus for website IPv6 support according to an embodiment of the present disclosure is schematically shown. It should be noted that, Figure 1 The examples shown are merely examples of system architectures to which the embodiments of the present disclosure may be applied, to help those skilled in the art understand the technical content of the present disclosure, but do not mean that the embodiments of the present disclosure may not be used in other devices, systems, environments or scenarios.

[0030] like Figure 1As shown, the system architecture 100 according to this embodiment may include a terminal 101, a network 102, a server 103, a server 104 and a database 105. The network 102 is used to provide a communication link between the terminal 101, the server 103, the server 104 and the database 105.

[0031] The terminal 101 can be, for example, various electronic devices with a display screen and access to input devices for information input, including but not limited to smart phones, tablet computers, desktop PCs, laptop PCs, netbook computers, workstations, etc. The electronic devices can be used by users to send business transaction requests, etc.

[0032] The network 102 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc. The wired connection may be, for example, a cable or any of the following interfaces: fiber optic channel, infrared interface, D-type data interface, serial interface, USB interface, USB Type-C interface, or Dock interface. The wireless connection may be, for example, a wireless communication connection, wherein the wireless communication may be, for example, any of multiple wireless technology standards such as Bluetooth, Wi-Fi, Infrared, and ZigBee.

[0033] The server 103 may be a background server that provides various application services to users. The user may generate an access request by inputting clicks, browsing, and other behaviors through the terminal 101. The terminal 101 sends the access request to the server 103 through the network 102 for resource access. The server 103 parses the access request, obtains the corresponding resources, and returns the resources to the terminal 101 through the network 102.

[0034] Server 104 can be a server that can implement a distributed panoramic detection method for the IPv6 support of a website. Server 104 simulates user clicks, browsing and other behaviors, generates a range request, and terminal 101 sends an access request to server 103 through network 102 for resource access. Server 104 can obtain the complete dynamic loading resources of the website and the HAR data structure formed during the access process by operations such as scrolling pages and clicking elements, and conduct more effective and accurate testing and evaluation of the integrity of the elements and functions of the page in the IPv6 environment and the website performance.

[0035] The database 105 can be used to store various data generated during the distributed panoramic detection process of access resources, test raw data, and website IPv6 support, such as login information, network traffic information, etc. The database 105 can also persistently store the result data after the analysis is completed.

[0036] It should be noted that the distributed panoramic detection method for website IPv6 support provided by the embodiment of the present disclosure can be executed by the server 104. Accordingly, the distributed panoramic detection device for website IPv6 support provided by the embodiment of the present disclosure can be set in the server 104. Alternatively, the distributed panoramic detection method for website IPv6 support provided by the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 104 and can communicate with the terminal 101 and / or the server 104. Accordingly, the distributed panoramic detection device for website IPv6 support provided by the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 104 and can communicate with the terminal 101 and / or the server 104. Alternatively, the distributed panoramic detection method for website IPv6 support provided by the embodiment of the present disclosure can also be partially executed by the server 104 and partially executed by the terminal 104. Accordingly, the distributed panoramic detection device for website IPv6 support provided by the embodiment of the present disclosure can also be partially set in the server 104 and partially set in the terminal 104.

[0037] It should be understood that Figure 1 The numbers of terminals, networks, servers and databases in the embodiment are merely illustrative. Any number of terminals, networks, servers and databases may be used as required.

[0038] Figure 2 The flowchart of the distributed panoramic detection method for website IPv6 support according to an embodiment of the present disclosure is schematically shown.

[0039] like Figure 2 As shown, the distributed panoramic detection method for website IPv6 support may include operations S210 to S260.

[0040] In operation S210 , proxy servers of different operator networks are configured in each node in the distributed system, and the proxy servers are used to provide proxy services for access to the website to be tested.

[0041] In an embodiment of the present disclosure, the first step is to deploy a series of proxy servers in different locations. These servers are located at key nodes of the Internet, such as data centers and exchange hubs, to simulate network requests from users around the world. Each proxy server is configured with network protocol support for IPv4 and IPv6, and is capable of transmitting and receiving data in different network environments. That is, the proxy server is configured to provide IPv4 proxy services and IPv6 proxy services at the same time, and the proxy protocols include HTTP proxy, HTTPS proxy, and SOCKS proxy; the proxy server is also configured to add link blacklists according to actual conditions and filter invalid data from pages at all levels of the website. Through this configuration, it can be ensured that the collected data covers various network environments, thereby comprehensively testing the IPv6 compatibility and performance of the website.

[0042] Proxy server network configuration. In addition to basic network protocol support, each proxy server is configured with a domain name blacklist to block access to malicious or inappropriate websites, avoid access to restricted domains, and optimize the local network access experience. These servers also have advanced traffic monitoring and management capabilities, capable of detailed logging of all passing data packets and real-time analysis.

[0043] In operation S220 , a local simulation test system is used to log in to the website to be tested by recording a behavior path or loading historical login information from a system database.

[0044] In an embodiment of the present disclosure, historical login information may be loaded from a file cache / database cache, and a test website may be automatically logged in through a script.

[0045] Historical login information can be pre-stored for automated login to the website to be tested. Before testing the website to be tested, first check whether the database already contains historical login information with different permissions for the website to be tested. If it exists and has not expired, enter the automatic loading phase to log in to the website to be tested for testing; if it does not exist (expired or not logged in), log in to the website based on different permissions. Use Selenium IDE, Playwright Inspector, etc. to record login behavior scripts and save the login status in the form of cookies in a shared database. The cached information can be named with the website domain name and time, and enter the automatic reload phase to log in to the website to be tested for testing; in the automatic loading phase, use programming tools to interact with the browser driver to control browser behavior and simulate real user operations. Load the login information when sending the first network request, reuse the user's historical login status, and then access the member content on the website.

[0046] In subsequent tests, you can load content containing the website's historical authentication information from a database or file, modify the request header, test tool-driven settings, or execute specific JavaScript code in the script to simulate a real user. Modify some fields in the authentication information to automatically switch the login status on the test website. After the test, refresh the login cookies cache. You can use the cached information to replace the authentication information in the test or clear the authentication information to switch the user status, and test different permission restrictions on the website separately.

[0047] After the current test is completed, the method further includes: refreshing the login information in the system database, that is, refreshing the Cookies cache used for login in the database, so as to be used in subsequent tests.

[0048] In operation S230, the internal link sniffing depth of the website to be tested is set. The IPv6 proxy service of at least one proxy server is used to simulate a user accessing the website to be tested, and the internal links of the website to be tested are sniffed level by level according to the internal link sniffing depth.

[0049] In an embodiment of the present disclosure, operation S230 may further include: using a programming language to call a browser driver, issuing specific operation instructions to the simulated browser kernel, and simulating user behavior. Use a node proxy service to access the website to be tested, wherein random scrolling is simulated when the page is loaded for the first time, triggering the dynamic loading effect in the web page, and obtaining all dynamic and static resources of the web page of the website to be tested, and the dynamic and static resources include: web HTML documents, pictures, JS files, audio and video files, and website behavior detection links. Traverse the internal links of the web page, determine the sub-page to be visited based on the link of the page that jumps to after clicking, and filter out duplicate links; perform recursive traversal level by level according to the sniffing depth, and load the website test resources.

[0050] Specifically, programming tools such as Selenium and Puppeteer interact with browser drivers to randomly simulate user behavior, trigger dynamic loading effects on web pages, and access dynamic resources on the website under test. Based on the different node proxy server network environments, the DNS domain name system commonly used in the carrier network is configured.

[0051] Access the website page under test through a proxy server, load the resources required for the page under test, and generate relevant logs on the proxy server. Parse the internal links contained in the page according to the source code of the accessed page, remove duplicates from the parsed internal links, and then make recursive requests to test the access of sub-pages.

[0052] In some embodiments, the selenium_stealth library of python can be used to modify the features of the selenium library driver and erase the script traces to simulate the user accessing the homepage of the website to be tested. Capture all resource links during the loading process of the website homepage. Use technical frameworks such as selenium to implement the control logic in automated testing, control the browser startup, and access the resource links in the homepage of the network to be tested. Set the user timeout default waiting time, simulate the user's random scrolling, staying and stopping actions, trigger the dynamic resource loading behavior of the website, load all the resources required for the homepage of the website to be tested, and obtain the first proxy log data. The first proxy log data includes the first network traffic information generated by the user visiting the homepage of the website to be tested, recording the entire process from the initiation of the page request to the completion of the rendering, the time of each resource loading, the response status, the transmission bytes, etc. The first network traffic information can be saved in the database.

[0053] Use the programming framework to control the browser to start accessing the website page and execute the following JS code to scroll the homepage to the bottom, load all the resources required for the web page, and store the first agent log data in the database.

[0054] The implementation process may be, for example:

[0055] '''

[0056] let lastScrollTop = 0;

[0057] let intervalId;

[0058] function scrollOneScreen() {

[0059] / / Get the visible height of the window

[0060] const windowHeight = window.innerHeight;

[0061] / / Get the height of the entire document

[0062] const docHeight = document.body.scrollHeight;

[0063] / / Get the current scroll position

[0064] let currentScrollTop = document.documentElement.scrollTop ||document.body.scrollTop;

[0065] / / If the current scroll position plus the window height is less than or equal to the document height, continue scrolling

[0066] if (currentScrollTop + windowHeight < docHeight) {

[0067] / / Scroll the height of a window relative to the current position

[0068] window.scrollBy(0, windowHeight);

[0069] } else {

[0070] console.log("Reached the bottom of the page.");

[0071] clearInterval(intervalId); / / Stop scrolling

[0072] }

[0073] }

[0074] / / Start scrolling, scrolling once every 1 second

[0075] intervalId = setInterval(scrollOneScreen, 100);

[0076] '''

[0077] According to the embodiments of the present disclosure, static crawlers and dynamic simulations are used to obtain internal links of web pages according to different link types, and a subtree to be tested is generated according to the set sniffing depth or internal link path, including: using a depth-first algorithm to traverse pages that may contain internal links, wherein static links are directly extracted through crawler technology, and dynamic links are implemented by programming to simulate user click behavior to obtain jump links, and the set sniffing depth or the specified internal link is used as the end condition of the traversal, and the subtree to be tested is generated with the test website as the root.

[0078] According to an embodiment of the present disclosure, recursive traversal of pages at all levels of the website to be tested includes: requesting links in the subtree to be tested in a node IPv6 proxy environment, the system simulating the navigation path of a real user, loading resources step by step from the homepage to the internal link pages at all levels and capturing all data in the loading process, obtaining second proxy log data for accessing the website to be tested at different nodes, the second proxy log data including second network traffic information generated by web pages corresponding to all internal links that successfully resolve AAAA records in the range traversal website pages.

[0079] In operation S240 , the IPv6 support of pages at all levels is calculated based on the proxy log data of pages at all levels during the access process.

[0080] Based on the proxy log data captured between the browser and the website under test and transmitted back by the proxy server, the system can collect detailed information about the loading status of each page element. Proxy log data includes HTTP flow information captured by the proxy server for accessing the website under test. HTTP flow information includes HTTP Archive log data, Syslog log information of client access, and Packet Capture. This data records in detail the time, size, request and response header information of each resource access. Based on the proxy log data, the total number of links at each level and the number of successfully accessed IPv6 links are analyzed. The ratio of the total number of links to the number of successfully accessed IPv6 links is used to determine the IPv6 support level for each level of page. If access to the website under test fails, the IPv6 support level for that page is 0.

[0081] In operation S250 , the IPv4 proxy service and the IPv6 proxy service are used simultaneously in a dual-stack environment to simulate and calculate the proportion of natural IPv6 protocol traffic in a natural access process.

[0082] Specifically, in response to the client opening the dual-stack environment and connecting to the proxy server, without specifying the proxy protocol, the browser simulation method is used to simulate the user's Internet behavior to access the website to be tested, recursively traverse the website links, load the website's page network resources at all levels, and obtain the proxy log data.

[0083] Analyze the address resolution protocol in the HTTP flow information of the proxy log data to identify and count the number of HTTP flows using IPv6 addresses and the storage size, compare the number of HTTP flows using IPv6 addresses and the storage size with the total visits, and obtain the natural IPv6 protocol traffic proportion in the process of simulating user visits to the website in an IPv4 and IPv6 dual-stack environment. The natural IPv6 protocol traffic proportion includes the proportion of IPv6 traffic bytes, the proportion of IPv6 traffic packets, the proportion of IPv6 access links and any combination thereof.

[0084] In operation S260, each proxy server is used to perform a test in sequence to obtain a panoramic distribution of IPv6 support for the website to be tested.

[0085] Operation S260 may further include: obtaining the IPv6 support of the website to be tested on a single node based on the IPv6 support of pages at all levels and the proportion of natural IPv6 protocol traffic; calculating the access results using different operator proxy servers for each node in the distributed system; obtaining the panoramic distribution of IPv6 support for the website to be tested in combination with the topological structure, and visually displaying the panoramic distribution of IPv6 support for the website to be tested.

[0086] Specifically, the distributed system's proxy servers are traversed and, based on proxy log data from different network environments, IPv6 support for each page is calculated. This includes: If the website homepage fails to be accessed under a single-stack IPv6 environment, the IPv6 support for the website under test is set to 0. Otherwise, the webpage source code is parsed based on the returned response, internal links and resource links within the target page are identified, proxy logs for the homepage are retrieved from each node's proxy server, and the number of resources successfully loaded under IPv6 during the homepage access process is analyzed. This is then compared with the total number of resources on the webpage to determine the website homepage's IPv6 support. Proxy log information is then retrieved from all pages of the website during the traversal. If the page access fails, the IPv6 support is set to 0. Otherwise, the IPv6 support for each page is calculated based on the percentage of successful resource loading during the target page access. Based on the server proxy logs in a dual-stack environment, the proportion of IPv6 protocol traffic under natural access conditions is calculated. The proxy traffic proportions during each access are analyzed, and the traffic format is parsed based on the actual proxy protocol. The total HTTP flow data, total bytes, total packets, and total links generated by accessing the website under test are calculated. This data is then fused to determine the proportion of natural IPv6 protocol traffic.

[0087] The comprehensive IPv6 support of the website to be tested is obtained by combining the IPv6 support of pages at all levels and the proportion of natural IPv6 protocol traffic. For each node in the distributed system, the access results using different operator proxy servers are calculated to obtain the panoramic distribution of IPv6 support of the website to be tested. The test analysis results are visualized using drawing tools to help website developers and managers better understand and optimize the global accessibility and performance of the website.

[0088] Figure 3 The schematic diagram shows a principle diagram of distributed panoramic detection based on website IPv6 support on mobile terminals and desktop terminals according to an embodiment of the present disclosure.

[0089] like Figure 3 As shown, when the test device is a mobile terminal, modify the User Agent field to the mobile test device, issue a request to access the website homepage, extract the redirect information from the response, and obtain the website link accessed by the mobile terminal. Use the mobile terminal automation testing library Appium to test the website's IPv6 support on mobile terminals. Configuring a local server proxy for Appium transmits test data to the server for storage and further analysis, thereby determining the website's IPv6 support on mobile terminals.

[0090] In addition, after the test is completed, the distributed panoramic detection results of the website's IPv6 support can be visualized.

[0091] According to the embodiments of the present disclosure, the distributed, panoramic detection method for website IPv6 support can more comprehensively simulate user click and browse behaviors, more efficiently resolve user login issues, and test the permission-restricted portions of a website. By scrolling pages, clicking on elements, and other operations, the complete dynamically loaded resources of the website and the HAR data structure formed during access can be obtained, allowing for more effective and accurate testing and evaluation of the integrity of page elements and functions, as well as website performance, in an IPv6 environment.

[0092] Figure 4 The block diagram schematically shows a distributed panoramic detection device for website IPv6 support according to an embodiment of the present disclosure.

[0093] like Figure 4 As shown, the distributed panoramic detection device 400 for website IPv6 support may include, for example, a deployment module 410 , a login module 420 , an access module 430 , a log generation module 440 , an analysis module 450 , and a presentation module 460 .

[0094] The deployment module 410 is used to configure proxy servers of different operator networks at each node in the distributed system. The proxy servers are used to provide proxy services for accessing the website to be tested. The deployment module configures proxy servers in various key operators and regions. These proxy servers simulate different access environments to collect data.

[0095] Login module 420 is used to log in to the website under test using the local simulation test system by recording the behavior path or loading historical login information from the system database. The login module is responsible for generating, loading, and updating user login information and recording login status to ensure test accuracy.

[0096] The access module 430 is used to set the internal link sniffing depth of the website to be tested; use the IPv6 proxy service of at least one proxy server to simulate a user accessing the website to be tested, and sniff the internal links of the website to be tested level by level according to the internal link sniffing depth; the access module uses these proxy servers to simulate the user's behavior on the website, such as page browsing and link clicking, to traverse the website's pages and internal links at each level step by step.

[0097] The log generation module 440 is used to generate proxy log data based on the captured traffic, and record the data results of accessing the website to be tested during the test process.

[0098] Analysis module 450 is configured to calculate IPv6 support for each page level based on proxy log data collected during the visit process. It simulates the proportion of organic IPv6 protocol traffic during organic visits using both IPv4 and IPv6 proxy services in a dual-stack environment. Testing is performed sequentially using each proxy server to obtain a comprehensive distribution of IPv6 support for the tested website. Traffic captured by the proxy servers is recorded to generate proxy log data, which provides the raw input for subsequent analysis. The calculation and analysis module evaluates the proportion of IPv6 access links and organic traffic based on the proxy log data, outputting a comprehensive IPv6 support index.

[0099] In another example, the distributed panoramic detection apparatus for website IPv6 support may further include:

[0100] Display Module 460, combined with network topology, plots a comprehensive distribution map of IPv6 support for the tested website, providing intuitive assessment results. This helps website administrators and developers gain a comprehensive understanding of their website's IPv6 support status and implement targeted optimization adjustments. Through its systematic approach and technical framework, this device not only improves detection accuracy and coverage, but also provides a scientific basis for website optimization and upgrades.

[0101] According to the embodiments of the present invention, any number of modules, sub-modules, units, and sub-units, or at least part of the functions of any number of them, can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, sub-modules, units, and sub-units can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, sub-modules, units, and sub-units can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or can be implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, sub-modules, units, and sub-units can be at least partially implemented as a computer program module, which can perform the corresponding functions when the computer program module is executed.

[0102] For example, any of the deployment module 410, login module 420, access module 430, log generation module 440, analysis module 450, and presentation module 460 may be implemented in a single module / unit / sub-unit, or any of these modules / units / sub-units may be split into multiple modules / units / sub-units. Alternatively, at least part of the functionality of one or more of these modules / units / sub-units may be combined with at least part of the functionality of other modules / units / sub-units and implemented in a single module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the deployment module 410, login module 420, access module 430, log generation module 440, analysis module 450, and presentation module 460 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or may be implemented in hardware or firmware by any other reasonable means of integrating or packaging circuits, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, at least one of the deployment module 410, login module 420, access module 430, log generation module 440, analysis module 450, and presentation module 460 may be at least partially implemented as a computer program module, which, when executed, may perform the corresponding function.

[0103] It should be noted that the distributed panoramic detection device part of the website IPv6 support in the embodiment of the present disclosure corresponds to the distributed panoramic detection method part of the website IPv6 support in the embodiment of the present disclosure, and their specific implementation details are also the same, which will not be repeated here.

[0104] Figure 5 A block diagram of an electronic device suitable for implementing the above-described method according to an embodiment of the present disclosure is schematically shown. Figure 5 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0105] like Figure 5As shown, the electronic device 500 according to an embodiment of the present disclosure includes a processor 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage unit 508 into a random access memory (RAM) 503. The processor 501 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 501 may also include onboard memory for caching purposes. The processor 501 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.

[0106] Various programs and data required for the operation of the electronic device 500 are stored in the RAM 503. The processor 501, ROM 502, and RAM 503 are connected to each other via a bus 504. The processor 501 executes the various operations of the method flow according to the embodiment of the present disclosure by executing the programs in the ROM 502 and / or RAM 503. It should be noted that the programs may also be stored in one or more memories other than the ROM 502 and the RAM 503. The processor 501 may also execute the various operations of the method flow according to the embodiment of the present disclosure by executing the programs stored in the one or more memories.

[0107] According to an embodiment of the present disclosure, electronic device 500 may further include an input / output (I / O) interface 505, which is also connected to bus 504. Electronic device 500 may also include one or more of the following components connected to I / O interface 505: an input section 506 including a keyboard, mouse, etc.; an output section 507 including devices such as a cathode ray tube (CRT), liquid crystal display (LCD), and speakers; a storage section 508 including a hard disk; and a communication section 509 including a network interface card such as a LAN card or modem. Communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to I / O interface 505 as needed. Removable media 511, such as a magnetic disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed in drive 510 as needed, so that computer programs read from the removable media can be installed into storage section 508 as needed.

[0108] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 509, and / or installed from the removable medium 511. When the computer program is executed by the processor 501, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0109] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, and when executed, implements the method according to the embodiments of the present disclosure.

[0110] According to embodiments of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples include, but are not limited to, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0111] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 502 and / or the RAM 503 described above and / or one or more memories other than the ROM 502 and the RAM 503 .

[0112] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, program segment, or portion of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the boxes may occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession may actually be executed substantially in parallel, or they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, as well as the combination of boxes in the block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or may be implemented using a combination of dedicated hardware and computer instructions. It will be understood by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or coupled in various ways, even if such combinations or couplings are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or coupled in various ways, and all such combinations and / or couplings fall within the scope of the present disclosure.

Claims

1. A distributed panoramic detection method for website IPv6 support, comprising: Each node in the distributed system is configured with a proxy server of a different operator network, and the proxy server is used to provide proxy services for access to the website to be tested; Use a local simulation test system to log in to the website to be tested by recording the behavior path or loading historical login information from the system database; Set the internal link sniffing depth of the website to be tested; Using an IPv6 proxy service of at least one proxy server to simulate a user accessing a website to be tested, and sniffing the internal links of the website to be tested level by level according to the internal link sniffing depth; Calculate the IPv6 support of each page according to the proxy log data of each page during the access process; In a dual-stack environment, use both IPv4 and IPv6 proxy services to simulate and calculate the proportion of natural IPv6 protocol traffic during natural access. Each proxy server is used to perform the test in turn to obtain a panoramic distribution of the IPv6 support of the website to be tested.

2. The method according to claim 1, wherein: The proxy server is configured to provide both IPv4 proxy service and IPv6 proxy service, and the proxy protocols include HTTP proxy, HTTPS proxy, and SOCKS proxy; The proxy server is also configured to add a link blacklist according to actual conditions and filter invalid data in pages at all levels of the website.

3. The method according to claim 1, wherein: The historical login information stores the user's historical login authentication status and is used for automatic login to the website to be tested; The method further comprises: Before detection, check whether the system database already has the historical login information of the website to be tested; If it exists and has not expired, the automatic loading phase is entered to log in to the website to be tested for detection; if it has expired or has not been logged in, the login behavior path during the interaction with the browser is recorded to log in, and the login status is saved in the system database; The method further comprises: After the current detection is completed, the login information in the system database is refreshed for use in subsequent tests.

4. The method according to claim 1, wherein: The simulated user accesses the website to be tested, including: Use programming language to call the browser driver, send specific operation instructions to the simulated browser kernel, and simulate user behavior; Use the node proxy service to access the website to be tested. When loading the page for the first time, simulate random scrolling to trigger the dynamic loading effect in the web page and obtain all dynamic and static resources of the web page to be tested, including: web page HTML documents, pictures, JS files, audio and video files, and website behavior detection links; Traverse the internal links of the web page, determine the visited sub-page according to the link of the page that jumps to after clicking, and filter out repeated links; perform recursive traversal level by level according to the sniffing depth, and load the website test resources.

5. The method according to claim 1, wherein: The proxy log data includes HTTP flow information captured by the proxy server for accessing the website to be tested, and the HTTP flow information includes HTTP Archive log data, Syslog log information accessed by the client, and Packet Capture; The calculation of IPv6 support for pages at all levels based on proxy log data of pages at all levels during access includes: According to the proxy log data, the total number of links at each level and the number of successfully accessed links by IPv6 are analyzed, and the ratio of the total number of links to the number of successfully accessed links by IPv6 is determined as the IPv6 support of the pages at each level.

6. The method according to claim 1, wherein: The simulation calculates the proportion of natural IPv6 protocol traffic during natural access, including: In response to the client opening the dual-stack environment, connecting to the proxy server, simulating the user's online behavior to access the website to be tested based on browser simulation without specifying the proxy protocol, recursively traversing the website links, loading the website's page network resources at all levels, and obtaining proxy log data; Analyze the address resolution protocol in the HTTP flow information of the proxy log data to identify and count the number and storage size of HTTP flows using IPv6 addresses, compare the number and storage size of HTTP flows using IPv6 addresses with the total visits, and obtain the natural IPv6 protocol traffic proportion in the process of simulating user access to the website in an IPv4 and IPv6 dual-stack environment. The natural IPv6 protocol traffic proportion includes the proportion of IPv6 traffic bytes, the proportion of IPv6 traffic packets, the proportion of IPv6 access links, and any combination thereof.

7. The method according to claim 1, wherein: The overall distribution of IPv6 support for the website to be tested includes: Obtaining the IPv6 support of the website to be tested at a single node according to the IPv6 support of the pages at each level and the proportion of natural IPv6 protocol traffic; For each node in the distributed system, the access results using different operator proxy servers are calculated; combined with the topological structure, the panoramic distribution of IPv6 support for the website to be tested is obtained, and the panoramic distribution of IPv6 support for the website to be tested is visualized.

8. A distributed panoramic detection device for website IPv6 support, comprising: A deployment module is used to configure proxy servers of different operator networks at each node in the distributed system, and the proxy servers are used to provide proxy services for access to the website to be tested; The login module is used to log in to the website to be tested by using the local simulation test system by recording the behavior path or loading historical login information from the system database; An access module is configured to set an internal link sniffing depth of the website to be tested; use an IPv6 proxy service of at least one proxy server to simulate a user accessing the website to be tested, and sniff the internal links of the website to be tested step by step according to the internal link sniffing depth; The analysis module is used to calculate the IPv6 support of pages at all levels based on the proxy log data of pages at all levels during the access process; use IPv4 proxy service and IPv6 proxy service simultaneously in a dual-stack environment to simulate and calculate the proportion of natural IPv6 protocol traffic during natural access; use each proxy server to test in turn to obtain a panoramic distribution of IPv6 support for the website to be tested.

9. An electronic device comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 7.