How to query macOS DNS resolver from Terminal?
Hire the world's top talent on demand or became one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Dreamlands
--
Chapters
00:00 How To Query Macos Dns Resolver From Terminal?
01:38 Accepted Answer Score 71
02:10 Answer 2 Score 19
04:10 Thank you
--
Full question
https://superuser.com/questions/1400250/...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#networking #macos #mac #dns
#avk47
ACCEPTED ANSWER
Score 71
It seems taking the effort to formulate the question I understood the problem better to perform more precise google searches and found the answer.
On macOS querying DNS is achieved by:
$ dscacheutil -q host -a name example.com
name: example.com
ipv6_address: 2606:2800:220:1:248:1893:25c8:1946
name: example.com
ip_address: 93.184.216.34
Like most macOS shell commands it is not quite as nice as the unix equivalent, but it gives me consistent results with native mac apps.
I found this from https://random.ac/cess/2018/04/12/macos-dig-vs-dscacheutil-while-using-split-dns-with-viscosity-vpn-client/
ANSWER 2
Score 19
In addition to the great dig (pun intended) of the dscacheutil
usage that's not covered by the man documentation, I'd like to add that at the core of the macOs name resolution system sits the mDNSresponder service, and it seems to be gathering all different sources of the lookup information under the common interface.
The tool for interacting with the mDNS subsystem is dns-sd
, and as such, there is another way of querying for the DNS records that will honor all available resolvers:
~ » dns-sd -G v4v6 google.com
DATE: ---Wed 04 Nov 2020---
19:05:47.081 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
19:05:47.175 Add 2 0 google.com. 2A00:1450:4001:081D:0000:0000:0000:200E%<0> 377
19:05:47.255 Add 2 0 google.com. 172.217.22.110 377
or
~ » dns-sd -q google.com
DATE: ---Wed 04 Nov 2020---
20:27:50.834 ...STARTING...
Timestamp A/R Flags if Name Type Class Rdata
20:27:50.925 Add 2 0 google.com. Addr IN 172.217.22.110
or even
~ » dns-sd -q google.com TXT
DATE: ---Wed 04 Nov 2020---
20:30:45.908 ...STARTING...
Timestamp A/R Flags if Name Type Class Rdata
20:30:48.831 Add 3 0 google.com. TXT IN 36 bytes: 23 76 3D 73 70 66 31 20 69 6E 63 6C 75 64 65 3A 5F 73 70 66 2E 67 6F 6F 67 6C 65 2E 63 6F 6D 20 7E 61 6C 6C
20:30:48.831 Add 3 0 google.com. TXT IN 46 bytes: 2D 64 6F 63 75 73 69 67 6E 3D 30 35 39 35 38 34 38 38 2D 34 37 35 32 2D 34 65 66 32 2D 39 35 65 62 2D 61 61 37 62 61 38 61 33 62 64 30 65
20:30:48.831 Add 3 0 google.com. TXT IN 46 bytes: 2D 64 6F 63 75 73 69 67 6E 3D 31 62 30 61 36 37 35 34 2D 34 39 62 31 2D 34 64 62 35 2D 38 35 34 30 2D 64 32 63 31 32 36 36 34 62 32 38 39
20:30:48.831 Add 3 0 google.com. TXT IN 60 bytes: 3B 66 61 63 65 62 6F 6F 6B 2D 64 6F 6D 61 69 6E 2D 76 65 72 69 66 69 63 61 74 69 6F 6E 3D 32 32 72 6D 35 35 31 63 75 34 6B 30 61 62 30 62 78 73 77 35 33 36 74 6C 64 73 34 68 39 35
20:30:48.831 Add 2 0 google.com. TXT IN 65 bytes: 40 67 6C 6F 62 61 6C 73 69 67 6E 2D 73 6D 69 6D 65 2D 64 76 3D 43 44 59 58 2B 58 46 48 55 77 32 77 6D 6C 36 2F 47 62 38 2B 35 39 42 73 48 33 31 4B 7A 55 72 36 63 31 6C 32 42 50 76 71 4B 58 38 3D
Truth to be told, this is not the best command for scripting as it operates in an interactive continuous monitoring mode that would notify of any changes on the given address until one interrupts it. Although it allows for some fun stuff like watching a VPN-only path to disappear and then reappear when you reconnect:
~ » dns-sd -G v4v6 vpn.only.address.com
DATE: ---Wed 04 Nov 2020---
19:10:01.672 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
19:10:01.673 Add 40000002 0 vpn.only.address.com. 10.100.100.100 333
19:10:01.759 Add 2 0 vpn.only.address.com. 0000:0000:0000:0000:0000:0000:0000:0000%<0> 323 No Such Record
19:10:07.703 Rmv 0 0 vpn.only.address.com. 10.100.100.100 0
19:10:10.783 Add 2 0 vpn.only.address.com. 0.0.0.0 4502 No Such Record
19:10:10.905 Add 2 0 vpn.only.address.com. 0000:0000:0000:0000:0000:0000:0000:0000%<0> 4502 No Such Record
19:10:32.669 Add 3 0 vpn.only.address.com. 10.100.100.100 298
19:10:32.670 Add 2 0 vpn.only.address.com. 0000:0000:0000:0000:0000:0000:0000:0000%<0> 228 No Such Record