How to troubleshoot DNS issues on macOS

Updated April 08, 2022 · Published January 28, 2018

Below are a few methods and tools to help troubleshoot DNS on a Mac. This includes displaying the current DNS configuration, clearing your DNS cache, how to query a DNS server, and to even view the current DNS cache.

Display DNS configuration

To display your DNS configuration, run the following command from a terminal.

scutil --dns

Clear DNS cache

Sometimes you need to clear you DNS cache. In order to do this, run the following commands from a terminal. Depending on your browser, you may need to also close your browser and clear it's own cache.

sudo killall -HUP mDNSResponder
sudo dscacheutil -flushcache

Query DNS with nslookup

If you need to do simple lookups you can use nslookup to query a DNS server for a response.

# query default DNS server
# query Google's Public DNS Server

Query DNS with dig

If you need a more advanced view or need to trace the steps of DNS query, the dig tool is very useful.

# query all results
dig ANY
# query A records
dig A
# query MX records
dig MX
# query NS records
dig NS
# query using a specific nameserver
# trace the path taken of a query
dig +trace

View DNS cache

Open Console, select your local machine, and search for mDNSResponder. Then open a terminal and type the command below. This will dump the current DNS cache into the console window.

sudo killall -INFO mDNSResponder