My Portfolio
This the subset of my projects that I feel are representative of my work. The full listing of my public projects might also be of interest - however it is very much a mixed bag of complete projects, archived scripts, snippets and trivial wrappers around functions I wanted to use at the command line.
Websites:
whatismyproxy.com
WhatIsMyProxy.com is my proxy server debugging site. At face value it is simply parsing the http headers, but there is a custom server behind the scenes that enables some of the more advanced tests.
dnsparanoia.com
DNS Paranoia is a DNS server which is designed to debug DNS traffic. It runs a custom Python backend and gives deliberately false answers when queried.
Network Tools:
tcping
Tcping is a TCP based ping variant, which measures the time it takes to open a TCP connection to a specified server. I started the project in 2005, and I have been handling feature requests, bug reports and the occasional patch since then. It is written in C++.
tcproute
Tcproute is a WinPcap based C# program that implements a TCP traceroute usings its own (albeit very minimal) TCP layer.
mturoute
Mturoute is a command line utility that determines the maximum transmission unit size for each (traceroute) hop between you and a given IP address. It was written to debug some packet size issues I was having over VPN links.
rawsniff
Rawsniff is a command line packet sniffer. It uses a raw socket rather than WinPcap, which severely limits the traffic it is able to sniff - however it can be deployed immediately without installing drivers on the target machine or setting up an external machine on a hub or span port.
Subnet Abacus
Subnet Abacus is a graphical IPv4 subnet calculator. Its primary conceit is that all of the informational elements are connected - you can edit the subnet in any matter you prefer and see how that affects the other information.
ips
"ips" is a unix-style text utility. I would compare it most directly to 'grep'. Rather than matching using regular expressions, however, ips examines the input in a math and range aware manner. For instance, if you are searching for a specific address, ips will return lines that specify address ranges that include that address despite it not being present in the document as an exact text match.
deadbit
Deadbit is a tool that attempts to test a router's memory over ICMP. It makes some assumptions about how a router will handle ICMP packets and attempts to feed the router all possible data bits, checksum calculations and sequence numbers. (I realize this is far from a *real* memory test, but it did in fact successfully implicate the questionable hardware it was written to test.)