nslookup.exe is a Windows command-line utility that queries Domain Name System (DNS) servers to troubleshoot network connectivity issues and verify domain name resolution. This built-in tool helps you diagnose DNS problems, check domain configurations, and understand how your computer communicates with the internet.
If you’ve ever wondered why a website won’t load or need to verify DNS records, nslookup.exe is your go-to diagnostic tool. This guide explains everything you need to know, from basic queries to advanced troubleshooting techniques.
What Is nslookup.exe and Why It Matters
nslookup stands for “name server lookup.” The .exe file lives in your Windows system folder (usually C:\Windows\System32) and runs directly from Command Prompt or PowerShell.
What it does:
- Converts domain names to IP addresses
- Queries DNS servers for specific record types
- Tests DNS server responses
- Troubleshoots network connectivity problems
- Verifies mail server configurations
DNS acts as the internet’s phone book. When you type google.com into your browser, DNS translates that name into an IP address like 142.250.80.46 so your computer knows where to connect. When DNS fails, websites become unreachable even though your internet connection works fine.

How to Access and Use nslookup.exe
Opening the Tool
Windows 10/11:
- Press Windows key + R
- Type “cmd” and press Enter
- Type “nslookup” and press Enter
You’ll see a prompt showing your default DNS server and its IP address.
PowerShell method:
- Right-click Start menu
- Select “Windows PowerShell”
- Type “nslookup” and press Enter
Basic Syntax
The simplest command structure looks like this:
nslookup domain.com
This returns the IP address associated with that domain name.
Common nslookup Commands and What They Do
Simple Domain Lookup
nslookup google.com
Returns:
- The DNS server handling your query
- The IP address(es) for google.com
This basic query tells you if DNS resolution works for a specific domain.
Querying a Specific DNS Server
nslookup google.com 8.8.8.8
This forces nslookup to query Google’s public DNS server (8.8.8.8) instead of your default server. Use this to compare results between different DNS providers.
Reverse DNS Lookup
nslookup 8.8.8.8
This finds the domain name associated with an IP address. Useful for identifying unknown servers or verifying IP ownership.
Finding Specific Record Types
DNS stores different types of records. Here’s how to query each:
Mail server records (MX):
nslookup -type=MX domain.com
Shows which servers handle email for that domain.
Name server records (NS):
nslookup -type=NS domain.com
Lists the authoritative DNS servers for a domain.
Start of Authority (SOA):
nslookup -type=SOA domain.com
Displays administrative information about the domain’s DNS zone.
Text records (TXT):
nslookup -type=TXT domain.com
Shows text records often used for domain verification and email security (SPF, DKIM).
IPv6 addresses (AAAA):
nslookup -type=AAAA domain.com
Returns IPv6 addresses instead of IPv4.
Interactive Mode: Advanced Troubleshooting
Type “nslookup” without parameters to enter interactive mode. This lets you run multiple queries without retyping the command each time.
Useful interactive commands:
| Command | Function |
|---|---|
| server 1.1.1.1 | Switch to Cloudflare DNS |
| set type=MX | Change query type to mail servers |
| set debug | Show detailed query information |
| set timeout=10 | Change timeout to 10 seconds |
| exit | Leave interactive mode |
Example session:
nslookup
> server 8.8.8.8
> set type=MX
> gmail.com
> exit
This sequence switches to Google DNS, looks up Gmail’s mail servers, then exits.
Real-World Troubleshooting Scenarios
Problem: Website Won’t Load
Step 1: Test basic DNS resolution
nslookup example.com
What to look for:
- If it returns an IP address, DNS works fine. The problem lies elsewhere.
- If you get “server failed” or “timed out,” your DNS server has issues.
- If you get “non-existent domain,” the website might be down or the domain name is wrong.
Step 2: Try a different DNS server
nslookup example.com 1.1.1.1
If this works but your default DNS failed, switch your computer’s DNS settings to a public DNS provider.
Problem: Email Delivery Issues
Check mail server configuration:
nslookup -type=MX yourdomain.com
What you should see:
- One or more mail server entries with priority numbers
- Lower numbers mean higher priority
Common issues:
- No MX records found: Email cannot be delivered to this domain
- Wrong server names: Messages route to incorrect destinations
- High TTL values: Changes take longer to propagate
Problem: DNS Cache Poisoning Suspicion
Compare multiple DNS servers:
nslookup domain.com 8.8.8.8
nslookup domain.com 1.1.1.1
If results differ significantly, one DNS server might be compromised or outdated. According to Cloudflare’s DNS security guide, verifying responses across multiple servers helps identify tampering.
Problem: Slow Website Loading
Check DNS response time:
In interactive mode:
nslookup
> set debug
> example.com
Debug mode shows how long queries take. Response times over 100ms indicate slow DNS servers. Consider switching to faster alternatives like Cloudflare (1.1.1.1) or Google (8.8.8.8).
Understanding nslookup Output
A typical response looks like this:
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
Breaking it down:
Server line: Shows which DNS server answered your query
Address line: The IP address of that DNS server
Non-authoritative answer: This DNS server retrieved the information from cache or another server, rather than being the official source
Name: The domain you queried
Address: The IP address assigned to that domain
Authoritative answer: Means the response came directly from the domain’s official DNS server. More reliable than cached responses.
Error Messages and How to Fix Them
“DNS request timed out”
Cause: Your DNS server didn’t respond within the timeout period
Solutions:
- Check your internet connection
- Try a different DNS server
- Increase timeout:
set timeout=10in interactive mode - Restart your router
- Flush DNS cache:
ipconfig /flushdns
“Server failed”
Cause: The DNS server encountered an internal error
Solutions:
- Switch to a public DNS server (8.8.8.8 or 1.1.1.1)
- Check firewall settings blocking port 53
- Verify your router’s DNS configuration
“Non-existent domain”
Cause: The domain name doesn’t exist or was typed incorrectly
Solutions:
- Double-check spelling
- Verify the domain is active
- Try the query on a different network
- Check if the domain recently expired
“Default servers are not available”
Cause: Your computer can’t reach any configured DNS servers
Solutions:
- Run
ipconfig /allto verify DNS server settings - Manually configure DNS servers in network adapter properties
- Reset network settings:
netsh winsock reset - Restart your computer and router
Advanced nslookup Techniques
Checking DNS Propagation
When you change DNS records, updates take time to spread globally. Test propagation:
nslookup domain.com 8.8.8.8
nslookup domain.com 1.1.1.1
nslookup domain.com 208.67.222.222
Compare results across Google DNS, Cloudflare DNS, and OpenDNS. Matching results indicate successful propagation.
Verifying DNSSEC
DNS Security Extensions protect against cache poisoning. Check DNSSEC status:
nslookup -type=DNSKEY domain.com
A response with DNSKEY records means DNSSEC is enabled. No records mean it’s not configured.
Batch Testing Multiple Domains
Create a text file (domains.txt) with one domain per line:
google.com
microsoft.com
cloudflare.com
Run this PowerShell command:
Get-Content domains.txt | ForEach-Object { nslookup $_ }
This queries all domains automatically. Useful for monitoring multiple services.
Finding All DNS Records
nslookup -type=ANY domain.com
Returns all available DNS record types. Note that some DNS servers restrict ANY queries for security reasons.
nslookup Alternatives and Complementary Tools
When to Use Each Tool
| Tool | Best For |
|---|---|
| nslookup | Quick DNS queries, basic troubleshooting |
| dig | Detailed DNS analysis (requires installation on Windows) |
| ping | Testing actual connectivity to IP addresses |
| tracert | Finding network path bottlenecks |
| ipconfig /displaydns | Viewing local DNS cache |
| ipconfig /flushdns | Clearing DNS cache |
Using nslookup with Other Commands
Complete DNS troubleshooting workflow:
- Check DNS resolution:
nslookup domain.com - Clear local cache:
ipconfig /flushdns - Test again:
nslookup domain.com - Verify connectivity:
ping domain.com - Trace route:
tracert domain.com
This sequence isolates whether problems stem from DNS, local cache, or network routing.
Security and Privacy Considerations
DNS Queries Are Not Private
Standard DNS queries travel unencrypted. Your ISP and network administrators can see every domain you look up. Consider:
DNS over HTTPS (DoH): Windows 11 supports encrypted DNS. Enable it in network settings for privacy.
Public DNS servers: While services like Google DNS (8.8.8.8) and Cloudflare DNS (1.1.1.1) offer faster performance, they also log your queries. Read their privacy policies before switching.
Company networks: Using nslookup on workplace computers may be monitored. IT departments often log DNS queries for security purposes.
Avoiding Common Pitfalls
Don’t query suspicious domains repeatedly. This can trigger security alerts or blacklist your IP address.
Be cautious with unfamiliar DNS servers. Malicious DNS servers can redirect you to phishing sites. Stick with reputable providers.
Verify results across multiple sources. If nslookup returns unexpected results, cross-check with online DNS lookup tools before taking action.
Automating nslookup with Scripts
Basic Batch File
Create a .bat file to run regular DNS checks:
@echo off
echo Checking DNS servers...
nslookup google.com 8.8.8.8
nslookup microsoft.com 1.1.1.1
echo.
echo Press any key to exit
pause > nul
Save as “dns_check.bat” and double-click to run.
PowerShell Script for Monitoring
$domains = @("google.com", "github.com", "stackoverflow.com")
foreach ($domain in $domains) {
$result = nslookup $domain 2>&1
if ($result -match "Address:") {
Write-Host "$domain is reachable" -ForegroundColor Green
} else {
Write-Host "$domain failed DNS lookup" -ForegroundColor Red
}
}
This script checks multiple domains and color-codes results.
Performance Optimization Tips
Choosing the Fastest DNS Server
Test response times for different DNS providers:
- Open Command Prompt
- Run these commands and note the speed:
nslookup google.com 8.8.8.8
nslookup google.com 1.1.1.1
nslookup google.com 208.67.222.222
The fastest should respond in under 50ms. According to ICANN’s DNS best practices, faster DNS servers significantly improve browsing speed.
Reducing DNS Lookup Time
Increase DNS cache size:
Windows caches DNS responses temporarily. You can extend cache duration:
- Press Windows + R
- Type “regedit”
- Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
- Modify MaxCacheTtl to 86400 (24 hours in seconds)
Use a local DNS resolver:
Software like Acrylic DNS Proxy caches responses locally, speeding up repeat queries.
When nslookup Isn’t Enough
Signs You Need Professional Help
Contact your IT department or ISP if:
- nslookup works but websites still won’t load
- You get different results on different devices
- DNS servers change without your permission
- Queries consistently timeout across all servers
- You suspect network security compromises
Network-Level Issues Beyond DNS
If nslookup returns correct IP addresses but connectivity fails:
Check routing: Use tracert domain.com to find where connections break
Verify firewall rules: Ensure ports 80 and 443 aren’t blocked
Test direct IP access: Type the IP address into your browser. If this works, DNS is fine but something blocks domain names
Examine proxy settings: Corporate proxies can interfere with DNS resolution
Frequently Asked Questions
Why does nslookup show different IP addresses than my browser?
Websites often use multiple IP addresses for load balancing. nslookup returns one address from the pool, while browsers might connect to another. Both are correct. Additionally, content delivery networks (CDNs) return different IPs based on your geographic location.
Can nslookup fix DNS problems automatically?
No. nslookup is a diagnostic tool that reveals problems, but it doesn’t fix them. Use it to identify issues, then take action like changing DNS servers, flushing cache, or adjusting network settings.
Is it safe to use public DNS servers like 8.8.8.8?
Generally yes, but understand the trade-offs. Public DNS servers from Google, Cloudflare, and OpenDNS offer fast, reliable service. However, they log your queries and can see your browsing patterns. Review privacy policies before switching. For sensitive work, use your organization’s DNS servers.
Why do I get “non-authoritative answer” messages?
This is normal and not a problem. It means the DNS server retrieved information from its cache or another server rather than directly from the domain’s authoritative name server. The answer is still correct. You only see “authoritative answer” when querying a domain’s official name servers directly.
How often should I run nslookup to monitor my network?
For home users, only run it when troubleshooting connectivity issues. For IT professionals managing networks, automated monitoring every 15-30 minutes helps catch DNS failures quickly. Set up scripts that alert you when queries fail rather than manually checking constantly.
Conclusion
nslookup.exe remains one of the most valuable tools in Windows for diagnosing network and DNS problems. Whether you’re troubleshooting a single website that won’t load or managing enterprise DNS infrastructure, understanding how to use nslookup effectively saves time and frustration.
Start with simple queries to verify domain resolution. Progress to specific record types when investigating email problems or domain configurations. Use interactive mode for complex troubleshooting sessions. Compare results across multiple DNS servers to identify caching issues or compromised resolvers.
Remember that nslookup reveals problems but doesn’t solve them automatically. Use the information it provides to make informed decisions about changing DNS servers, flushing caches, or escalating issues to network administrators.
Keep this guide bookmarked for quick reference. With practice, you’ll develop the diagnostic skills to resolve most DNS-related connectivity issues within minutes rather than hours.
