Network testing tool able to detect packet modifications in any protocol – TCP reset packets or web page modifications, and isn’t limited to BitTorrent or any other specific application.
With the FCC finally determining that Comcast improperly throttled BitTorrent traffic in violation of its open-Internet principles there is now a very real need for a practical and convenient method to make sure that ISPs don’t try it again.
“Subscribers should be able to go where they want, when they want, and generally use the Internet in any legal means,” FCC Chairman Kevin Martin said in a statement.
Now I’ve mentioned other tools before like “Glasnost” which allows you test your connection online, and there are many other projects out there as well, but the latest one called “Switzerland” from the Electronic Frontier Foundation (EFF) may just be one of the most versatile so far.
Switzerland is an open source software tool for testing the integrity of data communications over networks, ISPs and firewalls. It will spot IP packets which are forged or modified between clients, inform you, and give you copies of the modified packets.
“Switzerland is designed to detect the modification or injection of packets of data traveling over IP networks, including those introduced by anti-P2P tools from Sandvine (widely believed to be used by Comcast to interfere with BitTorrent uploads) and AudibleMagic, advertising injection systems like FairEagle, censorship systems like the Great Firewall of China, and other systems that we don’t know about yet,” says the EFF.
The only drawback is that Switzerland is currently in alpha release as a command line tool which means that only relatively sophisticated users will be able to get it up and running. The EFF does however, hope to make it more user friendly in the future.
The software uses a semi-P2P, server-and-many-clients architecture. Whenever the clients send packets to each other, the server will attempt to determine if any of them were dropped, forged, or modified.
One advantage this architecture has over other network testing tools is that it can spot arbitrary kinds of packet modifications in any protocol — it doesn’t assume that the interference comes in the form of TCP reset packets or web page modifications, and it isn’t limited to BitTorrent or any other specific application. In the future we expect it to offer a good platform for collecting statistics on bandwidth, bidirectional latency, jitter and other traffic performance characteristics that might be signs of prioritization of some applications over others.
How do I run tests with Switzerland?
For now, the easiest way to set up tests is to co-ordinate them through this wiki page. If you want to test whether BitTorrent downloads are working correctly, go to that page and find some torrents that others are seeding from test machines. If you want to test if your ISP is interfering with BitTorrent seeding, you can post a link to a torrent file on the wiki, seed that torrent while running a Switzerland client and other people can find it on the wiki and try to download it while running a Switzerland client.