Get the location of the ISS using DNS
254 points
12 hours ago
| 18 comments
| shkspr.mobi
| HN
theobeers
9 hours ago
[-]
Another record, Name Authority Pointer (NAPTR), has the telephone number of the Johnson Space Center in Houston:

  > dig where-is-the-iss.dedyn.io NAPTR

  ; <<>> DiG 9.10.6 <<>> where-is-the-iss.dedyn.io NAPTR
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31786
  ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 1232
  ;; QUESTION SECTION:
  ;where-is-the-iss.dedyn.io. IN NAPTR

  ;; ANSWER SECTION:
  where-is-the-iss.dedyn.io. 3600 IN NAPTR 100 100 "u" "E2U+voice:tel" "!^.*$!tel:+12814830123!" .

  ;; Query time: 84 msec
  ;; SERVER: 100.100.100.100#53(100.100.100.100)
  ;; WHEN: Sun Jul 06 10:53:39 EDT 2025
  ;; MSG SIZE rcvd: 111
reply
kmm
11 hours ago
[-]
I understand there are API limitations, but isn't 15 minutes a lot for an object that orbits around the entire Earth in 90 minutes? On average you're going to be off by about a twelfth of the circumference of the Earth, or roughly the distance between Lisbon and Istanbul
reply
edent
11 hours ago
[-]
Yes. As I say in the post, you shouldn't use this for docking operations.

If you know of a DNS update which allows for per-minute updates for free, I'll happily move to it.

reply
dahsameer
8 hours ago
[-]
> As I say in the post, you shouldn't use this for docking operations

Remember people, DNS stands for "Definitely Not for Space-docking"

reply
llimos
4 hours ago
[-]
or "Docking Not Supported"
reply
Levitating
10 hours ago
[-]
> If you know of a DNS update which allows for per-minute updates for free, I'll happily move to it.

Why not setup your own name server?

reply
zdw
9 hours ago
[-]
This is the correct way - dynamic DNS servers frequently have very low TTLs set.

Serving DNS yourself is such an incredibly small bandwidth impact - most of the packets are in the 10's to 100's of bytes - and authoritative DNS servers do not do a lot of processing, just send back RR's from zones which are read at boot time, or updated in an in-memory database.

reply
edent
9 hours ago
[-]
I couldn't be bothered to set up a DNS server for such an ephemeral joke.

But I would love to read your blog post about setting one up and what you learned.

reply
iwontberude
8 hours ago
[-]
Coredns is so simple to configure and is a barebones container deployment.
reply
edent
8 hours ago
[-]
Cool! Please set it up and write a blog post about it.

I'm not being snarky. I've never set up something like that and I'm sure lots of people would be happy to ready about it.

reply
hhh
8 hours ago
[-]
hi, i haven’t made a video but i have some stuff set up for it:

https://youtu.be/AJ2Q12vYojY https://youtu.be/GoPWuJR6Npc

and i host https://dnsroleplay.club which lets you answer real people’s dns requests, there should be links to the github for how it’s done

reply
progval
6 hours ago
[-]
Unless you send any reply that is significantly largest than the request, like this one, and then you can be exploited to DDoS someone else via an amplification attack. https://www.cloudflare.com/learning/ddos/dns-amplification-d...
reply
JdeBP
5 hours ago
[-]
zdw mentioned an "authoritative" server, i.e. a content DNS server. CloudFlare is not talking about content DNS servers there. It cannot decide from paragraph to paragraph what it is calling the DNS servers that it is talking about, but it is talking about proxy DNS servers, that respond with the actual grunt work of query resolution done.

People like me have been recommending not running public proxy DNS servers for the entirety of the 21st century thus far, and the world has taken some notice, although more work is required, world!

* https://jdebp.uk/FGA/proxy-server-ip-addresses.html

In any case, ANY queries do not work nearly as well for amplification attacks as they used to. Many people have read RFC 8482. I, for example, changed all of the DNS servers in djbwares to respond to ANY queries per RFC 8482 back in March 2019.

The task at hand in this discussion only involves running a content DNS server, serving LOC records from some file/database or other.

reply
AdieuToLogic
11 hours ago
[-]
> As I say in the post, you shouldn't use this for docking operations.

Brilliant. :-D

reply
fouronnes3
11 hours ago
[-]
You totally could use it for docking. A real ISS docking manoeuvre takes several hours. Orbits are very predictable and I'm quite confident that the error you'd get projecting your orbit 15min into the future would be good enough to get within close radar range for the final approach. In fact you probably could do it, even if your spavecraft doesnt have DNS at all, and you have to do the DNS resolve from a ground laptop before you board it. Soyez can dock within 3 hours of lauch. Orbits are very predictable in this timeframe.
reply
CobrastanJorji
6 hours ago
[-]
If there's no timestamp, all you know is a Lat/Long that was accurate sometime in the last 15 minutes (or more, "best effort basis"). But you don't know when, and you don't know the altitude. That's gonna make using that information for docking...difficult.
reply
edent
10 hours ago
[-]
I shall make the suggestion to NASA that they start using this ;-)
reply
05
9 hours ago
[-]
Sure they're predictable, but since you don't get the exact timestamp for those expired coordinates, it's still useless.

Oh, and accuracy is shit anyway (altitude is rounded to 10m)

reply
metafunctor
10 hours ago
[-]
It’s quite easy to run your own DNS server — I've found it a worthwhile exercise. Of course, you’ll need a server to run it on.
reply
echoangle
10 hours ago
[-]
> If you know of a DNS update which allows for per-minute updates for free, I'll happily move to it.

Does Cloudflare not allow this?

reply
Abekkus
8 hours ago
[-]
I'd say the API can take up to half a minute to propagate, so API updates every minute is running up against their own performance. If you're a free customer, they may block you after a while, but first they'd have to notice you, and I doubt one update per minute would bother them.
reply
Abekkus
8 hours ago
[-]
Cloudflare does this with an API. If you have any money, I'd suggest dnsimple.com instead.
reply
verytrivial
9 hours ago
[-]
I read the opening sentence as "I love DNS erotica" which indicates I've been inside too long and should go for a walk.
reply
6thbit
8 hours ago
[-]
You’d be surprised but I’m pretty sure many people would dig this.
reply
cmehdy
7 hours ago
[-]
The numbers would definitely be setting A record in that domain!
reply
theobreuerweil
8 hours ago
[-]
If that’s a pun, it’s next level
reply
messe
8 hours ago
[-]
Is that not what this is?

Maybe a cold shower too.

reply
edent
8 hours ago
[-]
Please don't make me sign up as an OnlyFans creator…!
reply
giancarlostoro
8 hours ago
[-]
Onlyfans was never supposed to be for porn to be fair it just kind of became the profitable business for them
reply
aidenn0
7 hours ago
[-]
Any media service that doesn't ban porn will become associated with it.
reply
mschuster91
5 hours ago
[-]
Meh both Reddit and Twitter have copious amounts of porn, yet neither are commonly associated with porn.
reply
byteknight
8 hours ago
[-]
Gives a whole new meaning to its always DNS.
reply
knadh
7 hours ago
[-]
This is quite cool! I just added this to dns.toys [1]

  dig iss.sky +short @dns.toys
[1] https://dns.toys
reply
edent
7 hours ago
[-]
That's so nifty! Thanks :-)

Do all the tools use TXT records? Or are there any which use LOC, NAPTR, etc?

reply
knadh
6 hours ago
[-]
Yep, all tools return formatted strings as TXT records.
reply
TMEHpodcast
11 hours ago
[-]
Brilliant! This is both clever and educational. I immediately wondered if it would be possible to do something similar for JWST.

Unfortunately LOC DNS records top out at ~42 million meters (42,000 km altitude) and JWST is 38x further out (~1.5 million km away). So you can’t represent its location with a LOC altitude field. Maybe Hubble?

reply
firesteelrain
11 hours ago
[-]
Not sure how that will work since JWST orbits the second Lagrange point.

It would be like asking for the GPS coordinates of the moon. NASA did test receiving weak GPS signals on the moon with LRO in 2023. It wouldn’t be useful for navigation though (not yet unless someone has like a way to do reverse GPS on the moon but not sure how that would work)

Reason this works for the ISS is because of the subsatellite point. It can receive GPS signals regardless of altitude above the Earth’s surface.

Also TLEs apply to the ISS because it’s earth orbiting.

TLEs are designed for satellites in Earth orbit, where they define position and velocity using orbital elements interpreted by models like SGP4.

reply
echoangle
11 hours ago
[-]
> It would be like asking for the GPS coordinates of the moon

No problem at all, just give the location where the moon is at the Zenith and use the distance as the altitude.

> Reason this works for the ISS is because of the subsatellite point. It can receive GPS signals regardless of altitude above the Earth’s surface.

No, wether the object can actually receive GPS signals is completely irrelevant to wether its location can be described in the GPS coordinate system.

You could describe the location of the Sun in GPS coordinates too, the altitude value would just be very large.

reply
firesteelrain
10 hours ago
[-]
You can use GPS to describe a point on Earth. To use the moon or sun is kind of weird because of their size to use GPS coordinates for this

I was referring to finding your position on the moon using Earth referenced GPS signals.

reply
echoangle
10 hours ago
[-]
> You can use GPS to describe a point on Earth.

No, you can describe any point in the universe using GPS coordinates. You just lose some resolution the further away from earth you are because it's basically spherical coordinates (like polar coordinates but for 3D). And the system isn't inertial but earth-fixed, of course, so you would have to give the coordinates together with a time.

And if you're describing the location of the moon and the sun, you would probably pick their center of gravity.

reply
firesteelrain
10 hours ago
[-]
I believe this isn’t true otherwise NASA would be doing this

- Earth isn’t a universal reference

- GPS uses WGS84

- GPS is bound to the Earth’s surface and center

- It’s Geodetic

- There's no universal “equator” or “prime meridian” beyond Earth

- Space uses inertial frames or celestial coordinate systems (right ascension and declination, or galactic coordinates)

reply
echoangle
10 hours ago
[-]
That's exactly what I said. It isn't very practical for space ops, but you can absolutely give a current GPS position for every object you want.
reply
firesteelrain
10 hours ago
[-]
That’s conceptually misleading.

They are meaningless for things not near Earth because they’re tied to Earth's shape, rotation, and gravity field

reply
gmiller123456
7 hours ago
[-]
There are a handful of Earth centered, geocentric standard reference frames. The most used today is the Geocentric Celestial Reference System (GCRS). It should be obvious that if you want to compute where to point a telescope, a transformation of coordinates will involve a step through such a coordinate system. GPS is it's own system, but there are transformations to and from the GCRS and GPS frames. Which one makes sense depends a lot on your application.
reply
echoangle
10 hours ago
[-]
I wouldn't call it meaningless if it can be converted back and forth with a (non-linear) transformation.
reply
firesteelrain
10 hours ago
[-]
You can do a lot of things…
reply
therealpygon
10 hours ago
[-]
I could build a house with my pinkie if I excuse the fact I’ll use a team of laborers to do the work and accept that they are so inaccurate that I would be lucky to end up with a shed… if I only cared about technicality.
reply
netsharc
11 hours ago
[-]
> NASA did test receiving weak GPS signals on the moon with LRO in 2023.

I doubt very much that the position of the ISS in the article is being sent from the ISS at real time. It's more likely calculated using NORAD / Celestrak orbital elements plus orbital calculations.

I remember having a Windows desktop app to show the satellites locations, I'd have to download those text files to keep the information accurate. For the information beyond the snapshot, the app has to calculate distance and trajectory to estimate "If NORAD said it was here at this point in time, and heading that way with that speed, then right now it should be around here.". A bit like "If a train left Chicago 5 hours ago going 60 mph, where is it now?".

Nowadays it's all online of course: https://in-the-sky.org/satmap_worldmap.php .

reply
firesteelrain
11 hours ago
[-]
> doubt very much that the position of the ISS in the article is being sent from the ISS at real time. It's more likely calculated using NORAD / Celestrak orbital elements plus orbital calculations.

Yes, this is how the referenced site knows the approximate position of the ISS via TLEs. TLEs are updated regularly for space objects

reply
echoangle
11 hours ago
[-]
That doesn't matter for the problem at hand though. You can calculate the current GPS coordinates from any TLE, even if they aren't derived from GPS measurements but from Satellite Laser Ranging or some other method.
reply
firesteelrain
10 hours ago
[-]
You can derive Lat and Lon and Altitude on Earth. Thats the one point of the TLEs. But they aren’t GPS derived coordinates.
reply
echoangle
10 hours ago
[-]
Yes, but you don't need GPS derived coordinates for the DNS LOC entry.
reply
firesteelrain
10 hours ago
[-]
Correct because the site referenced uses N2YO which is using NASA provided TLEs which some backend that provides an API. GPS and TLEs are not the same.
reply
TMEHpodcast
11 hours ago
[-]
Yes, I realize not-having initially understood what LOC DNS actually is. As mentioned, this could of course be applied to Hubble.
reply
firesteelrain
11 hours ago
[-]
Any MEO or LEO satellite

Hubble operates in LEO so it’s eligible

reply
dotancohen
4 hours ago
[-]
That probably because GSO is right about at that altitude.
reply
pvtmert
3 hours ago
[-]
Besides the hard-coded cache, shouldn't DNS infrastructure already help with the caching just by the TTL value itself? Given quite many & large public DNS resolvers out there, like Cloudflare's 1.1.1.1 and Google's 8.8.8.8

I overall like the DNS, it is a global database with eventual consistency. Possible to store transient data. Usually not blocked by firewalls just by the sheer innocent nature. (Although gets intercepted quite a lot...)

reply
jamesgill
3 hours ago
[-]
OpenNotify is another (more limited, less fancy) resource: http://open-notify.org/
reply
teddyh
8 hours ago
[-]
More about DNS LOC records: <https://www.ckdhr.com/dns-loc/>
reply
politelemon
11 hours ago
[-]
Looking at the RFC it's never explained why this is needed. Or was needed back in 1996, perhaps something to go with universities and data center logistics back then?
reply
echoangle
10 hours ago
[-]
> Looking at the RFC it's never explained why this is needed.

Chapter 5.1 (Suggested Uses) has at least some vague suggestions:

> Some uses for the LOC RR have already been suggested, including the

> USENET backbone flow maps, a "visual traceroute" application showing

> the geographical path of an IP packet, and network management

> applications that could use LOC RRs to generate a map of hosts and

> routers being managed.

reply
edent
10 hours ago
[-]
RFCs are, in my experience, vague about the problem they're attempting to solve.

There's no reason this couldn't be a human-readable string like "42 Wallaby Way, Sidney".

reply
ritcgab
3 hours ago
[-]
DNS is a federated, read-optimized, geo-replicated key-value store with eventual consistency.
reply
huslage
10 hours ago
[-]
Could you calculate the position from the Ephemeris data in realtime instead of using an API? This would allow you to return the current location on every request potentially.
reply
timzaman
9 hours ago
[-]
"~instantly! (...) every 15 minutes" - omg
reply
lordnacho
10 hours ago
[-]
Is there any service on the ISS that the public can interact with? Maybe you could use response times to figure out where it is that way.
reply
Maxious
9 hours ago
[-]
There's quite a few amateur radio frequencies you can interact with https://issfanclub.eu/iss-frequencies/
reply
trothamel
7 hours ago
[-]
It's pretty likely there will be a slow-scan TV event in mid-July, where the station will be transmitting images you can pick up with a radio. These are nice because you don't neeed a license - anyone with a radio that can pick up the right frequencies can receive.
reply
crazygringo
8 hours ago
[-]
That's what I thought this was going to be from the title -- some kind of DNS response time triangulation from a device on the ISS itself, because DNS was allowed past a firewall or something...

It's still a fun little project, but definitely feeling a little disappointed in comparison to what the title felt like it suggested to me...

reply
croes
10 hours ago
[-]
Depends on the hops between you and the target
reply
xyst
6 hours ago
[-]
Great post, definitely something I can setup on my personal recursive DNS resolver. Yet another toy I can throw on to my rpi :)
reply
IndrekR
11 hours ago
[-]
Considering the ISS orbits in ~90 minutes, the 15 minute TTL is quite a long time.
reply
supportengineer
3 hours ago
[-]
"dig" is the new "finger"
reply
xkcd1963
5 hours ago
[-]
TLDR; use an API
reply
harha_
11 hours ago
[-]
It's just an API that utilizes DNS, not that interesting imo.
reply