Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 1,615 posts.
How and why I run my own DNS servers
Despite my woeful knowledge of networking, I run my own DNS servers on my own websites run from home.
SSH certificates: the better SSH experience
When I ssh into a server for the first time, I’m confronted with a dialog which asks me to verify I’m actually talking to the machine I expect to be talking to. $ ssh -l jp 192.0.2.65 The authenti...
Chromium based browsers leak user local IP via WebRTC foundation attribute
This script uses a pregenerated foundation lookup table to find local IP address for ICE candidates that render local mDNS hostnames seen as xx-xxx-xxx-xx.local .
Wiretapping Google smart speakers
I was recently rewarded a total of $107,500 by Google for responsibly disclosing security issues in the Google Home smart speaker that allowed an attacker within wireless proximity to install a "backdoor" account on the device, enabling them to send commands to it remotely over the Internet, access its microphone…
The death of a TLD
Another one bites the dust. The gTLD gold rush is now seeing a steady flow of TLD’s that clearly just didnt work out.
Important security vulnerabilities in OpenVPN
UPDATE: OpenVPN fuzzers now released. Summary I’ve discovered 4 important security vulnerabilities in OpenVPN. Interestingly, these were not found by the two recently completed audits of Open…
The Ethernet PAUSE frame
This is a bizarre one. It all started when the internet seemed to go out at my house. My desktop, phone, TV, everything stopped working. The usual solution at a time like this is to power cycle the modem and router. While this fixed the situation temporarily, soon after the problem returned. What made me think this…
Practical Networked Applications in Rust, Part 1: Non-Networked Key-Value Store
The PingCAP company, makers of the TiDB NewSQL database and the TiKV key-value store, have kindly made publicly available, as well as open-sourced, a set of training courses that they call the "PingCAP Talent Plan". These courses train programmers in writing distributed systems in the Go and Rust languages. They are…
Calling NSA to find your encryption key after a few bits were flipped (2010)
I was just alerted to this story by one of the followers of this blog… Last month Voyager 2 began returning some unusual signals. This story is being reported by alternate news outlets as s…
Sysadmin friendly high speed Ethernet switching
I’ve been on the lookout for a ethernet switch that I don’t hate, the problem with a lot of higher speed (10G and above) ethernet switches is that they are quite expensive new and if you buy the used then they rarely have many years left ( or none at all ) of software patches.
Intercepting Zoom's encrypted data with BPF
How to use Rust and BPF to intercept the data sent and received by programs that use OpenSSL.
460M Indian Internet Users Are Now on IPv6
NOTE : This data is generated by using the ISO 3166 economy code information provided in the allocation and assignment statistics reports as generated by the Regional Internet Registries. This code reflects the economy in which the entity to whom the allocation or assignment was made is located, but does not…
Air Traffic Control
Air traffic control has been in the news lately, on account of my country's declining ability to do it. Well, that's a long-term trend, resulting from decades of under-investment, severe capture by our increasingly incompetent defense-industrial complex, no small degree of management incompetence in the FAA, and…
Making a Linux-managed network switch
Sometimes the custom 5-port gigabit switch _is_ the solution.
Be your own VPN provider with OpenBSD
Blog about network and security, showing example of Linux iptables and Snort configuration, and Windows security softwares.
Adding a fiber link to my home network
Motivation Despite using a FTTH internet connection since 2014, aside from the one fiber uplink, I had always used network gear with 1 Gbit/s links over regular old rj45 cat5(e) cables. I liked the simplicity and uniformity of that setup, but decided it’s time to add at least one fiber connection, to get rid of a…
Mysteries of Telegram Data Centers (2022)
Telegram claims to have 5 data centers (DCs), referred to as DC1~5 in Telegram’s code and documentation. Among them, DC1 and DC3 are located in Miami, USA; DC2 and DC4 are in Amsterdam, Netherlands; and DC5 is in Singapore. Each account is associated with a DC upon registration and does not change with the…
HTTP/2 and HTTP/3 explained
Understand better how HTTP works in each version.
Google seems to have broken email forwarding
Basically: I'm finding it impossible to reliably convince Google that email from my employees, to my employees, is not spam. I run my own mail server, but most of my employees use Gmail. So I have forwarding set up: employee@dnalounge.com simply forwards to employee@gmail.com. When sending mail using their Gmail…
Self-hosting a Matrix server for 5 years
Experiences with the Matrix protocol, Matrix Synapse server, bridges, and Element mobile apps.
On the Juniper backdoor
You might have heard that a few days ago, Juniper Systems announced the discovery of “unauthorized code” in the ScreenOS software that underlies the NetScreen line of devices. As a resu…
Epoll vs. io_uring in Linux
First, I want to tell you how exactly I got to this point and why I started researching different options for handling asynchronous I/O on Linux… Last year, my students and I built a reverse proxy server called TinyGate. It was super simple, worker-based, and it basically worked well. Of course, I didn’t expect it to…
A Day in the Life: The Global BGP Table
Update: This article was discussed on Hackernews Much has been written and a lot of analysis performed on the global BGP table over the years, a significant portion by the inimitable Geoff Huston.
Introduction to TCP and Sockets (2001)
This section is an introduction to TCP/IP programming using a sockets API. (Sockets can also be used to work with other network protocols, such as IPX/SPX and Appletalk, but that is beyond the scope of this document.) The standard socket API was originally developed in the Unix world, but has been ported to OS/400 as…