I used to live without any traditional ISP for the last few months and used my mobile as a hotspot for my PC. It is quite a handy solution as these are the two things I in most cases have with me: my mobile and my laptop. I could not do it without Three UK.
Three offers unlimited broadband for £15 a month. This is pretty much one of the best offers on the market I have experienced. On top of that you get 300 texts and 3000 minutes which is more than sufficient for my needs. On the drawbacks I am missing the ability for international calls. Secondly broadband terms and conditions do not allow for any other usage than on your mobile device.
Unfortunately a few days ago they started blocking tethering. Internet was working fine on my Galaxy phone, but I could not open any website on my laptop. For a few days I was frustrated, I knew there is nothing to complain to Three as they would tell me tethering is not accepted by their T&Cs.
But for me this is part of the ‘unlimited broadband’ offer understanding. In fact when I am sold a service that is advertised as unlimited I expect it to be so. Therefore whether what I am doing is ethical or not remains subject of dispute. Furthermore I consider my laptop as a mobile device too.
Anyway I cannot work without broadband, and based on my previous experience with networks and ISP I started analysing how a mobile operator can distinguish what device I am using. I tried to encrypt all the traffic with VPN which seemed to be working fine, but eventually was blocked also. Clearly Three did not want to allow me to encrypt the traffic and wanted to know exactly what I was doing.
It was quite obvious and finally I found solution to my problem. The only way Three administrator was able to block the traffic was by monitoring the ‘User Agent’. Every browser sends a ‘footprint’ when it connects to any web server. So when I am on Windows using a Firefox browser, the string identifying me as a Firefox user would be something like ‘Mozilla/5.0 Windows NT 6.2 WOW64 AppleWebKit/537.11 KHTML, like Gecko Chrome/23.0.1271.97 Safari/537.11’. It clearly says I am on a Windows platform. It is fairly easy for any system administrator to add a iptables rule to router’s firewall using string module, for example like this:
iptables -t raw -A PREROUTING -m string --algo bm –string Windows -j DROP
A quick test confirmed my theory that changing User Agent helps to have full connection again. Now I can enjoy truly free broadband once again. After this brief introduction here is a simple step by step guide on how to omit Three tethering block:
1. Enter developer mode (Ctrl+Shift+I)
2. Enter settings (bottom right icon)
3. Go to ‘Overrides’ tab
4. Select ‘Other’ from ‘User Agent’ dropdown and enter something like: ‘Mozilla/5.0 (Linux;
Now you appear as an Android device.
1. Type in ‘about:config’ in the address bar and click that you know what you are doing
2. In search box type in ‘general.useragent’
3. You should now have Firefox settings related to useragent
4. Right click and create a new string value called ‘general.useragent.override’
5. Type whatever mobile you wish to appear, e.g. ‘Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16’
Now you appear as an iOS device.
Congratulations, for system admin you are an Android/iOS device. Enjoy your broadband! Do you know any other cost effective mobile broadband access methods?