Live data from Hacker News

DNS Toys

dns.toys

31–40 of 111 posts

Re: DNS Toys

#31

Earlier quoted context omitted.

maybe on a wifi network before authentication when it may allow DNS resolution but not HTTP requests?

Could you shuttle more data through this method to have a browser that works on unauthenticated captive portal wifi networks?

It's called dns tunnelling.

https://github.com/yarrick/iodine

Re: DNS Toys

#36

“Why? For fun.” I love this. It doesn’t need a reason to exist. It’s interesting on its own. That being said, can anyone think of additional interesting reasons for why this would be useful rather than the same toys over HTTP?

Simplicity / latency / efficiency - DNS typically just fires off one UDP packet (generally one IP packet & ethernet frame too) and then gets one back (hopefully) and it's done. HTTP requires the TCP 3-way connection handshake, then the out & back roundtrip for request/response, then the 4-way teardown handshake. If it's HTTPS you also need the 4-way TLS Anyway if you're using a 14.4 modem in a rusty bunker at the bot…

A couple decades ago I did SSH over DNS at the request of a client. It was pretty fun, worked surprisingly well. At the time, exactly zero firewalls stopped it.

Re: DNS Toys

#37
post #2

Neat! For unit conversions there is an older tool called 'unit' which can convert nearly anything.

Fun fact: units can do math too! Try it:

    units -t '12 * 45 * 11'
This can be combined with unit conversion of course:

    units -t '(8 lbf) / (9.8 m/s^2)' slug
Be careful using it for temperature conversion. You need to use tempC and tempF functions, not degC and degF units, because of the linear offset from absolute zero.

Correct way (absolute temperature):

    units -t 'tempF(71)' tempC
Incorrect way (temperature difference):

    units -t '71 degF' degC

I use units a ton, so I have the following in my .zshrc:

    # in-terminal calculator: e.g. `calc 60 * 60 * 4`
    _calc () {
        units -t "$*"
    }
    alias calc='noglob _calc'

    # units convenience, use ( and * without quoting
    alias u='noglob units -t'
Post reply on HN