I have a Motorola Droid 1 with Android 2.2 on it. I found something odd that I don't understand why it works.

If I plug my phone into my home computer which is Windows 7 and I turn on the tethering ability, I am met with a Verizon captive portal and it tells me I need to pay for a tethering plan (which I don't have).

Now the weird thing, if I plug the same phone into my Ubuntu 10.10 laptop and enable tethering it works and can get on the internet with no captive portal showing up.

The only thing I could notice that was different about the connections was Windows connected to the phone with an NDIS driver and Linux connected to the phone with what I think is a raw device mapping.

Would that have anything to do with it?

  • 3
    Yes, that would likely have everything to do with it. When you set the phone up in Linux, what distro and what steps did you go through to set it up? Now, let's commence to the legalspeak shall we? You do realize that they expect you to pay for tethering (regardless of your moral mindset or expectations to obligations regarding the payment for such a service). So they'll be very glad to see this question relegated to the dustbin, regardless of how neat the trick is. Just thought I would share that.
    – jcolebrand
    Commented Feb 14, 2011 at 22:07
  • Yeah I don't really have much need for tethering but being that I am a geek at heart this was just an interesting little "loophole". I was actually thinking about reporting it to Verizon maybe around the time contract is up. See maybe if a few "fees" might disappear from my new phone. Except I think that is sorta of extortion and they may not like that. So what makes the loophole work? Is the captive portal inside the NDIS driver?
    – Solignis
    Commented Feb 14, 2011 at 22:12
  • I am using Ubuntu 10.10 x86 edition. I simply plugged in the phone and turned on tethering in the network setting of Android, no hacks no special tools. That is what I thought was odd.
    – Solignis
    Commented Feb 14, 2011 at 22:14

2 Answers 2


A lot of mobile network operators perform network analysis (deep packet inspection) of all transfered data. In that way they are able to identify which protocols are used.

Identifiable protocols that indicate a desktop PC are for example:

  • Windows Update
  • Virus scanner update
  • Broadcasts sent by Windows

Another very easy and common way to identify the system is to read the UserAgent string the web-browser sends in each request. There are add-ons available for Firefox to fake the user-agent may you should try it and fake your browser to something unknown.

  • The UA string's a nice thought. CyanogenMod allows an Android phone to fake being a Linux desktop, after all.
    – Broam
    Commented Apr 13, 2012 at 13:51


It's possible that Verizon is using OS Fingerprinting to determine that you're tethering.

Windows 7 (and possibly Vista) also connects to a particular Microsoft site to attempt to determine if an "additional log on" is required - if it doesn't get an expected response back, it surmises you're in a captive portal and warns you. Verizon can look for that network request.

(You can configure this behavior to ping any site you want instead of Microsoft's; see the KB article.)

With Ubuntu...the OS fingerprint would show the system as Linux, which is no different than Android.

Another guess: Verizon can see that the TTL of your packets has increased by one , so that it could figure out there's a hop beyond your phone. This would have to depend on how the OS uses the phone as a network device - it's possible Windows treats the phone as a gateway. I know Linux treats the phone as a network card.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .