Low-Level Academy Gets Into Details

We often say that you don’t have to know how an engine works to drive a car, but you can bet that every driver at the Indy 500 knows exactly how it works. You could say the same for computers. You don’t need to understand the details, but it really helps, especially if something goes wrong. [Low-Level Academy] has an online class where you can program in Rust inside your browser to learn about low-level TCP and UDP networking details.

Just how low it goes, we aren’t exactly sure, yet. There are three of eight modules ready to go. The first three cover number encoding, exchanging messages with UDP, and fragmentation. Reliability, routing, server programming, TCP, and HTTP are not out yet, but the ultimate project is a web server. In addition, new modules are released to sponsors first, so the fragmentation module for example won’t be available for a few more days. While that seems unorthodox, it is no different than having to wait for an HBO show to show up on basic cable in reruns.

The number encoding won’t be anything new for Hackaday readers. It covers things like UTF-8, octal, and hex. However, you should look at it to see how interactive it is. For instance, instead of just showing an example of how to decode a hex number, the text lets you change the input number and the work changes on the fly to show the value.

This same technique populates your input into live Rust code that you can run or edit. For example, here’s a DNS lookup of one of our favorite sites.


If you know Rust or if you want to learn Rust, this might be a good way to do it, even if you do understand networking at this level. If you want to understand more about how networking works, we aren’t sure this is exactly low-level, but it is lower than many people go. Maybe they’ll have future series about MAC addresses, ARP, and routing protocols. But even if they don’t, this is worth a look.

If you know enough about how the network works at the lowest levels, you can probe and figure out what operating system a computer is probably using based on quirks in their network stacks. Understanding network fundamentals is a key part of defending against cyberattack or, we suppose, mounting one.

7 thoughts on “Low-Level Academy Gets Into Details

      1. It seems many technical writers take this to heart. Writing such that you can only understand if you know already enough of the concepts that are core to the subject at hand.
        The same way as you need to know about cryptography to decode the text that teaches you about it ;)

  1. “We often say that you don’t have to know how an engine works to drive a car…”

    STRONGLY disagree unless we are talking about the most abstract interpretation of that statement.

    EVERY user of EVERY piece of tech should have a basic understanding of that tech. Period.

    Problems will happen. And basic knowledge is essential when troubleshooting, or even figuring out who to have look at it.
    “My computer won’t read this CD.”
    “OK. Eject the CD and reinsert it.”
    “What do you mean eject it? Like, take it out of the case?”
    “Sir. where is the CD now?”
    “On my desk in the case.”
    “Sir you need to take the CD out of the case and put it into the cd-drive.”
    “Don’t tell me what I need to do! I know CDs work with lasers! I shouldn’t need to open it up! I won’t be able to return it if I open it. You nerds at [store] think you’re really clever huh?”
    “…”

    Basic knowledge is important to protect the user from even the simplest of social engineering attacks.
    “That bar at the top of your browser is not a ‘search bar’. It is an address bar. It shows you the address of the web site you are at. There is a difference between online.citi.com and citi-bank.passwordsplz.hack”

  2. “We often say that you don’t have to know how an engine works to drive a car…”

    STRONGLY disagree unless we are talking about the most abstract interpretation of that statement.

    EVERY user of EVERY piece of tech should have a basic understanding of that tech. Period.

    Problems will happen. And basic knowledge is essential when troubleshooting, or even figuring out who to have look at it.
    “My computer won’t read this CD.”
    “OK. Eject the CD and reinsert it.”
    “What do you mean eject it? Like, take it out of the case?”
    “Sir. where is the CD now?”
    “On my desk in the case.”
    “Sir you need to take the CD out of the case and put it into the cd-drive.”
    “Don’t tell me what I need to do! I know CDs work with lasers! I shouldn’t need to open it up! I won’t be able to return it if I open it. You nerds at [store] think you’re really clever huh?”
    “…”

    Basic knowledge is important to protect the user from even the simplest of social engineering attacks.
    “That bar at the top of your browser is not a ‘search bar’. It is an address bar. It shows you the address of the web site you are at. There is a difference between BANK.com and BANK.passwordsplz.hack”

  3. That CD one was real.
    I’m not sure who he thought I worked for since he called the internal IT dept himself.

    He was one of our ‘Trouble Users’.

    He once called to say his computer wouldn’t turn on at all. This was during a power outage.

    He also had hardware failures ALL THE TIME. We replaced his machine 7 times before discovering he was wrapping it in several layers of blanket because ‘The fans are too loud when I’m thinking’.

    He had a ticket in our system because his “Mouse pad stopped working”. But I genuinely cannot remember what the problem was. I think it’s selective amnesia causing mental protection mechanism.

Leave a Reply to IanCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.