Apr. 6, 2025
After spending some time with Python, I moved to Go, which seems to suit the way my brain works slightly better (make no mistake, I am still a poor developer). Keeping in line with the work done on this, I endeavored to re-write this in Golang, mostly because the subnet generation in python had some resource issues with large blocks.
And off I went. With the help of an LLM to get me past weird errors and inability to compile, the resulting code is surprisingly efficient and useful - available here
Mar. 19, 2025
One of the very few things that irritates me about TailScale is that it uses ULA addressing and doesn’t allow for custom address block definitions (i.e., I can’t use my own GUA block). While this is definitely a “me problem”, it is something that is irksome to me nonetheless. So, in order to get access to my systems over TailScale, over IPv6, I created this python script to grab the v6 addresses and put them into a format conducive to, say, an internal BIND view, or pihole (v5).
Mar. 14, 2025
IPv6 address planning can be a trial-and-error endeavor. There are useful tools for subnetting, but I couldn;t find anything that would just take a prefix, subnet length, and provide a simple list of the prefixes. (Now, this does exist, and I just simply missed it). I wrote some really simple python that does a few things:
Accepts an IPv6 prefix and a new prefix length to generate subnet allocations.
Feb. 28, 2025
From time to time most network and / or security engineers will need to normalize the output of a set of URLs to either IP literals or a formatted list of DNS names. This can be particularly useful for feeding intelligence feeds or creating block/allow lists.
There are probably 10,000 other scripts to do this, but this one is mine.
Potential use cases:
Building custom pihole block / allow lists Building intelligence feeds Creating ACL lists Creating feeds for BGP filters Probably other stuff Benefits / Features
Apr. 29, 2019
There is no shortage of network telemetry data that can be collected, recorded, graphed, and stored for cross reference and triage. Not one to be underestimated, latency at a can be incredibly powerful when leveraged for baseline and deviation notification. As I have eluded to in the past, there are many tools in this space.I have written about a few of them in detail and touched on others in passing. Regardless of the tool, the data is powerful and the instrumentation they provide will only serve to make your network more robust and easier to work on.