• 0 Posts
  • 64 Comments
Joined 4 months ago
cake
Cake day: March 3rd, 2024

help-circle

  • I’ll throw some more detail, still working from the “your computer” side.

    Your computer is almost certainly configured with a couple of DNS server IP addresses, belonging either to your ISP, or to some publicly available DNS server. When you’re going to www.hotmail[.]com, your computer just asks a DNS server that it is configured to ask - it doesn’t go to a root server (although it could, every computer is configured with root server IPs).

    But even before that, your computer first looks to its HOSTS file. That’s a local file that contains manually configured matches between DNS hostnames and IP addresses. Under normal circumstances, this HOSTS file would be empty, but it’s there. Side note: DNS (Domain Name System) is what replaced HOSTS files. Prior to DNS, a university network (for example) would distribute a hosts file for everyone to put on their computer, and that was it.

    Okay, www.hotmail[.]com isn’t in my hosts file, what next? Not a DNS server yet - next your computer will look to its local cache. You visited www.hotmail[.]com a couple hours ago, you haven’t rebooted yet, computer looks in its local cache and uses whatever it finds there.

    Not in the local cache? Now your computer asks the DNS server its configured to ask for everything. That DNS server has its own cache, so if anyone has asked it for www.hotmail[.]com recently, it already has it, and returns an answer to your query.

    If that DNS server doesn’t have the entry cached, it may be configured with forwarders. This essentially means “If I, a DNS server, don’t have a listing in my own cache, I will always pass the query to my forwarder instead of going to a root server.” There may be multiple layers of this kind of behavior, maybe the next DNS server even knows who’s authoritative for hotmail[.]com, and says “go ask them.”

    The last word, though, is always the root servers. Root DNS servers are authoritative for ‘.’ and they contain lists of TLDs and the DNS servers authoritative for those.

    Another thing to be aware of is that if a computer doesn’t have an IP address for a particular hostname (and it is not configured with a DNS server to ask for everything), it only returns “go ask this other DNS server” to the computer making the query, and then that computer goes and makes the full query to that DNS server.

    It is also important to make sure that the DNS server(s) your computer is configured to use are themselves trustworthy. “Dan’s Totally Not Sketchy I Promise Public DNS Server” could very easily be configured to believe it is authoritative for the hotmail[.]com domain, and hand you whatever IP address it is configured to hand out from its own “Totally Authoritative I Promise” zone file.

    And I forgot about TTL (Time To Live). TTL is measured in milliseconds, and generally speaking, only gets as short as fifteen minutes. If a cached record is older than the TTL, then the DNS server (or your local cache) will discard it and go ask for a fresh one. This does not apply to hosts file entries, or to static entries in an authoritative DNS zone file; those never expire.



  • Something which has not been mentioned yet - Russia controls DNS resolution for any .ru site, and here’s how that works:

    When you browse, say, www.yandex[.]ru, your computer needs to know the IP address of a server that hosts that site. Let’s say you are not using an ISP or public DNS server to get your name resolution from DNS hostname to IP address. (All of the following is essentially still what happens, just with a less complicated explanation.)

    First, your computer contains a list of root DNS servers. Every DNS query starts with a root server, and those root servers are associated with the often-excluded ‘.’ at the end, like “www.yandex[.]ru**.**” - that trailing dot at the end always exists, we just don’t type it.

    The root server says, “Here’s a DNS server which is authoritative for the .ru top-level domain, go ask them.”

    Then your computer asks the .ru DNS server where to find www.yandex[.]ru, and the .ru DNS server says “Here’s the server that is authoritative for the “yandex” subdomain under .ru, go ask them where their “www” host is.”

    Then your computer asks the yandex[.]ru DNS server where to find www.yandex[.]ru, then that DNS server says “Here’s the IP address that goes with that hostname,” and your computer asks the server at that IP for the website.

    Again, Russia controls DNS resolution for anything at .ru. All they would need to do for any subdomain beneath .ru is provide their own authoritative DNS server for yandex[.]ru - or for any other whatever[.]ru DNS name. They could then redirect all browsing traffic to anything under .ru to anything they wanted.

    Those FBI takedown pages? This is exactly how that is done. The FBI doesn’t reconfigure a server at the “correct” IP; they redirect DNS for the subdomain to their own IP and own web server in order to display the takedown page. That operation is performed within legal limits, but from a technical perspective, such an operation could just as easily happen outside of legal limits, especially when the party trusted to properly respond to DNS queries is Russia.

    tl;dr: Russia can very easily redirect any traffic to any .ru site to anywhere they want.



  • This is a little bit before, but a story worth telling (again).

    In 1995, I got AOL. Of course, this was in the days where only dialup existed, and when AOL was not flat rate, but charged extra for any time spent online over 30 hours a month. I had some bills.

    My 486 computer had a 14.4Kbps modem in it, which I decided I would upgrade to a 33.6Kbps. This was the fastest I could get at the time. Surely, I would enjoy this new superfast speed, right?

    No, no I would not. I noticed that I was only ever connecting at 2400 - and this was when the “standard” for dialup was 14.4. AOL advertised 28.8 at the time, as I recall.

    I tried all manner of modem strings to try and get my fancy 33.6 to connect to AOL at any speed higher than 2400, to no avail. I spent hours waiting in line in their “support” chat rooms (which I later learned were staffed by unpaid volunteers who may not have known anything about anything). Then I finally decided to try using the toll-free 800 number (which AOL charged a premium to use).

    Bang, connected at 14.4Kbps. Back to my local number, 2400. … Wait what? Okay, then it’s not me, it’s them.

    I did even more digging to discover that AOL only offered “high speeds” in certain metropolitan areas. AOL numbers local to me were not included in any of those, so I got 2400bps, because that’s all AOL would give. And by this time, the “standard” for dialup had jumped to 28.8Kbps.

    All of those super high AOL bills from before (they’d since moved to flat rate unlimited) were exacerbated by “downloading art” at 2400bps.

    I immediately went to the grocery store, bought a computer magazine, thumbed through it until I found a regular old ISP (Netcom), and called them on the phone to sign up.




  • You can easily find thick cut bacon at any grocery store. It’s far and away the better choice. If you’ve cooked bacon before, you know it’s a nanosecond between “done” and “overdone,” and you also have to stop cooking it before it’s “done,” because carryover heat will continue to cook it after it’s off the heat.

    … you can get that flavor with candied anything, …

    Oh, my sweet summer child. There’s a restaurant chain in Chicagoland called Lazy Dog. I don’t know where else they are, if anywhere. Go there and get their candied bacon.