Get the location of the ISS using DNS

(shkspr.mobi)

341 points | by 8organicbits 8 days ago

25 comments

  • theobeers 8 days 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
  • kmm 8 days 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
    • edent 8 days 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.

      • dahsameer 8 days 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"

        • llimos 8 days ago
          or "Docking Not Supported"
      • Levitating 8 days 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?

        • zdw 8 days 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.

          • edent 8 days 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.

            • slenk 8 days ago
              mailinabox.email. Just use the DNS part and not worry about mx if you want something fairly simple
            • iwontberude 8 days ago
              Coredns is so simple to configure and is a barebones container deployment.
              • edent 8 days 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.

          • progval 8 days 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...
            • JdeBP 8 days 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.

              • petee 7 days ago
                CF does say "dns resolvers" right in the lead
      • AdieuToLogic 8 days ago
        > As I say in the post, you shouldn't use this for docking operations.

        Brilliant. :-D

        • fouronnes3 8 days 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.
          • CobrastanJorji 8 days 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.
          • edent 8 days ago
            I shall make the suggestion to NASA that they start using this ;-)
          • 05 8 days 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)

      • metafunctor 8 days 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.
      • echoangle 8 days 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?

        • Abekkus 8 days 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.
      • Abekkus 8 days ago
        Cloudflare does this with an API. If you have any money, I'd suggest dnsimple.com instead.
    • ethan_smith 7 days ago
      At orbital speed of ~7.66 km/s, the ISS travels approximately 6,900 km during a 15-minute interval, which is indeed significant for precise location tracking.
  • verytrivial 8 days 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.
    • 6thbit 8 days ago
      You’d be surprised but I’m pretty sure many people would dig this.
      • cmehdy 8 days ago
        The numbers would definitely be setting A record in that domain!
      • cdjk 7 days ago
        I might drill into this further.
      • theobreuerweil 8 days ago
        If that’s a pun, it’s next level
    • niuzeta 7 days ago
      That's also how I initially read the first sentence and I'm glad I'm not the only weirdo.

      I'm going to take a walk now...

    • messe 8 days ago
      Is that not what this is?

      Maybe a cold shower too.

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

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

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

      • knadh 8 days ago
        Yep, all tools return formatted strings as TXT records.
    • hronecviktor 5 days ago
      Bug report for the weather: bratislava is definitely not in sub-zero C in the middle of summer. Tallinn was also ~17C off
  • TMEHpodcast 8 days 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?

    • firesteelrain 8 days 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.

      • echoangle 8 days 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.

        • firesteelrain 8 days 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.

          • echoangle 8 days 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.

            • firesteelrain 8 days 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)

              • echoangle 8 days 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.
                • firesteelrain 8 days 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

                  • gmiller123456 8 days 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.
                    • firesteelrain 7 days ago
                      I agree that GCRS and other Earth-centered inertial systems are fundamental for astronomy, tracking, and spaceflight.

                      And yes, you can transform between GPS coordinates and GCRS (or ECI/ECEF), depending on what you’re trying to do. The key distinction I’m making is about contextual meaning and application. GPS (WGS-84) coordinates are geodetic.

                      Once you're transforming positions millions of kilometers away (eg. L2, the Moon, or Mars) into lat/lon/alt, you're applying a system optimized for geodesy to a domain where the altitude is arbitrary, and "longitude" rotates with Earth.

                  • flufluflufluffy 7 days ago
                    The person is simply saying you can. That’s it! As they said, it isn’t useful for things not near Earth. Perhaps not meaningless, but the “meaning” of the coordinate would decrease the further away from earth the object is.

                    If you’re saying it physically isn’t possible, then you’re basically saying the universe has some topological structure that cannot be projected onto the surface of a sphere. Which now that I’m thinking about it, is probably the case because of black holes? Lol maybe if the object is “in” a black hole then the coordinate actually is completely meaningless, but any other object would have some amount, even if low, of “meaning”

                    • firesteelrain 7 days ago
                      You're right that any 3D point can be mapped to a spherical coordinate system like GPS. I don’t disagree.

                      GPS coordinates are geodetic, tied to the WGS-84 ellipsoid and Earth’s rotating reference frame. They were designed for terrestrial navigation and near-Earth orbit, not for interplanetary space. Once you're dealing with the Moon, the Sun, or Lagrange points, you're so far outside the system's intended domain that projecting lat/lon/alt onto those locations introduces more confusion than clarity.

                      You're also right to point out that it's not physically impossible to describe a faraway object in that coordinate system.

                      There is just no practicable utility.

                      NASA and others use inertial frames, barycentric coordinates, and RA/Dec for a reason.

                      Also, love the black hole tangent - that’s where coordinate systems get seriously weird :-)

                  • echoangle 8 days ago
                    I wouldn't call it meaningless if it can be converted back and forth with a (non-linear) transformation.
            • therealpygon 8 days 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.
      • netsharc 8 days 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 .

        • firesteelrain 8 days 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

          • echoangle 8 days 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.
            • firesteelrain 8 days 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.
              • echoangle 8 days ago
                Yes, but you don't need GPS derived coordinates for the DNS LOC entry.
                • firesteelrain 8 days 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.
      • TMEHpodcast 8 days ago
        Yes, I realize not-having initially understood what LOC DNS actually is. As mentioned, this could of course be applied to Hubble.
        • firesteelrain 8 days ago
          Any MEO or LEO satellite

          Hubble operates in LEO so it’s eligible

    • dotancohen 8 days ago
      That probably because GSO is right about at that altitude.
  • selcuka 8 days ago
    > RFC 1876 is an experimental standard.

    That has been a very long running experiment [1]:

    > University of Warwick, January 1996

    [1] https://datatracker.ietf.org/doc/html/rfc1876

  • teddyh 8 days ago
    More about DNS LOC records: <https://www.ckdhr.com/dns-loc/>
  • pul 8 days ago
    A slightly more complex, but much more responsive way would be to set an NS record of `where-is-the-iss.shkspr.mobi` that points to the IP of your VPS.

    Then run a program that listens to UDP/53 and TCP/53. Have it respond with a DNS packet that's only dynamic in the LOC record and message ID. Not fully compliant with the DNS spec, but good enough for this use case.

    You could cache API response to combat rate limiting.

    • edent 8 days ago
      The point is, I don't want to run a server. There's a globally distributed system I can (ab)use instead.
    • bortzmeyer 8 days ago
      That would be fully compliant with the DNS spec. (I run such a service, test 2+2.op.dyn.bortzmeyer.fr/TXT or paris.now.weather.dyn.bortzmeyer.fr/TXT.)
  • ritcgab 8 days ago
    DNS is a federated, read-optimized, geo-replicated key-value store with eventual consistency.
  • pvtmert 8 days 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...)

  • politelemon 8 days 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?
    • echoangle 8 days 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.

    • edent 8 days 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".

      • teddyh 8 days ago
        SNMP sysLocation already existed, with its free-form text content. Presumably, people wanted something both more precise and machine-readable.
  • xyst 8 days ago
    Great post, definitely something I can setup on my personal recursive DNS resolver. Yet another toy I can throw on to my rpi :)
  • ygritte 7 days ago
    Remember, kids, you can only measure either the location, or the spin. If you do both, the ghost of Werner Heisenberg will come to haunt you.
  • huslage 8 days 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.
  • jamesgill 8 days ago
    OpenNotify is another (more limited, less fancy) resource: http://open-notify.org/
  • timzaman 8 days ago
    "~instantly! (...) every 15 minutes" - omg
  • lordnacho 8 days 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.
    • Maxious 8 days ago
      There's quite a few amateur radio frequencies you can interact with https://issfanclub.eu/iss-frequencies/
      • trothamel 8 days 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.
    • crazygringo 8 days 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...

    • croes 8 days ago
      Depends on the hops between you and the target
  • IndrekR 8 days ago
    Considering the ISS orbits in ~90 minutes, the 15 minute TTL is quite a long time.
  • supportengineer 8 days ago
    "dig" is the new "finger"
  • xkcd1963 8 days ago
    TLDR; use an API
  • iluvfossilfuels 8 days ago
    [flagged]
  • fouziat87 8 days ago
    [flagged]
  • harha_ 8 days ago
    It's just an API that utilizes DNS, not that interesting imo.