Edit: I found the answer, tiny link at the bottom: https://tools.ietf.org/tools/rfcmarkup/
If you read the link, that just adds the HTML markup to plain text ASCII RFCs (which were deprecated in favour of XML, back in 2013 as per RFC 7994.)
RFC 7990 has more details on the format framework. But for actual guidance on the tools used, you probably want to peruse the "Prepare documents" section of the IETF's tools[0] page, or those at rfc-editor.org[1].
[1]: https://www.rfc-editor.org/pubprocess/tools/
XML, markdown, asciidoc, Bibtex, nroff, and even Word are covered.
This was quite easy to follow and worked up from basics. Don't really see such well written documentation these days.
It'd be a fun hack to read and inject raw wifi or LTE frames to get a count of radios within range, when they transmit and other details of the low level protocols. It looks like with SDR, folks are able to get better access to the physical layer.
https://www.crowdsupply.com/lime-micro/limesdr-mini/updates/...
Turns out Apple devices did (or still do?) expose the DNS hostname with a format like: JAKES-iphone-some-guid
I created a little script to ping the local network for known hosts, return a reverse lookup of the hostnames, parse the name from the iPhone hostname, and update their status in little list of who was in the building, in case I needed them for something.
By "books like that", I mean a book that is well-written, detailed, gets you will up to speed on the topic, and does not assume you will be reading the thing while sitting at a computer.
For example, in college I got a part time job doing programming for the physics department in C. I bought K&R, and read it in the evenings. Maybe every couple of chapters or so I'd go to the computer center and write a program to test out what I'd read.
This was before personal computer were common, so the authors could not assume you were at a computer while reading...thus avoiding the fate of far too many modern books that end up more of a "how to use this particular tool set to compile and run X code" book than a "how to write programs in language X" book.
At a later job I was going to need to write router and bridge firmware. I bought and read the Stevens books and Tanenbaum's computer networking book. That got me sufficiently up to speed to cover most of what I needed for my firmware and gave me enough background to read specs and standards for whatever more I needed.
In the '70s, '80s, and much of the '90s that is how it went for every technical thing I needed to learn.
It's harder to find those kinds of resources today. Two things have changed.
First, as computing became more mainstream, a lot more people jumped in to do books. Instead of only one or two good books, like K&R and Harbison & Steel for C, there would be dozens of books and most of them were poor at best. The good books were still there, but harder to find.
Second, as more and more documentation moved to the web authors and site designers seem to have forgotten that we read and learn linearly. I want the site to tell me a good starting point, and provide "next" links on each page that will take me through the whole topic in a good learning order.
Too often each article just has a set of links to various related articles, and it is easy to end up in some closed subset of the articles and no idea you've missed anything unless you remember that the article you read 10 articles back had links to X, Y, and Z, you followed X, and Y eventually came up again and you read it, but you haven't seen a link to Z for a while, and so you go back to the top of the site and start looking for Z.
Then there are the more complete netmap [4] and lwIP [5] TCP/IP implementations too, but in C.
---
[0] https://docs.rs/smoltcp/0.6.0/smoltcp/
[1] https://news.ycombinator.com/item?id=17896175
[2] https://github.com/smoltcp-rs/smoltcp/blob/master/README.md
[3] https://news.ycombinator.com/item?id=20241138
My bad. Netmap is a "kernel-network-stack bypass" mechanism [0]. Usually a userland TCP/IP implementation is used in conjunction with it [1].
Then there's NetStack for gVisor [2] in golang.
[0] https://news.ycombinator.com/item?id=10365731
https://www.amazon.com/Internetworking-TCP-IP-One-6th/dp/013...
I'd second everyone else's recommendation that you just start hacking on an embeddable TCP/IP stack. It's not even hard to build one from scratch once you get over the reading/writing ethernet frames hurdle (which is just a library integration challenge).
HPBN is great!
I personally really enjoyed: https://hpbn.co/
[0]: https://blog.stephencleary.com/2009/04/tcpip-net-sockets-faq...