# US 10,320,740 B2 · Systems and methods for performing dual DNS lookup to detect public versus intranet

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

- Number: US 10,320,740 B2
- Document ID: US10320740B2
- Status: Granted
- Kind: B2
- Application number: 14/712,960
- Filed: 2015-05-15
- Published: 2016-11-17
- Granted: 2019-06-11
- Earliest claimed: 2015-05-15
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Arif Ali Saiyed; Deepak Ramaswamy; Jinu Joy
- Web page: https://patentgrep.com/patent/US10320740B2

## CPC

- H04L 61/4511: using domain name system [DNS]
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 61/4552: Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure is directed towards systems and methods for performing dual domain name system (DNS) lookups to detect whether a request is for a public site versus an intranet site on a private network. A hosted application on a client device on a first network can receive web page content from a second network via a tunnel connection. The hosted application may intercept a request on the client device to access an intranet site on the second network identified by the web page content. An IP address resolution can be performed of a first DNS lookup of sites on the first network and a second DNS lookup can be performed. The hosted application can communicate the request via the tunnel connection to a second device on the second network responsive to determining that the first IP address resolution is different from the second IP address resolution.

## Claims

### Claim 1

A method for performing dual DNS lookup to detect a request for a public site versus a request for an intranet site, the method comprising:
receiving, by a hosted application on a client device on a first network, web page content from a second network via a tunnel connection, the web page content identifying intranet sites on the second network;
intercepting, by the hosted application, a request made from an application browser executing on the client device within the hosted application to access an intranet site on the second network identified by the web page content;
performing, by the hosted application responsive to intercepting the request, a first IP address resolution of a first DNS lookup of the intranet site on the first network;
transmitting, by the hosted application, the request to the second device on the second network via the tunnel connection;
receiving, by the hosted application, a second IP address resolution of a second DNS lookup of the intranet site performed responsive to intercepting the request on the second network via the tunnel connection;
determining for the request that the first IP address resolution is different from the second IP address resolution;
providing, by the hosted application, access for the application browser executing on the client device and within the hosted application to the intranet site corresponding to the request on the second network using the tunnel connection; and
communicating, by the hosted application, the intercepted request via the tunnel connection to a second device on the second network responsive to determining that the first IP address resolution is different from the second IP address resolution.

### Claim 2 (depends on 1)

The method of claim 1, further comprising establishing, by the hosted application, a secure connection to the second device on the second network using the tunnel connection.

### Claim 3 (depends on 1)

The method of claim 1, further comprising performing, by the second device on the second network, the second IP address resolution of the second DNS lookup on the second network using the request.

### Claim 4 (depends on 1)

The method of claim 1, wherein performing the first IP address resolution further comprises determining, by the hosted application, that the request does not correspond to at least one site on the first network.

### Claim 5 (depends on 1)

The method of claim 1, further comprising intercepting, by the hosted application, a second request from an application browser executing on the client device and within the hosted application.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
performing, by the hosted application, a third IP address resolution of a third DNS lookup of sites on the first network based on the second request; and
receiving, by the hosted application, a fourth IP address resolution of a fourth DNS lookup performed on the second network via the tunnel connection based on the second request.

### Claim 7 (depends on 6)

The method of claim 6, further comprising redirecting, by the hosted application, the second request to a browser executing on the client device and not through the hosted application.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
comparing, by the hosted application, results of the first IP address resolution of the first DNS lookup to results of the second IP address resolution of the second DNS lookup,
determining, by the hosted application, whether the request is for an external site or an intranet site on the second domain based on the comparison.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
determining, by the hosted application, that the request is for an external site and that a plurality of sites in the results of the first IP address resolution of the first DNS lookup matches all sites of a plurality of sites in the results of the second IP address resolution of the second DNS lookup; and
redirecting, by the hosted application, the request to a browser executing on the client device.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
determining, by the hosted application, that the request is for the intranet site and that at least one site of a plurality of sites in the results of the first IP address resolution of the first DNS lookup does not match at least one site of a plurality of sites in the results of the second IP address resolution of the second DNS lookup; and
establishing, by the hosted application, via an application browser executing on the client device and within the hosted application, a connection to the intranet site on the second network responsive to determining that the request is for the intranet site.

### Claim 11

A system for performing dual DNS lookup to detect a request for a public site versus a request for an intranet site, the system comprising:
a hosted application executing on a client device on a first network, the hosted application configured to:
receive web page content from a second network via a tunnel connection, the web page content identifying intranet sites on the second network;
intercept a request on the client device made from an application browser executing on the client device within the hosted application to access an intranet site on the second network identified by the web page content;
perform, responsive to intercepting the request, a first IP address resolution of a first DNS lookup of the intranet site on the first network;
transmit the request to the second device on the second network via the tunnel connection
receive a second IP address resolution of a second DNS lookup of the intranet site performed, responsive to intercepting the request, on the second network via the tunnel connection;
determine for the request that the first IP address resolution is different from the second IP address resolution;
provide access for the application browser executing on the client device and within the hosted application to the intranet site corresponding to the request on the second network using the tunnel connection; and
communicate the intercepted request via the tunnel connection to a second device on the second network responsive to determining that the first IP address resolution is different from the second IP address resolution.

### Claim 12 (depends on 11)

The system of claim 11, wherein the hosted application is configured to establish a secure connection to the second device on the second network using the tunnel connection.

### Claim 13 (depends on 11)

The system of claim 11, wherein the second device on the second domain is configured to perform the second IP address resolution of the second DNS lookup on the second network using the request.

### Claim 14 (depends on 11)

The system of claim 11, wherein the hosted application is configured to determine that the request does not correspond to at least one site on the first network.

### Claim 15 (depends on 11)

The system of claim 11, wherein the hosted application is configured to intercept a second request from an application browser executing on the client device and within the hosted application.

### Claim 16 (depends on 15)

The system of claim 15, wherein the hosted application is configured to:
perform a third IP address resolution of a third DNS lookup of sites on the first network based on the second request;
receive a fourth IP address resolution of a fourth DNS lookup performed on the second network via the tunnel connection based on the second request; and
redirect the second request to a browser executing on the client device and not through the hosted application.
