8

I resolved an IP address from a URL using nslookup and noticed the following:

nslookup https://example.com

Server 192.168.3.214

Address 192.168.3.214#53

What does the #53 at the end mean?

Peter Mortensen
  • 12,090
  • 23
  • 70
  • 90
Linton
  • 97
  • 1
  • 2
  • 20
    Why are you running nslookup with "https://" ? – davidgo Sep 14 '20 at 08:16
  • nslookup is to look for a domain name using your local DNS (usually, that one defaults to global DNSes for "outside of your own local list" domain names). You should just do : `nslookup domainname` (here: `nslookup example.com` ). note that `www.example.com` may resolve differently than `mail.example.com` or other subdomains of example.com – Olivier Dulac Sep 14 '20 at 16:27

2 Answers2

33

#53 refers to port 53, the standard port for DNS.

davidgo
  • 68,623
  • 13
  • 106
  • 163
  • 48
    It should be noticed that this is not "standard" notation. More often than not, ports are specified using `:`, for example `127.0.0.1:443`. It seems to be a quirk in nslookup. – MechMK1 Sep 14 '20 at 13:28
  • 10
    `nslookup` is a very old tool, before there was any convention for this notation. – Barmar Sep 14 '20 at 16:38
  • @MechMK1 The answer used to say that; not sure why it doesn't any more. – wizzwizz4 Sep 14 '20 at 17:43
  • 3
    @MechMK1 `nslookup` is part of `bind`, which is ancient, having started in the 80s at Berkeley. – Ross Presser Sep 14 '20 at 18:38
  • 1
    @wizzwizz O edited it out of my answer because I initially overlooked the "nslookup" line, so I was speculating a bit. When I saw nslookup with wring syntax I modified my answer because I became sure of what #53 was but was no longer convinced that the # was nonstandard as that tool is ubiquitous, and arguably created the standard. I did not, however know it predated standard ":" notation - and wondered if it specifically implied UDP or something obscure like that. – davidgo Sep 14 '20 at 19:03
  • It's probably a better notation, now that a colon is used for different purposes in IPv6. – Karl Bielefeldt Sep 15 '20 at 13:28
1

In any event, the Address...#53 line refers to the server, rather than being an answer to the resolution request. Running the command on- as others have observed- an elderly server:

$ nslookup https://example.com
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find https://example.com: NXDOMAIN

$ nslookup example.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: 93.184.216.34

There is obviously scope for confusion here because of # being used for anchors inside web pages. However OP should have taken that error message to heart and wondered what else wasn't working as he expected :-)