RFCs are where the Internet keeps its ancient laws, protocol gossip, and deeply specific feelings about bit fields.
Protocol Prowler turns that magnificent swamp into a local threat-hunting library you can actually use.
This repo builds an offline-first reference site for network defenders, security researchers, and anyone who has ever opened an RFC and thought, "Ah yes, 38 pages of pure emotional support prose about checksums."
It takes a curated collection of RFCs from the RFC Editor, cleans them up, cross-links them locally, and wraps them in a site designed for people who need to understand protocols without developing a personal grudge against typography.
You get:
- searchable local RFC pages
- protocol relevance notes written for hunters, not historians
- header and packet visualizations for key protocols
- threat-hunting indicators and detection prompts
- local notes and highlights
- built-in spaced-repetition flashcards
- a guided study plan so "I should really learn these RFCs" stops being a yearly wish and becomes a real habit
- EPUB exports for offline reading, bunker mode, and flights where you want to feel like a very tired wizard
Reading raw RFCs during an investigation is a little like trying to learn sword fighting by reading municipal plumbing code.
Technically possible.
Spiritually hostile.
This project exists to make protocol knowledge fast to navigate, easier to remember, and far more useful when you are looking at suspicious traffic and asking questions like:
- Is this weird?
- Is this broken?
- Is this malicious?
- Is this BGP doing BGP things again?
Install dependencies:
python3 -m pip install -r requirements.txtBuild the site and EPUBs:
python3 build_rfc_collection.pyOpen the site:
xdg-open site/index.htmlIf you want to serve it locally:
python3 -m http.server 8765 --directory siteThen browse to:
http://127.0.0.1:8765
The homepage includes a built-in study system because the best study plan is the one that does not feel like a hostage negotiation.
The basic loop is:
- Pick one study track instead of licking the entire protocol encyclopedia in one sitting.
- Read one RFC or one major section for 10 to 15 minutes.
- Close it and recall three things from memory before rereading.
- Run
Study Dueto do low-stakes retrieval practice. - Leave one short note about a field, threat clue, or edge case worth remembering.
If recall feels slightly annoying, that is not failure. That is your brain being forced to do a push-up.
Packet Skeleton Crew: RFC 768, 791, 792, 793, 826Boot, Name, Find: RFC 1035, 1123, 2131, 2782Routes, Lies, and Routers: RFC 1122, 2328, 2460, 4271Tunnels and Trust Issues: RFC 4301, 4303Web and Mail Drama Desk: RFC 2616, 5321, 7230, 7540Logs, Flows, and Receipts: RFC 3954, 7011
After that, use the update-chain tag when you want the lore expansion pack.
If you want to actually keep going, make the cue stupidly specific:
If it is after coffee, then I read one RFC section and do 10 due cards.
Not:
At some point, when the vibes are right, I will become a protocol scholar.
The vibes are lazy and cannot be trusted.
This is not just motivational theater with nicer gradients.
The study flow is based on durable findings from learning and motivation research:
Spacing: distributed practice improves long-term retention better than cramming. Source: Cepeda et al. (2006)Retrieval practice: testing yourself beats passive restudy for durable learning. Source: Adesope et al. (2017)Low-stakes quizzing with feedback: practice tests improve learning across contexts, and feedback helps more. Source: Yang et al. (2021)Autonomy and competence support: motivation improves when learners get a manageable path and some real choice. Source: Wang et al. (2024)Interest and relevance: reading motivation improves most when the material feels meaningful, not when it merely exists in your general direction. Source: de Nooijer et al. (2024)Implementation intentions: specific if-then plans make follow-through more likely. Source: Gollwitzer & Sheeran (2006)
In short:
- read less at a time
- come back more often
- recall before rereading
- use concrete cues
- give your brain a reason to care
Miraculously, this works better than highlighting a paragraph until it looks like a radioactive banana.
Running the builder generates:
site/ Static website
epub/rfc-threat-hunting-complete.epub Complete EPUB
epub/rfc-threat-hunting-by-category.epub Category-grouped EPUB
Run tests:
python3 -m unittest discover -s tests -vSyntax-check the builder:
python3 -m py_compile build_rfc_collection.py- Why TTL weirdness matters
- Why ARP is less a protocol and more a trust exercise gone wrong
- Why DNS can be both useful and slightly criminal-looking
- Why SMTP has spent decades politely asking people to stop doing cursed things
- Why BGP is proof that civilization is a collaborative art project
Use it freely.
If it helps you understand packets better, excellent.
If it causes you to develop strong opinions about extension headers, that is between you and destiny.