CN110750290B - Software version upgrading method and device based on DNS query - Google Patents

Software version upgrading method and device based on DNS query Download PDF

Info

Publication number
CN110750290B
CN110750290B CN201911035097.9A CN201911035097A CN110750290B CN 110750290 B CN110750290 B CN 110750290B CN 201911035097 A CN201911035097 A CN 201911035097A CN 110750290 B CN110750290 B CN 110750290B
Authority
CN
China
Prior art keywords
domain name
software
character string
sub
information
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
Application number
CN201911035097.9A
Other languages
Chinese (zh)
Other versions
CN110750290A (en
Inventor
陆波
范渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201911035097.9A priority Critical patent/CN110750290B/en
Publication of CN110750290A publication Critical patent/CN110750290A/en
Application granted granted Critical
Publication of CN110750290B publication Critical patent/CN110750290B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention provides a software version upgrading method and device based on DNS query, which relate to the technical field of communication and are applied to clients and comprise the following steps: firstly, acquiring characteristic information of software to be detected; then, the characteristic information is subjected to coding processing to obtain a first sub domain name; combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; sending a domain name query request to a software update server so that the software update server determines a query result of the software to be detected according to the domain name query request; and finally, receiving the query result, and analyzing the query result to obtain the software version upgrading information. The invention realizes that the characteristic information of the software to be detected is sent to the software update server for inquiry in a DNS inquiry mode under the condition that the TCP connection is not established, thereby acquiring the software version upgrade information and reducing the network overhead required by software update inspection.

Description

Software version upgrading method and device based on DNS query
Technical Field
The invention relates to the technical field of communication, in particular to a method and a device for upgrading a software version based on DNS query.
Background
Currently, for frequently updated software, especially for feature library version update of security software, network overhead required for checking version update is far greater than that of the essence content itself, taking a version update checking mechanism implemented by Web Service (Web Service, abbreviated as Web Service) as an example, the following process is required to be performed from a client to a server to initiate a version update request: step 1, acquiring a current software version number and running environment data; step 2, the acquired data are packaged into WEB requests; step 3, initiating DNS inquiry and acquiring an IP address of the software update server; step 4, establishing TCP connection for the software updating server; step 5, establishing HTTP connection for the software update server; step 6, sending the WEB request in the step 2; step 7, the software update server verifies the request; step 8, the software updating server returns a result according to the request; and 9, analyzing and verifying the returned result by the software. As can be seen from the above procedure, most of the overhead of initiating a version update check is used for data encapsulation and network transmission, and the redundancy is very high.
Disclosure of Invention
The invention aims to provide a software version upgrading method and device based on DNS (Domain Name System ) query, which reduce network overhead required by software update checking.
The invention provides a software version upgrading method based on DNS query, which is applied to a client and comprises the following steps: acquiring characteristic information of software to be detected; coding the characteristic information to obtain a first sub domain name; combining the first sub-domain name as a prefix of a second sub-domain name with the second sub-domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; sending the domain name query request to the software update server so that the software update server determines a query result of the software to be detected according to the domain name query request; and receiving the query result, and analyzing the query result to obtain the software version upgrading information.
Further, the step of encoding the feature information to obtain a first sub domain name includes: encoding the characteristic information to obtain a character string corresponding to the characteristic information; judging whether the character string has preset sensitive information or preset special symbols; if the character string has preset sensitive information or preset special symbols, the character string is subjected to standardization processing to obtain a first sub domain name.
Further, the normalization process includes: a removal operation or a hash operation; if the character string has preset sensitive information or preset special symbols, the character string is subjected to standardization processing, and the step of obtaining the first sub domain name comprises the following steps: if the character string has preset sensitive information, performing the removal operation or the hash operation on the character string to obtain a first sub domain name; or if the character string has a preset special symbol, performing the removal operation on the character string to obtain a first sub domain name.
Further, the characteristic information includes one or more of the following information: software version number, software serial number, host network card MAC address, host CPU serial number and host hard disk serial number.
Further, the form of the software version upgrade information includes: encapsulation is of the IP address or TXT type.
The invention provides a software version upgrading device based on DNS query, which is applied to a client and comprises the following components: the acquisition module is used for acquiring the characteristic information of the software to be detected; the coding processing module is used for coding the characteristic information to obtain a first sub domain name; the combination module is used for combining the first sub-domain name serving as a prefix of a second sub-domain name with the second sub-domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; the sending module is used for sending the domain name query request to the software update server so that the software update server can determine the query result of the software to be detected according to the domain name query request; and the receiving and analyzing module is used for receiving the query result and analyzing the query result to obtain the software version upgrading information.
Further, the encoding processing module includes: the coding unit is used for coding the characteristic information to obtain a character string corresponding to the characteristic information; the judging unit is used for judging whether the character string has preset sensitive information or preset special symbols; and the standardized processing unit is used for carrying out standardized processing on the character string to obtain a first sub domain name if the character string has preset sensitive information or preset special symbols.
Further, the normalization process includes: a removal operation or a hash operation; the standardized processing unit includes: the hash removing subunit is configured to perform the removing operation or the hash operation on the character string if preset sensitive information exists in the character string, so as to obtain a first sub domain name; or, a removing subunit, configured to, if the character string has a preset special symbol, perform the removing operation on the character string to obtain a first sub domain name.
The invention also provides electronic equipment, which comprises a memory and a processor, wherein the memory stores a computer program capable of running on the processor, and the processor realizes the software version upgrading method based on the DNS query when executing the computer program.
The present invention also provides a computer readable medium having non-volatile program code executable by a processor, wherein the program code causes the processor to perform the DNS query based software version upgrade method.
The invention provides a software version upgrading method and device based on DNS query, which are applied to a client, and firstly acquire characteristic information of software to be detected; then, the characteristic information is subjected to coding processing to obtain a first sub domain name; combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; sending a domain name query request to a software update server so that the software update server determines a query result of the software to be detected according to the domain name query request; and finally, receiving the query result, and analyzing the query result to obtain the software version upgrading information. According to the invention, under the condition that TCP connection is not established, the related characteristic information of the software to be detected is sent to the software update server for inquiry in a DNS inquiry mode, so that the software version information and the data required by the update version are obtained, the network overhead required by software update checking is reduced, and the method has certain advantages in the application environment of frequent update version.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart of a software version upgrading method based on DNS query according to an embodiment of the present invention;
FIG. 2 is a flowchart of step S102 in FIG. 1;
FIG. 3 is a signaling diagram of a client interacting with a software update server;
fig. 4 is a schematic structural diagram of a software version upgrading device based on DNS query according to an embodiment of the present invention;
fig. 5 is a schematic diagram of the encoding processing module in fig. 4.
Icon:
11-an acquisition module; 12-an encoding processing module; 13-a combination module; 14-a transmitting module; 15-a receiving and analyzing module; a 21-encoding unit; 22-a judging unit; 23-a standardized processing unit; 31-removing the hash subunit; 32-removing subunits.
Detailed Description
The technical solutions of the present invention will be clearly and completely described in connection with the embodiments, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
At present, for frequently updated software, especially for feature library version update of security software, network overhead required for checking version update is far greater than that of substantial content itself, taking a version update checking mechanism implemented by Web Service (Web Service for short) as an example, most of overhead of initiating one-time version update checking is used for data encapsulation and network transmission, and redundancy is very high. Based on the above, an object of the embodiments of the present invention is to provide a method and an apparatus for upgrading a software version based on DNS query, which reduce network overhead required for software update checking, reduce redundancy, and improve efficiency of version upgrade query.
For the sake of understanding the present embodiment, a software version upgrading method based on DNS query disclosed in the present embodiment is first described in detail.
Embodiment one:
referring to fig. 1, a software version upgrading method based on DNS query, provided by an embodiment of the present invention, applied to a client, may include the following steps:
step S101, obtaining characteristic information of software to be detected.
In an embodiment of the present invention, the characteristic information includes one or more of the following information: software version number, software serial number, host network card MAC address, host CPU serial number and host hard disk serial number. The characteristic information is classified into two types, namely the characteristic of the software to be detected and the characteristic of the running environment of the software to be detected. The embodiment of the invention obtains the characteristics of the software to be detected by a software self method, for example: and reading the file with the software version number, and acquiring the software version number of the software to be detected. The embodiment of the invention can acquire the characteristics of the running environment of the software to be detected by a method provided by an operating system, for example: executing the window command to obtain the version number of the windows operating system in the running environment. If the software to be detected is controlled by the authorized license, further acquiring the characteristic data of the running environment, such as: the host network card MAC address, the host CPU serial number, the host board, the host hard disk serial number and other hardware unique identifiers. Where the authorized license includes, but is not limited to, a duration of use, a number of uses, an open function, etc.
In order to ensure that the received DNS query result is not cached or falsified, a random number, a time stamp and other change factors are added into the feature information, and the feature information added with the change factors is used as a DNS query request to be sent to a software update server after being processed in the following steps.
Step S102, the characteristic information is subjected to coding processing to obtain a first sub domain name.
In the embodiment of the present invention, one or more pieces of feature information in step S101 are combined, and after the combination, encoding processing is performed, and after the encoding processing, a first sub domain name is obtained, where the first sub domain name is a prefix of a domain name query request. The domain name query request may refer to a DNS query request, where DNS may refer to a service of the internet, and is used as a distributed database that maps domain names and IP addresses to each other, so that a user can access the internet more conveniently. DNS uses TCP and UDP ports 53. Network packet capturing is performed in the running environment of the software to be detected, and the prefix of the domain name inquiry request is observed to change from time to time by monitoring the UDP connection with the destination port number of 53, and the prefix is usually a combination of random letters and numbers.
Currently, the limit for the length of each level of domain name is 63 characters, and the total length of the domain name cannot exceed 253 characters. Since the maximum length of each level of domain name of DNS cannot exceed 63 characters, the feature data acquired in step S101 is subjected to encoding processing according to actual conditions. If the coded data is larger than 63 characters, the data can be split into multiple levels of domain names. The first sub-domain name of the multi-level domain name may be as follows: abcde12345.Uvwxyz.67890.
Step S103, combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; wherein the second sub-domain name is the domain name of the software update server.
In the embodiment of the invention, a software update server needs to start a DNS query service of a local domain, taking update.dbapp.com as an example, and registers the DNS query service of an update.dbapp.com sub domain name to the dbapp.com domain. Step S102 and step S103 are used to construct a domain name query request. Specifically, the first sub-domain name in step S102 is used as the prefix of the second sub-domain name to be combined with the second sub-domain name, so as to form a domain name query request. The domain name query request may be abcde12345.Uvwxyz.67890.Update. Dbapp. Com as follows.
Step S104, a domain name query request is sent to the software update server, so that the software update server determines a query result of the software to be detected according to the domain name query request.
In the embodiment of the invention, a domain name query request is initiated, namely, a DNS query request is initiated, the domain name query request (for example, abcde12345.Uvwxyz. 6789. Update. Dbapp. Com) is submitted to a DNS server defaulted by a DNS system, and after being forwarded through DNS multi-level resolution, the domain name query request reaches the update. Dbapp. Com, namely, a software update server.
The DNS multi-level analysis is DNS recursion analysis, the DNS recursion analysis process is automatically completed by a DNS system, and the DNS recursion analysis process is as follows: step 1, a client sends a domain name query request (the website to be queried is www.abc.com) to a local DNS server; step 2, the local DNS server can not inquire the inquiry result corresponding to the inquiry request, and the inquiry request is forwarded to the root domain on the Internet; step 3, the root domain returns the server IP address of the top domain (the top domain of www.abc.com is com) in the domain name to be queried to the local DNS; step 4, the local DNS sends a query request to a top-level domain (com domain) according to the returned server IP address; step 5, the top-level domain server (com domain) returns the server IP address of the secondary domain (abc in www.abc.com) in the domain name to the local DNS; step 6, the local DNS sends a query request to the secondary domain; and 7, continuously repeating the operation until the local DNS server obtains a final query result and returns to the host computer so that the host computer accesses the website through the domain name.
The software update server determines the query result of the software to be detected according to the domain name query request, for example: taking the domain name query request abcdec 12345. Uvwxyz.6789. Update.dbapp.com as an example, the software update server removes the domain name update.dbapp.com of the software update server itself in the domain name request, and the obtained abcdec 12345.Uvwxyz.6789 is the query object to be actually analyzed, and restores the query result of the software to be detected, where the query result includes but is not limited to: software version number of the software to be detected and the characteristic information of the environment where the software to be detected is.
If the software to be detected is controlled by the authorized license, the software update server further checks and checks the software serial number and the hardware characteristic data so as to ensure that the query result of the software to be detected is not illegally used.
Step S105, receiving the query result, and analyzing the query result to obtain the software version upgrading information.
In the embodiment of the invention, the query result is a DNS query result, and the query result is decoded and the validity thereof is checked after the query result is analyzed. The software updating server returns the query result in the form of DNS query result, and selects the output form of the query result according to the data size of the query result. If the data size is smaller (i.e. the length of the character string of the query result is not greater than 40), the data size can be directly packaged into an IPv4 or IPv6 address, for example, the software version number provided by the software to be detected is 3.0.4.3, the software version number to be updated in the query result is 3.0.5.15, and the data size can be directly returned to 3.0.5.15 in the form of the IPv4 address; if the data size is large, the query result may be returned in a TXT manner, where the manner conforms to type=16 in the DNS specification, i.e. the query result is of the TXT TYPE. The diversified subsequent processing can be realized by setting different forms of query results, and if the query result is a URL, the client can access the appointed software update resource package according to the URL. The form of the query result comprises: the package is of an IP address or TXT type, so that the form of the software version upgrading information obtained by analyzing the query result also comprises: encapsulation is of the IP address or TXT type.
The software to be detected analyzes the DNS query result, and the analysis is completed at the client side and is used for judging the completeness and the effectiveness of the query result: if the query result is the encoded data, decoding the encoded data during analysis; if the query result is the encrypted data, the encrypted data is decrypted in the parsing process. The query result returned by the software update server may be the software version number to be updated after parsing, or may be the upgrade URL returned in the TXT type, or a credential of the upgrade package to be downloaded.
The embodiment of the invention provides a software version upgrading method based on DNS inquiry, which is applied to a client and is used for acquiring characteristic information of software to be detected; then, the characteristic information is subjected to coding processing to obtain a first sub domain name; combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; sending a domain name query request to a software update server so that the software update server determines a query result of the software to be detected according to the domain name query request; and finally, receiving the query result, and analyzing the query result to obtain the software version upgrading information. According to the embodiment of the invention, under the condition that TCP connection is not established, the related characteristic information of the software to be detected is sent to the software update server for inquiry in a DNS inquiry mode, so that the software version information and the data required by the update version are acquired, the network overhead required by software update checking is reduced, and the method has certain advantages in the application environment of frequent update version.
Further, referring to fig. 2, step S102 may include the steps of:
step S201, coding the characteristic information to obtain a character string corresponding to the characteristic information;
step S202, judging whether a character string has preset sensitive information or preset special symbols;
in step S203, if the character string has preset sensitive information or preset special symbols, the character string is normalized to obtain a first sub domain name.
In the embodiment of the present invention, the preset sensitive information includes, but is not limited to: customer name, contract number, and software serial number. Preset special symbols include, but are not limited to: other symbols than numerals and letters are unexpected. If the character string does not have preset sensitive information or preset special symbols, the character string can be used as a first subdomain name for carrying out the next operation. If preset sensitive information or preset special symbols exist in the character string, standardized processing is needed.
Specifically, the normalization process includes, but is not limited to: a removal operation or a hash operation; step S203 may include the steps of: if the character string has preset sensitive information, performing removal operation or hash operation on the character string to obtain a first sub domain name; or if the character string has the preset special symbol, removing the character string to obtain the first sub domain name. The embodiment of the invention carries out the removal operation or the hash operation on the character strings with preset sensitive information, can realize the confidentiality of the preset sensitive information, and carries out the removal operation on the character strings with preset special symbols, thereby ensuring that the generated DNS query request is a correct domain name. For example, if a employee name is Zhang three and a job number is 1008, and if the two feature information are directly combined, the obtained combination of Zhang three 1008 cannot be directly used for inquiry because of containing Chinese characters, the Zhang three 1008 is encoded in a certain preset encoding mode, if the encoding mode is pinyin, the Zhang three 1008 is encoded to obtain a character string of Zhangsan1008, and if the job number is preset sensitive information, the character string is subjected to a removal operation to obtain Zhangsan or a hash operation to obtain Zhangsan 16ff9e7ebf ff51c265c21be35a6d4 b.
If the character string "zhang $san-! 1008', $ sum-! Belonging to preset special symbols, for character string' zhang $ san-! 1008 "performing a removal operation to obtain a first subdomain name" zhangsan1008".
The embodiment of the invention provides a software version upgrading method based on DNS query. The key points of the invention are feature information extraction, DNS query construction and query result analysis. The principle of the invention is that the present software version and the characteristics of the running environment of the software are sent to the software update server for verification through DNS inquiry, and the inquiry result is returned to the client in the mode of DNS inquiry result. Network overhead required by software update checking is reduced, and the method has certain advantages in application environments with frequent update versions.
Embodiment two:
referring to fig. 3, a signaling diagram of interaction between a client and a software update server according to an embodiment of the present invention includes the following steps:
step S301, a client acquires characteristic information of software to be detected;
step S302, the client encodes the characteristic information to obtain a first sub domain name;
step S303, the client combines the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server;
step S304, the client sends a domain name inquiry request to the software update server;
step S305, the software update server determines the query result of the software to be detected according to the domain name query request;
step S306, the software update server sends a query result to the client;
step S307, the client receives the query result and analyzes the query result to obtain the software version upgrade information.
According to the embodiment of the invention, the software version upgrading based on DNS query is realized based on interaction between the client and the software updating server, the client firstly obtains the characteristic information of the software to be detected, and then the characteristic information is encoded to obtain a first sub domain name; combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; sending a domain name query request to a software update server; the software updating server determines the query result of the software to be detected according to the domain name query request and sends the query result to the client; and the client receives the query result and analyzes the query result to obtain the software version upgrading information. The embodiment of the invention realizes that the characteristic information of the software to be detected is sent to the software update server for inquiry by using the client in a DNS inquiry mode under the condition that the TCP connection is not established, so that the software version information and the data required by the update version are acquired, the network overhead required by the software update inspection is reduced, and the method has certain advantages in the application environment of frequent update version.
Embodiment III:
referring to fig. 4, a software version upgrade device based on DNS query provided in an embodiment of the present invention, where the software version upgrade device is applied to a client, may include the following modules:
an obtaining module 11, configured to obtain feature information of software to be detected;
the encoding processing module 12 is configured to perform encoding processing on the feature information to obtain a first sub domain name;
a combination module 13, configured to combine the first sub-domain name as a prefix of the second sub-domain name with the second sub-domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server;
a sending module 14, configured to send a domain name query request to the software update server, so that the software update server determines a query result of the software to be detected according to the domain name query request;
the receiving and analyzing module 15 is configured to receive the query result, and analyze the query result to obtain the software version upgrade information.
The software version upgrading device based on DNS inquiry is applied to a client, and firstly, the characteristic information of software to be detected is obtained by using an obtaining module; then, the characteristic information is subjected to coding processing by utilizing a coding processing module to obtain a first sub domain name; combining the first sub domain name as the prefix of the second sub domain name with the second sub domain name by using a combination module to form a domain name query request; wherein the second subdomain name is the domain name of the software update server; a domain name query request is sent to a software update server by utilizing a sending module, so that the software update server determines a query result of software to be detected according to the domain name query request; and finally, receiving the query result by utilizing a receiving and analyzing module, and analyzing the query result to obtain the software version upgrading information. The embodiment of the invention realizes that the related characteristic information of the software to be detected is sent to the software update server for inquiry in a DNS inquiry mode by utilizing the sending module under the condition that the TCP connection is not established, thereby acquiring the software version information and the data required by the update version, reducing the network overhead required by the software update inspection, and having certain advantages in the application environment of frequent update version.
Further, referring to fig. 5, the encoding processing module 12 includes:
an encoding unit 21, configured to encode the feature information to obtain a character string corresponding to the feature information;
a judging unit 22, configured to judge whether the character string has preset sensitive information or preset special symbols;
and the normalization processing unit 23 is configured to perform normalization processing on the character string to obtain the first sub domain name if the character string has preset sensitive information or preset special symbols.
Further, referring to fig. 5, the normalization process includes: a removal operation or a hash operation; the normalization processing unit 23 includes:
the hash removing subunit 31 is configured to perform a removing operation or a hash operation on the character string if the character string has preset sensitive information, so as to obtain a first sub domain name; or, the removing subunit 32 is configured to remove the character string if the character string has the preset special symbol, so as to obtain the first sub domain name.
In yet another embodiment of the present invention, there is also provided an electronic device including a memory, a processor, where the memory stores a computer program executable on the processor, and where the processor implements the steps of the method described in the method embodiments above when the processor executes the computer program.
In yet another embodiment of the present invention, a computer readable medium having non-volatile program code executable by a processor is also provided, the program code causing the processor to perform the method of the method embodiment.
In the examples provided in the embodiments of the present invention, the disclosed methods and tools may also be implemented in other manners. The foregoing detailed description of the embodiments is merely illustrative, and the modules in the drawings may exist alone or in combination, and each block in a flowchart or block diagram may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
The foregoing examples are merely preferred embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art, who is within the scope of the present invention, should be able to apply equivalents and modifications to the technical solution and the inventive concept thereof, within the scope of the present invention.
In the description of the present invention, it should be noted that the terms "first," "second," and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and not for limiting the same; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the invention.

Claims (10)

1. The software version upgrading method based on the DNS query is characterized by being applied to a client and comprising the following steps of:
acquiring characteristic information of software to be detected; the characteristic information of the software to be detected is divided into two types, namely the characteristic of the software to be detected and the characteristic of the running environment of the software to be detected, which is acquired by a method provided by an operating system;
after adding a change factor into the characteristic information, carrying out coding processing to obtain a first sub domain name;
combining the first sub-domain name as a prefix of a second sub-domain name with the second sub-domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server;
sending the domain name query request to the software update server so that the software update server determines a query result of the software to be detected according to the domain name query request;
receiving the query result, and analyzing the query result to obtain software version upgrading information, wherein the form of the query result comprises an IP address or a TXT type, and the software version upgrading information comprises one of a software version number to be updated, an upgrading URL returned in the TXT type and a credential of an upgrading packet to be downloaded;
wherein the sending the domain name query request to the software update server includes:
and submitting the domain name query request to a default DNS server, and reaching the software updating server after DNS multistage resolution forwarding is performed through the DNS server.
2. The method for upgrading a software version according to claim 1, wherein the step of adding a change factor to the feature information and then performing encoding processing to obtain the first sub domain name comprises:
encoding the characteristic information to obtain a character string corresponding to the characteristic information;
judging whether the character string has preset sensitive information or preset special symbols;
if the character string has preset sensitive information or preset special symbols, the character string is subjected to standardization processing to obtain a first sub domain name.
3. The software version-up method according to claim 2, wherein the normalization process includes: a removal operation or a hash operation;
if the character string has preset sensitive information or preset special symbols, the character string is subjected to standardization processing, and the step of obtaining the first sub domain name comprises the following steps:
if the character string has preset sensitive information, performing the removal operation or the hash operation on the character string to obtain a first sub domain name;
or alternatively, the first and second heat exchangers may be,
and if the character string has a preset special symbol, performing the removal operation on the character string to obtain a first sub domain name.
4. The software version upgrade method according to claim 1, wherein the characteristic information includes one or more of the following information: software version number, software serial number, host network card MAC address, host CPU serial number and host hard disk serial number.
5. The software version-up method according to claim 4, wherein the form of the software version-up information includes: encapsulation is of the IP address or TXT type.
6. A software version upgrade apparatus based on DNS query, applied to a client, comprising:
the acquisition module is used for acquiring the characteristic information of the software to be detected; the characteristic information of the software to be detected is divided into two types, namely the characteristic of the software to be detected and the characteristic of the running environment of the software to be detected, which is acquired by a method provided by an operating system;
the coding processing module is used for adding a change factor into the characteristic information and then carrying out coding processing to obtain a first sub domain name;
the combination module is used for combining the first sub-domain name serving as a prefix of a second sub-domain name with the second sub-domain name to form a domain name query request; wherein the second subdomain name is the domain name of the software update server;
the sending module is used for sending the domain name query request to the software update server so that the software update server can determine the query result of the software to be detected according to the domain name query request;
the receiving analysis module is used for receiving the query result and analyzing the query result to obtain software version upgrading information, wherein the query result is in a form of being packaged into an IP address or a TXT type, and the software version upgrading information comprises one of a software version number to be updated, an upgrading URL returned in the TXT type and a credential of an upgrading packet to be downloaded;
the sending module is specifically configured to submit the domain name query request to a default DNS server, and reach the software update server after DNS multi-level resolution forwarding is performed by the DNS server.
7. The software version-up device of claim 6, wherein the code processing module comprises:
the coding unit is used for coding the characteristic information to obtain a character string corresponding to the characteristic information;
the judging unit is used for judging whether the character string has preset sensitive information or preset special symbols;
and the standardized processing unit is used for carrying out standardized processing on the character string to obtain a first sub domain name if the character string has preset sensitive information or preset special symbols.
8. The software version-up device of claim 7, wherein the normalization process comprises: a removal operation or a hash operation;
the standardized processing unit includes:
the hash removing subunit is configured to perform the removing operation or the hash operation on the character string if preset sensitive information exists in the character string, so as to obtain a first sub domain name;
or alternatively, the first and second heat exchangers may be,
and the removing subunit is used for carrying out the removing operation on the character string to obtain a first sub domain name if the character string has a preset special symbol.
9. An electronic device comprising a memory, a processor, the memory having stored therein a computer program executable on the processor, wherein the processor, when executing the computer program, implements the method of any of claims 1 to 5.
10. A computer readable medium having non-volatile program code executable by a processor, wherein the program code causes the processor to perform the method of any one of claims 1 to 5.
CN201911035097.9A 2019-10-28 2019-10-28 Software version upgrading method and device based on DNS query Active CN110750290B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911035097.9A CN110750290B (en) 2019-10-28 2019-10-28 Software version upgrading method and device based on DNS query

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911035097.9A CN110750290B (en) 2019-10-28 2019-10-28 Software version upgrading method and device based on DNS query

Publications (2)

Publication Number Publication Date
CN110750290A CN110750290A (en) 2020-02-04
CN110750290B true CN110750290B (en) 2023-08-15

Family

ID=69280657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911035097.9A Active CN110750290B (en) 2019-10-28 2019-10-28 Software version upgrading method and device based on DNS query

Country Status (1)

Country Link
CN (1) CN110750290B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685613B (en) * 2021-01-06 2022-10-25 青岛海尔科技有限公司 Resource package query method and device and information processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103260178A (en) * 2013-04-28 2013-08-21 深圳市共进电子股份有限公司 Method of automatic detection upgrade for consumption wireless access point products
WO2013185570A1 (en) * 2012-06-13 2013-12-19 腾讯科技(深圳)有限公司 Software update method, software update system and computer storage medium
CN104065734A (en) * 2014-07-02 2014-09-24 北京润通丰华科技有限公司 Method and system for file transmission via DNS
WO2018081963A1 (en) * 2016-11-02 2018-05-11 达闼科技(北京)有限公司 Method and device for dns resolution and network system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977667B2 (en) * 2015-09-09 2018-05-22 Red Hat, Inc. Updating software utilizing domain name system (DNS)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013185570A1 (en) * 2012-06-13 2013-12-19 腾讯科技(深圳)有限公司 Software update method, software update system and computer storage medium
CN103260178A (en) * 2013-04-28 2013-08-21 深圳市共进电子股份有限公司 Method of automatic detection upgrade for consumption wireless access point products
CN104065734A (en) * 2014-07-02 2014-09-24 北京润通丰华科技有限公司 Method and system for file transmission via DNS
WO2018081963A1 (en) * 2016-11-02 2018-05-11 达闼科技(北京)有限公司 Method and device for dns resolution and network system

Also Published As

Publication number Publication date
CN110750290A (en) 2020-02-04

Similar Documents

Publication Publication Date Title
CN107209830B (en) Method for identifying and resisting network attack
US9602468B2 (en) Techniques to authenticate a client to a proxy through a domain name server intermediary
CN108270882B (en) Domain name resolution method and device, storage medium and electronic device
US8819787B2 (en) Securing asynchronous client server transactions
US8234376B2 (en) Server apparatus and method of preventing denial of service attacks, and computer program product
US8336087B2 (en) Robust digest authentication method
US20060288220A1 (en) In-line website securing system with HTML processor and link verification
US20080140841A1 (en) Method and apparatus for detecting the IP address of a computer, and location information associated therewith
CN111431753A (en) Asset information updating method, device, equipment and storage medium
US9467416B2 (en) Methods and systems for dynamic domain name system (DDNS)
CN114915435B (en) Service data access method and system
CN110620670A (en) Token acquisition method, data acquisition system, proxy server, and storage medium
US8566589B1 (en) Method and apparatus for identifying a web server
CN112311722B (en) Access control method, device, equipment and computer readable storage medium
CN110224824B (en) Digital certificate processing method and device, computer equipment and storage medium
CN111935123A (en) Method, equipment and storage medium for detecting DNS spoofing attack
CN110750290B (en) Software version upgrading method and device based on DNS query
CN114866258A (en) Method and device for establishing access relationship, electronic equipment and storage medium
CN103312724A (en) Domain name system (DNS) request authentication method and device
CN111431935A (en) Method for identifying data transmission security of website login password
CN114338630B (en) Domain name access method, device, electronic equipment, storage medium and program product
CN113965392B (en) Malicious server detection method, system, readable medium and electronic equipment
CN107370728B (en) Instant license generation and verification system and method based on electronic license library
CN114006724B (en) Method and system for discovering and authenticating encryption DNS resolver
CN113329035B (en) Method and device for detecting attack domain name, electronic equipment and storage medium

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