Kirsle.net logo Kirsle.net

My ISP is cheating on speed tests

June 5, 2013 by Noah
My ISP in Los Angeles is Time Warner Cable, and I'm pretty sure they're cheating on my speed tests. I pay about $39 a month for either 15 Mbps down or 20 (I don't remember which), and when I run speed tests on sites such as speedtest.net, I always get a download speed between 15 and 20, usually around 17 on average.

But, the entire rest of the Internet totally sucks. I'm using Google's DNS (because Time Warner Cable's have been absolutely useless, like making me wait several minutes just to resolve a domain name), so that's not part of the problem either. It seems also that on the general Internet, the entire network drops in pulses every 30 seconds for 5 seconds at a time. So if I'm on Reddit, and click to expand a dozen imgur links with my RES extension... all of the links take a while to load, and then all of a sudden they all load at the exact same time.

I was reasonably sure that Time Warner Cable was using traffic shaping to "put on a good show" for Speedtest.net, and throttling my network speeds for all the other sites. So that if I called and complained about my slow Internet, they'd say "go to Speedtest.net and see for yourself that you're getting your 15-20 megs down that you're paying for" when instead, they're cheating on speed tests and slowing me down on every other site in the world.

I just had to find a way to prove it. The idea I came up with was to proxy my speed test through a fast web server. My web server, though, wouldn't cut it. My server got 900 megs down, but only like 12 megs up... which I thought was absurd, because a web server's entire purpose in life is to upload web content to the end users. A server's upload speed is the bottleneck that controls your maximum download speed when downloading data off of it.

I migrated to a new web server that gets much better results on speed tests, and its upload speed is higher than my quoted download from my ISP. So, I used it to try and test whether my ISP is cheating on me.

The tools I used: speedtest-cli, a command line Speedtest.net client (so I don't have to worry about trying to proxy Adobe Flash traffic, which is notoriously difficult to do), and proxychains, a Unix tool that lets you force any other program through a proxy regardless if the program wants it or not. This way I could proxy speedtest-cli to run through my web server instead of directly hitting up Speedtest.net.

My web server is hosted in Kansas City, MO, which is a bit of a drive away from Los Angeles, so to remove any geographical bias from the equation, when I ran my speed tests from my web server, I selected Speedtest servers here in Los Angeles. This showed me that my web server was able to download and upload reasonably fast from Kansas City to LA, and that the opposite should be true as well.

Hypothesis:

Time Warner Cable is aware of the entire list of Speedtest.net servers, and when it sees traffic downloading or uploading to one of these servers, they shape the traffic to give you your quoted speeds. All other servers besides these on the list, they slow your traffic speeds immensely.

Expected results:

Assuming my ISP was honest, I would expect my speed test running through proxychains to be similar (perhaps a couple megs less) than a direct speed test, given the overhead of an SSH socks tunnel and network travel between my apartment and my server in Kansas City.

Experiment:

Run a Speed Test by proxying through a third party server that Time Warner Cable is not aware of, in such a way that the ISP does not know I am running a speed test, and therefore they do not know to shape my traffic in a way that gives me my quoted transfer speeds.

I'll let the results speak for themselves (note: I'm hosting these images here locally because I'm not sure speedtest.net hosts the results on their server forever. Clicking the images though will take you to the link that speedtest.net gave me). I did two rounds of tests for redundancy.

  • PC Speedtest: A speed test from my local PC to a local Speedtest server in Los Angeles.
  • Server to LA: A speed test from my server in Kansas City to a Speedtest server in Los Angeles.
  • Proxychains: A speed test from my local PC, proxied through my server in Kansas City, to a speed test server near Kansas City (local to the server).
PC Speedtest Server to LA Proxychains
PC PC PC
PC PC PC
I also ran a non-scientific test of simply downloading a very large file from my web server (I picked the Android 4.0 VirtualBox ISO from one of my blog posts which weighs in at 243 MB). The download speeds shown in wget initially spiked to about 500 some entire kilobytes per second (about 4,000 kilobits or 3.9 megabits) before quickly dropping to between 100 and 200 KB/s (or 800-1600 kilobits/s) for the remainder of the file transfer. Overall it took 22 minutes, 46 seconds to download. Given my quoted download speed of ~17 Mbps, and my server's upload speed of 35 Mbps upload to Los Angeles, this is inexcusable.

For those who like the dirty details, I copy/pasted my terminal outputs from speedtest-cli and you can see them here: speedtest-cli.txt. So you understand what you're looking at:

  • The hostname aerelon is my local PC.
  • The hostname debian is my web server.
  • The command proxychains ./speedtest-cli --share is me running the proxy through my web server.
My proxychains configuration, less comments:
[kirsle@aerelon ~]$ cat .proxychains/proxychains.conf | grep -v '^#'
strict_chain
quiet_mode
proxy_dns 
tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
socks5	127.0.0.1	8080
Where 127.0.0.1:8080 is a SOCKS5 proxy over SSH to the web server.
Tags:

Comments

There are 10 comments on this page. Add yours.

Avatar image
tyler posted on October 31, 2013 @ 03:37 UTC

seems about right. all internet providers are scamming people with their "promised" speeds. wish someone would take them to court and prove it so we can get back to some fast internet and not waiting for shit to load like this was 1999 again

Avatar image
aemal ahmad posted on December 29, 2013 @ 12:58 UTC

hii everyone i have the same problem my isp installed cisco modems in my hostel which have 20 mbps but i hardly get 2 mbps on my laptop i m using win 8... but when i connect other laptop to the same router i get 20 mbps....i think they have limited my bandwith it is the possible problem seem to me...i dont have any access to that router....kindly tell me what cause me facing this problm and how could be this problem avoided....

waiting for ur reply

Avatar image
Eric posted on January 25, 2014 @ 20:11 UTC

I have XO Communications in Los Angeles, have 100Mbps service supposedly have 21kbps upload speed, yes that is right 21 kilobytes per second and 4.4Mbps download. Want to talk about BAD.

Avatar image
TYKUHN2 posted on August 20, 2014 @ 19:31 UTC

I have tried to run some tests, proxy Speedtest.net through a webserver, I tried two different web servers. Speedtest.net actively tried to deny them because (atleast one of them) had no location or ISP tied to the IP. INstead of the test map on the front page it had 4 different links, and no way to test.

Using a different testing service I got less then paid for speeds. I am going to use your idea and force them to understand that I am smarter then they think.

Avatar image
Noah (@kirsle) posted on August 20, 2014 @ 19:32 UTC

With the speedtest-cli you can manually get a list of Speedtest servers and pick one, so that they don't have to automatically figure out the best location for you. It might help in that case.

Avatar image
TYKUHN2 posted on August 25, 2014 @ 01:49 UTC

Upon connecting using a proxy, speedtest.net only displays the top bar, which before it only displayed 4 options instead of the test map.

Using the following website to get a whois whatsmyip.org/more-info-about-you/ Hostname: 50.7.78.236 --Untrue Proxy: No Proxy or Invisible Proxy Used --Untrue FDCservers.net FDCSERVERS (NET-50-7-0-0-1) 50.7.0.0 - 50.7.255.255 --Possibly True FDCservers.net FDCSERVERS-CHICAGO2 (NET-50-7-76-0-1) 50.7.76.0 - 50.7.79.255 --Possibly True

Proxy is a free poxy: hidemyass.net/proxy

I feel safe using it, :-D

Avatar image
michael clyde posted on February 22, 2015 @ 14:34 UTC

"I feel safe using it"

You might want to read up on proxies ... been found almost (but not quite) as exploitable as PPTP, and I'm talking thieves and road-agents not the NSA, (the nsa) can get inside your PC before you even hit the OpenVPN switch.

Avatar image
Frank posted on March 18, 2015 @ 11:10 UTC

Test your Internet speed with our powerful DSL Speed Test Tools. Check your internet DSL speed with accurate upload and download speed test results.

www.dslspeedtest.us

Avatar image
Michael posted on October 12, 2015 @ 04:26 UTC

Nobody is scamming you. I understand why you think that, but it is not the case. I work in the Telco world (Not Time Warner) and I see this question pop up all the time. Here is what you need to understand. Time Warner does not = the internet. Let me repeat that because it is very important to understand. TWC is one of hundreds of providers in the "Cloud" but they do not = the internet. You say you pay for 15-20 MB and you consistently see 17MB on the TWC test. But then you run other test and get much lower. There is a reason for that. What you need to understand is that TWC is providing ACCESS to the cloud at a certain size. In your case that size is 15-20 MB. And within your local hub, you are testing exactly what they are promising. It is after you leave that hub and enter the rest of the "Cloud" that your speeds slow down. That is because there are many providers of all sizes, speeds and saturations of use. Some have oversold their network. Others have heavier use during peak times of the day. Even if you are pinging to a remote TWC location, it is highly likely that you had to go through several other backbone providers after you left your hub to get to the remote TWC location. These providers operate in cells....and all interconnect and pass traffic from all the others through them. Think of it like this. You have Shiny new Ferrari that was advertised as being capable of 150 MPH. Your local City council has just spent a massive bond to increase the size of the highways to allow you to drive 100 MPH at any time..day or night. You decide it is is time to take a trip and enjoy these new features that you have. And for fun, we will say you live in Atlanta. You decide to travel to New Hampshire and see all the Fall Colors. You do the math and with that Ferrari and those 100 MPH roads that your town council built, you estimate that it will take you 8 hours to get there. So on your trip, you hit the DC rush hour traffic and you sit stuck in that for hours........ and it takes you 14 hours to get to NH. Based on this, should you complain to the Atlanta City council? Should you demand a refund from Ferrari? Did either scam you? No, of course not. If you had stayed local in Atlanta, you could have done the 100MPH. And if you had enough road, you could have hit the 150MPH that Ferrari promised. And this scenario is exactly what is going on with your internet speeds. (Yes, I know all of this is way off regarding real travel but this is to illustrate a point and not help you plan for your next vacation or midlife crisis.)

Avatar image
David Morris posted on January 3, 2017 @ 10:41 UTC

I suggest you to check for online reviews.

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.