Dnslint Remarks

Updated: March 28, 2003

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

DNSLint Remarks

DNSLint Information

The DNSLint tool streamlines the process of troubleshooting and diagnosing DNS issues on the Internet and private networks. Typically, it traverses a DNS network in under a minute, and then generates a report in HTML format.

DNSLint verifies that all authoritative DNS servers for a domain are responding to DNS queries, and have synchronized zone data. It verifies domain Host (A) records, Name Server (NS) records, Mail Exchange (MX) records, and the glue records associated with the delegation

DNSLint and E-Mail

Use the /c (connectivity test) parameter to have DNSLint test well-known e-mail ports on all e-mail servers that it finds while inspecting DNS servers for the specified domain name. The tool supports the following protocols:

  • The Simple Mail Transfer Protocol (SMTP)

  • Post Office Protocol (POP) version 3

  • Internet Message Access Protocol (IMAP) version 4

By default, when the /c parameter is specified, DNSLint attempts to connect to all three ports on each e-mail server it finds. (for example, TCP port 25 for SMTP, TCP port 110 for POP3, and TCP port 143 for IMAP).

DNSLint reports the following port status: listening, not listening, or no response. In the case of a listening port, DNSLint returns any response the port might have. The following example demonstrates the response DNSLint might return for a listening SMTP port :

220 mailsrv.reskit.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.3705 ready at Mon, 13 May 2002 17:08:36 -0700

Using DNSLint /ql to diagnose Active Directory DNS

DNSLint's /ql (Query List) option provides this functionality. DNSLint reads instructions from the text file specified using the /ql option. Once it has verified that the file is a valid DNSLint input file, it runs the queries that are specified within the file and reports the results in an easy to read HTML report (and optionally in a text report). This input file allows administrators to customize which DNS servers to query and exactly which DNS records to look for on each server. The format of the input file is as follows:


The file must start with the word "dnslint" at the top of it. This is the first thing DNSLint looks for when the input file is opened. If it is not the first word read when the file is opened, the specified input file is rejected and an error is generated.


This line specifies the IP address of a DNS server to send queries to. [dns~server] must be specified followed by a valid IP address. If either of these two components is missing, an error is generated and the specified input file is rejected.

Subsequent lines indicate the queries to send to the specified DNS server:


Format of the queries:

The first field in the line is the name to query. For example www.fourthcoffee.com. The name is then immediately followed by a comma. No spaces are allowed on either side of the comma.

The second field follows the comma immediately after the name to query. The second field is the type of record to query for. Valid types are as follows:

  • a = Host

  • ptr = Pointer

  • cname = Alias

  • mx = Mail Exchange

  • srv = Service Location

The type of record is then immediately followed by a comma. No spaces are allowed on either side of the comma.

The third field is the type of query. This field immediately follows the comma after the type of record. Valid query types are as follows:

  • r = recursive

  • i = iterative

Nothing else is required to follow the third field. All three fields are required, and no spaces are allowed anywhere within the query line. A fourth field is optional. Appending ",tcp" to the third field will make DNSLint send the specified query using the TCP protocol instead of the default UDP protocol. Again, no spaces are allowed and nothing should follow this field if it is used.

See Also

Community Additions