41554 blogs · [ { "id": "01a08744-69d5-728f-8a1d-750ba05777a8", "title": "How far can you go with IX Route Servers only?", "url": "https://blog.benjojo.co.uk/post/how-far-can-you-get-with-ix-route-servers", "published_at": "2026-03-12T11:32:39+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c02b684b", "title": "Some interesting stuff I found on IX LANs", "url": "https://blog.benjojo.co.uk/post/ixp-bad-broadcast-packets-interesting", "published_at": "2025-09-25T09:12:44+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c0aa57ad", "title": "Picking uncontested private IP subnets with usage data", "url": "https://blog.benjojo.co.uk/post/picking-unused-rfc1918-ip-space", "published_at": "2025-06-05T10:32:11+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c0fc15ce", "title": "BGP handling bug causes widespread internet routing instability", "url": "https://blog.benjojo.co.uk/post/bgp-attr-40-junos-arista-session-reset-incident", "published_at": "2025-05-27T10:45:56+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c1b8635e", "title": "Building Ultra Long Range TOSLINK", "url": "https://blog.benjojo.co.uk/post/sfp-experiment-ultra-long-range-toslink", "published_at": "2025-01-07T12:24:27+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c1e26534", "title": "The \"simple\" 38 step journey to getting an RFC", "url": "https://blog.benjojo.co.uk/post/rfc-in-38-simple-steps", "published_at": "2024-12-05T10:43:41+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c2c8117f", "title": "Flexing the Windows RRAS BGP implementation", "url": "https://blog.benjojo.co.uk/post/flexing-windows-rras-bgp-stack-ipv6", "published_at": "2024-09-26T10:01:55+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c3534042", "title": "Better IX network quality monitoring", "url": "https://blog.benjojo.co.uk/post/ixp-xping-better-ix-monitoring", "published_at": "2024-08-22T10:47:42+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c438bc55", "title": "Reclaiming IPv4 Class E's 240.0.0.0/4", "url": "https://blog.benjojo.co.uk/post/class-e-addresses-in-the-real-world", "published_at": "2024-05-27T13:42:52+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c49c1b03", "title": "Sysadmin friendly high speed ethernet switching", "url": "https://blog.benjojo.co.uk/post/sn2010-linux-hacking-switchdev", "published_at": "2024-04-18T10:05:46+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c57b7141", "title": "Signed but not secure", "url": "https://blog.benjojo.co.uk/post/rpki-signed-but-not-secure", "published_at": "2024-03-21T16:31:30+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c678d7bb", "title": "Appreciation of automated IX Quarantine LAN testing", "url": "https://blog.benjojo.co.uk/post/ixbr-automated-quarantine", "published_at": "2024-02-01T11:27:29+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c6a8cdd7", "title": "Where is all of the fediverse?", "url": "https://blog.benjojo.co.uk/post/who-hosts-the-fediverse-instances", "published_at": "2024-01-12T12:34:50+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c74389d2", "title": "The browsers biggest TLS mistake", "url": "https://blog.benjojo.co.uk/post/browsers-biggest-tls-mistake", "published_at": "2024-01-07T15:13:50+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c80df5bc", "title": "Grave flaws in BGP Error handling", "url": "https://blog.benjojo.co.uk/post/bgp-path-attributes-grave-error-handling", "published_at": "2023-08-29T10:45:00+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c88cf91e", "title": "Driver adventures for a 1999 webcam", "url": "https://blog.benjojo.co.uk/post/quickcam-usb-userspace-driver", "published_at": "2023-04-28T10:18:30+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6c9418ca2", "title": "Going multipath without Multipath TCP", "url": "https://blog.benjojo.co.uk/post/multipath-without-mptcp", "published_at": "2022-02-24T11:40:05+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6ca04f234", "title": "Who is squatting IPv4 addresses?", "url": "https://blog.benjojo.co.uk/post/ip-address-squatting", "published_at": "2022-02-17T11:30:04+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6ca254794", "title": "LTO Tape data storage for Linux nerds", "url": "https://blog.benjojo.co.uk/post/lto-tape-backups-for-linux-nerds", "published_at": "2022-01-27T11:23:54+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cb21c11f", "title": "Ghost in the ethernet optic", "url": "https://blog.benjojo.co.uk/post/smart-sfp-linux-inside", "published_at": "2022-01-13T11:43:54+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cbfeb210", "title": "One of these JPEGs is not like the other", "url": "https://blog.benjojo.co.uk/post/not-all-jpegs-are-the-same", "published_at": "2021-11-19T10:47:26+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cc9288e0", "title": "Imaging mounted disk volumes under duress", "url": "https://blog.benjojo.co.uk/post/imaging-mounted-disk-volumes-live", "published_at": "2021-09-20T11:25:28+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6ccc86d45", "title": "Hunting down the stuck BGP routes", "url": "https://blog.benjojo.co.uk/post/bgp-stuck-routes-tcp-zero-window", "published_at": "2021-04-21T10:12:35+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cd087ec8", "title": "Splitting the ping", "url": "https://blog.benjojo.co.uk/post/ping-with-loss-latency-split", "published_at": "2021-03-01T11:57:53+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cd7faebf", "title": "Hacking Ethernet out of Fibre Channel cards", "url": "https://blog.benjojo.co.uk/post/ip-over-fibre-channel-hack", "published_at": "2020-09-09T10:32:42+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cdc2cb8f", "title": "Stressing the network when it's already down", "url": "https://blog.benjojo.co.uk/post/speedtest-congestion-feedback-loop", "published_at": "2020-04-30T10:08:38+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cec042d7", "title": "How 1500 bytes became the MTU of the internet", "url": "https://blog.benjojo.co.uk/post/why-is-ethernet-mtu-1500", "published_at": "2020-02-19T11:48:55+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cef13548", "title": "Writing userspace USB drivers for abandoned devices", "url": "https://blog.benjojo.co.uk/post/userspace-usb-drivers", "published_at": "2019-11-17T12:39:16+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6cfbca792", "title": "You cannot cURL under pressure", "url": "https://blog.benjojo.co.uk/post/you-cant-curl-under-pressure", "published_at": "2019-10-12T11:54:07+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d01a6330", "title": "The year of RPKI on the control plane", "url": "https://blog.benjojo.co.uk/post/the-year-of-rpki-on-the-control-plane", "published_at": "2019-09-09T12:38:20+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d0e97e31", "title": "Teaching a cheap ethernet switch new tricks", "url": "https://blog.benjojo.co.uk/post/dell-switch-hacking", "published_at": "2019-06-13T11:01:50+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d1315146", "title": "The speed of BGP network propagation", "url": "https://blog.benjojo.co.uk/post/speed-of-bgp-network-propagation", "published_at": "2019-05-04T12:28:41+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d1e4b635", "title": "What would a EvE online Internet look like?", "url": "https://blog.benjojo.co.uk/post/eve-online-bgp-internet", "published_at": "2019-02-03T15:33:11+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d2356b42", "title": "A dive into the world of MS-DOS viruses", "url": "https://blog.benjojo.co.uk/post/dive-into-the-world-of-dos-viruses", "published_at": "2019-01-04T15:14:43+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d2b43f43", "title": "The state of RPKI: Q4 2018", "url": "https://blog.benjojo.co.uk/post/state-of-rpki-in-2018", "published_at": "2018-12-20T21:57:37+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d3784d76", "title": "From VNC to reverse shell", "url": "https://blog.benjojo.co.uk/post/qemu-monitor-socket-rce-vnc", "published_at": "2018-09-23T14:29:45+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d3f394b5", "title": "Are BGPs security features working yet?", "url": "https://blog.benjojo.co.uk/post/are-bgps-security-features-working-yet-rpki", "published_at": "2018-09-10T10:15:11+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d414d8c8", "title": "Building telemetry for tea aka Tealemetry", "url": "https://blog.benjojo.co.uk/post/tealemetry-IOT-tea-coaster", "published_at": "2018-08-06T10:00:13+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d4e096c6", "title": "The death of a TLD", "url": "https://blog.benjojo.co.uk/post/the-death-of-a-tld", "published_at": "2018-07-26T21:35:23+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d531b96d", "title": "Calling the world cup goals 5 seconds before they happen", "url": "https://blog.benjojo.co.uk/post/beating-the-broadcast-delay-world-cup", "published_at": "2018-07-10T11:05:56+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d54caca4", "title": "The ISPs sharing your DNS query data", "url": "https://blog.benjojo.co.uk/post/ISPs-sharing-DNS-query-data", "published_at": "2018-06-25T15:10:39+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d62b707c", "title": "x86 assembly doesn't have to be scary (interactive)", "url": "https://blog.benjojo.co.uk/post/interactive-x86-bootloader-tutorial", "published_at": "2018-06-18T16:07:05+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d700fc13", "title": "Payments with less of the evil", "url": "https://blog.benjojo.co.uk/post/payments-with-less-evil", "published_at": "2018-06-02T18:24:37+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d7970602", "title": "Playing battleships over BGP", "url": "https://blog.benjojo.co.uk/post/bgp-battleships", "published_at": "2018-05-21T12:24:31+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d88a66e6", "title": "Yubikey/Smartcard backed TLS servers", "url": "https://blog.benjojo.co.uk/post/tls-https-server-from-a-yubikey", "published_at": "2018-05-03T11:37:13+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d9629855", "title": "Making art with SSH key randomart", "url": "https://blog.benjojo.co.uk/post/ssh-randomart-how-does-it-work-art", "published_at": "2018-05-01T12:10:34+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6d9e8c1fa", "title": "Mapping the whole internet with Hilbert curves", "url": "https://blog.benjojo.co.uk/post/scan-ping-the-internet-hilbert-curve", "published_at": "2018-04-20T16:10:54+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6da0507b7", "title": "Encoding data in dubstep drops", "url": "https://blog.benjojo.co.uk/post/encoding-data-into-dubstep-drops", "published_at": "2018-04-12T11:38:28+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dac10fb0", "title": "Giving every Tor Hidden Service a IPv6 address", "url": "https://blog.benjojo.co.uk/post/tor-onions-to-v6-with-iptables-proxy", "published_at": "2018-04-04T11:26:29+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6db1cdd94", "title": "DNSFS. Store your files in others DNS resolver caches", "url": "https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-storage-dnsfs", "published_at": "2018-01-12T16:23:33+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6db26977c", "title": "A surprising amount of people want to be in North Korea", "url": "https://blog.benjojo.co.uk/post/north-korea-dprk-bgp-geoip-fruad", "published_at": "2017-10-25T11:49:10+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dbc16f80", "title": "Email delivery is stuck on IPv4", "url": "https://blog.benjojo.co.uk/post/email-delivery-stuck-on-ipv4", "published_at": "2017-09-12T13:26:38+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dbef38bb", "title": "Traceroute Haiku’s", "url": "https://blog.benjojo.co.uk/post/traceroute-haikus", "published_at": "2017-09-07T10:50:03+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dc3ee4c3", "title": "IP over AX.25 over 802.11 with ESP8266", "url": "https://blog.benjojo.co.uk/post/AX25-over-wifi-with-ESP8266", "published_at": "2017-07-22T22:17:27+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dcfb6d39", "title": "IPv6 anycast possibly done better", "url": "https://blog.benjojo.co.uk/post/ipv6-backing-anycast-possibly-better", "published_at": "2017-07-20T16:13:30+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6dd7d0310", "title": "Building a legacy search engine for a legacy protocol", "url": "https://blog.benjojo.co.uk/post/building-a-search-engine-for-gopher", "published_at": "2017-05-21T12:26:48+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6ddf8635e", "title": "Just how long do DNS resolvers cache last?", "url": "https://blog.benjojo.co.uk/post/dns-resolvers-ttl-lasts-over-one-week", "published_at": "2017-04-26T19:56:47+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6de65601b", "title": "Monitoring SNMP less devices with ease", "url": "https://blog.benjojo.co.uk/post/monitoring-wifi-devices-without-snmp", "published_at": "2017-01-07T19:48:23+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6df242511", "title": "Ludicrously cheap HDMI capture for Linux", "url": "https://blog.benjojo.co.uk/post/cheap-hdmi-capture-for-linux", "published_at": "2016-06-27T10:25:25+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6df8acbdb", "title": "TOTP SSH port fluxing", "url": "https://blog.benjojo.co.uk/post/ssh-port-fluxing-with-totp", "published_at": "2016-05-22T19:23:39+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6e065bb76", "title": "I may be the only evil (bit) user on the internet", "url": "https://blog.benjojo.co.uk/post/evil-bit-RFC3514-real-world-usage", "published_at": "2015-11-26T13:22:18+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6e138c5d1", "title": "The strange case of ICMP Type 69 on Linux", "url": "https://blog.benjojo.co.uk/post/linux-icmp-type-69", "published_at": "2015-10-12T18:12:30+00:00" }, { "id": "01a08744-69f0-7345-9e83-f1a6e18aa9d2", "title": "robots.txt usage over the Alexa million", "url": "https://blog.benjojo.co.uk/post/robots-txt-over-1-million-sites", "published_at": "2015-09-05T16:35:21+00:00" }, { "id": "01a08744-69f1-700a-a741-9656179c106c", "title": "Propagation slow? Sound the alarms!", "url": "https://blog.benjojo.co.uk/post/cloudflare-blue-beacon", "published_at": "2015-07-03T14:39:24+00:00" }, { "id": "01a08744-69f1-700a-a741-965617ddb1e4", "title": "Auditing GitHub users' SSH key quality", "url": "https://blog.benjojo.co.uk/post/auditing-github-users-keys", "published_at": "2015-06-02T13:22:03+00:00" }, { "id": "01a08744-69f1-700a-a741-9656188b8d98", "title": "YAMware Old Malware can still be fun!", "url": "https://blog.benjojo.co.uk/post/yamware-msdos-malware-tear-down", "published_at": "2015-05-17T16:54:53+00:00" }, { "id": "01a08744-69f1-700a-a741-965618b65d52", "title": "Detecting anycast addresses and more", "url": "https://blog.benjojo.co.uk/post/path-detection-for-anycast", "published_at": "2015-04-23T20:20:18+00:00" }, { "id": "01a08744-69f1-700a-a741-9656196e63a2", "title": "A peek into the USM format", "url": "https://blog.benjojo.co.uk/post/usm-video-format", "published_at": "2015-03-21T23:41:20+00:00" }, { "id": "01a08744-69f1-700a-a741-965619f6704b", "title": "Reverse Proxy + Cache for Minecraft", "url": "https://blog.benjojo.co.uk/post/minecraft-reverse-proxy-plus-cache-on-demand", "published_at": "2015-02-08T21:49:37+00:00" }, { "id": "01a08744-69f1-700a-a741-96561a9db4d3", "title": "MITM'ing TLS/SSL for debugging purposes", "url": "https://blog.benjojo.co.uk/post/debug-ssl-tls-with-ssldump-https", "published_at": "2015-02-05T17:56:51+00:00" }, { "id": "01a08744-69f1-700a-a741-96561b61a15e", "title": "Thoughts on GitHub streaking", "url": "https://blog.benjojo.co.uk/post/2014-08-31-thoughts-on-github-streaking.md", "published_at": "2014-08-31T18:21:56+00:00" }, { "id": "01a08744-69f1-700a-a741-96561b8c967b", "title": "Mumble: A referral was returned from the server.", "url": "https://blog.benjojo.co.uk/post/2014-05-31-Mumble-referral-was-returned-from-the.md", "published_at": "2014-05-31T19:05:22+00:00" }, { "id": "01a08744-69f1-700a-a741-96561bd5cf99", "title": "Lessons from APL, a \"lost\" language", "url": "https://blog.benjojo.co.uk/post/2014-05-26-APL-the-lost-language.md", "published_at": "2014-05-26T19:03:53+00:00" }, { "id": "01a08744-69f1-700a-a741-96561c1cf9de", "title": "NPM build error", "url": "https://blog.benjojo.co.uk/post/2014-04-19-npm-pre-versions-of-node.md", "published_at": "2014-04-19T19:03:08+00:00" }, { "id": "01a08744-69f1-700a-a741-96561cfa95c4", "title": "Dealing with MySQL resource shortage", "url": "https://blog.benjojo.co.uk/post/2014-04-17-mysql-resource-shortage.md", "published_at": "2014-04-17T19:02:11+00:00" }, { "id": "01a08744-69f1-700a-a741-96561d2234e9", "title": "Super Easy Twitter Bots", "url": "https://blog.benjojo.co.uk/post/2014-01-19-super-easy-twitter-bots.md", "published_at": "2014-01-19T19:00:11+00:00" }, { "id": "01a08744-69f1-700a-a741-96561d3b690c", "title": "Running around HTTP firewalls", "url": "https://blog.benjojo.co.uk/post/running-around-firewalls.md", "published_at": "2014-01-01T20:58:36+00:00" } ] posts Claim your blog
Back to Benjojo's Blog
Blog · corpus.blog/blogs/blog.benjojo.co.uk/posts

Benjojo's Blog

blog.benjojo.co.uk

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014