↓ Twitter is updated more often, so read it! ↓

How to tell if Comcast is messing with BitTorrent?

Most people, at least Slashdot readers, have heard or read that Comcast is allegedly using some sort of packet shaping or packet inspection to “delay” BitTorrent seeding (uploading in BitTorrent parlance). Downloading works fine, but seeding is nearly impossible unless one enables encryption. I’ve seen this myself—I attempted to download Ubuntu 7.10 and let it seed last weekend while I was out of town for a wedding. After two days, I had completed the download, but I’d uploaded a mere 28 MB. There were more than 5,000 seeds, too.

Here’s where it gets fishy. The day prior, I’d downloaded Ubuntu 7.10 on a Windows® box with uTorrent. It seeded just fine—uTorrent enables encryption by default. However, I used another computer to seed during the weekend, one running KTorrent on Kubuntu 7.04. Encryption was not enabled. I enabled it remotely (ssh tunnel to vnc), and suddenly, the seeding started. In the next two days before I returned, I’d seeded more than 2 GB.

So, this brings me to my actual question, or petition for assistance. How can I tell if Comcast is actively injecting RST packets as the AP and TorrentFreak have confirmed? How can I test this, other than by watching peers attempt to connect vainly?

I want to conduct the same tests so that I have the results for myself. There are three local newspapers in my area which service Comcast customers, and a well-written, data-backed letter to the editor might get enough people in a furor to actually call the local Comcast office and complain.


  1. Shane:

    How to test how many connections are being reset by RST pack[ets], a reply to Comcast is using Sandvine to manage P2P Connections.

    The next step would obviously be to organize peers to seed a torrent and use Wireshark/Ethereal to log all traffic.

  2. Colin Dean:

    Thanks, Shane. I’m the in the process of capturing packets via Wireshark.

    I’ll use this display filter to see the results:

    ( ip.src != [my-ip] ) and ( tcp.flags.reset == 1) and (tcp.seq > 1) and ( tcp.ack > 1)and (tcp.dstport == [my-bittorrent-port])

Leave a comment