# US 7,984,186 B2 · Method, system, and apparatus for discovering user agent DNS settings

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,984,186 B2
- Document ID: US7984186B2
- Status: Granted
- Kind: B2
- Application number: 12/198,495
- Filed: 2008-08-26
- Published: 2010-02-11
- Granted: 2011-07-19
- Earliest claimed: 2007-08-27
- Assignees: DNSStuff, INC.
- Inventors: R. Scott Perry; Paul D. Parisi
- Web page: https://patentgrep.com/patent/US7984186B2

## CPC

- H04L 61/4511: using domain name system [DNS]
- H04L 63/1483: {service impersonation, e.g. phishing, pharming or web spoofing (detection of rogue wireless access points H04W12/12)}
- H04L 67/303: Terminal profiles
- H04L 63/1441: {Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method, system and apparatus including receiving a request from a network device, the request including an IP address of said network device, generating and sending to the network device a domain name for locating a device configured to process a DNS query, the domain name corresponding to the IP address, the network device generating and sending a DNS query including the domain name and at least one local DNS setting of the network device to the device configured to the process the DNS query, and the device processing an association between the IP address and the at least one local DNS setting of the network device.

## Claims

### Claim 1

A method comprising the steps of:
receiving a request from a network device, said request including an IP address of said network device;
generating a domain name for locating a device configured to process a DNS query, said domain name corresponding to said IP address;
sending said domain name to said network device; generating and sending a DNS query including said domain name and at least one local DNS setting of said network device from said network device to said device configured to process said DNS query;
processing an association between said IP address and said at least one local DNS setting of said network device, wherein said processing includes at least one of storing, forwarding, analyzing monitoring, validating, and authenticating said association between said IP address and said at least one local DNS setting; and
determining whether at least one of a current device IP address and current local DNA setting matches to a table of previously stored associations of approved prior IP addresses and prior local DNS settings.

### Claim 2 (depends on 1)

The method, as set forth in claim 1, wherein said device configured to process said DNS query includes said device configured to at least one of a store, forward, analyze, monitor, validate, and authenticate said DNS query.

### Claim 3 (depends on 1)

The method, as set forth in claim 1, further including the step of: allowing a network resource to access content from said device when it is determined that there is at least one match in said table.

### Claim 4 (depends on 1)

The method, as set forth in claim 1, further including the step of: notifying said network device that said at least one of a current device IP address and current local DNS setting may be at risk when it is determined that there is no match in said table.

### Claim 5 (depends on 1)

The method, as set forth in claim 1, further including the step of: generating said domain name in response to said network device receiving said first request.

### Claim 6 (depends on 1)

The method, as set forth in claim 1, further including the step of: generating said DNS query in response to said network device receiving said domain name.

### Claim 7 (depends on 1)

The method, as set forth in claim 1, further including the step of: storing said association between said IP address and said local DNS settings of said network device in response to said device receiving said second request from said network device.

### Claim 8 (depends on 1)

The method, as set forth in claim 1, further including the step of: generating said domain name.

### Claim 9 (depends on 8)

The method, as set forth in claim 8, further including the step of: generating a subdomain from said IP address.

### Claim 10 (depends on 1)

The method, as set forth in claim 1, further including the step of: receiving said request from a user agent of said network device.

### Claim 11

A method comprising:
receiving a first request for a first content from a second network device, said first request including a first domain name for locating a first network device and an IP address of said second network device;
generating a second content including a second domain name for locating a domain name server, said second domain name corresponding to said IP address and said first domain name;
sending said first content and said second content to said second network device;
generating a second request including said second domain name and at least one local DNS setting of said second network device;
said second network device sending said second request to a domain name server; and
said domain name server storing an association between said IP address and said at least one local DNS setting of said second network device; and
determining whether at least one of a current device IP address and current local DNA setting matches to a table of previously stored associations of approved prior IP addresses and prior local DNA settings.

### Claim 12 (depends on 11)

The method, as set forth in claim 11, further including the step of: generating said second content in response to said first network device receiving said first request.

### Claim 13 (depends on 11)

The method, as set forth in claim 11, further including the step of: generating said second request in response to said second network device receiving said second content.

### Claim 14 (depends on 11)

The method, as set forth in claim 11, further including the step of: storing said association between said IP address and said local DNS settings of said second network device in response to said domain name server receiving said second request from said second network device.

### Claim 15 (depends on 11)

The method, as set forth in claim 11, further including the step of: generating said second domain name.

### Claim 16 (depends on 15)

The method, as set forth in claim 15, further including the step of: generating a subdomain from said IP address and appending said first domain name to said subdomain.

### Claim 17

A system comprising the following:
a domain name server configured to store an association between an IP address and at least one domain name system (DNS) setting of a network device; and
a content server in operative association with said domain name server, said content server configured to:
receive a first request for a first content from said network device, said first request including a first domain name to locate said content server and said IP address of said network device;
to generate a second content including a second domain name to locate said domain name server, said second domain name corresponding to said IP address and said first domain name;
to send said first content and said second content to said network device, said network device being configured to generate a second request including said second domain name and said at least one DNS setting, and send said second request to said domain name server; and
to determine whether at least one of a current device IP address and current local DNS setting matches to a table of previously stored associations of approved prior IP addresses and prior local DNS settings.

### Claim 18

A computer program product comprising computer readable program code stored on a non-transitory computer readable medium, the program code adapted to execute a method, said method including:
a first network device receiving a first request from a second network device, said first request including an IP address of said second network device, said first network device generating and sending a content to said second network device, said content including a domain name for locating a domain name server, said domain name corresponding to said IP address,
said second network device generating and sending a second request to said domain name server, said second request including said domain name and at least one domain name system (DNS) setting of said second network device,
said domain name server storing or forwarding an association between said IP address and said at least one DNS setting; and
determining whether at least one of a current device IP address and current local DNS setting matches to a table of previously stored associations of approved prior IP addresses and prior local DNS settings.
