网络尖兵大战网关厂商

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




现在网络越来越普及,在我们那个穷乡僻野,已经开始有人买电脑上网聊QQ,淘宝,偷菜了,不过上一辈不说“上网”,说“打电脑”。我们那边一般都是向电信申请宽带,大多是2M,一家人用足够,费用也不贵。

但是大城市情况就不一样了,比如你去广州这样的城市,你先得租房,然后得问是否有宽带。但是在这里不像家里,因为你今天在白云区,说不定明天就去岗顶了。而如果自己申请宽带,一般都是半年或者一年,并且费用比“乡下”(据说很多上海老人会把其他地方称为乡下)高多了。这个时候,有人发现了一些商机,并成为老板级人物,他说:”你到我这边申请宽带,随时申请随时用,如果换地方了,可以随时退,并且费用比电信那边低很多。”这样,一个“地下”市场就形成了。老板先自己向电信申请宽带,然后再“出售”给客户。互惠互利。由于一个老板一般会负责整个地区,这个地区上网的机器可能有几百台,这样老板就会申请多条线路(我见过有人申请了25条4M的线路,那家伙机房一眼望过去都是黑色的猫!),这样带宽可以汇聚到很高,比如100M。但是为何不直接申请100M的光纤呢?请读者回答。

这样的事情,终究要被电信发现,本来我2M宽带只卖给一家人,但是被你这样一弄,我等于2M宽带卖给了n家人,那我不亏大了。这时,“大名鼎鼎”的网络尖兵便孕育而生。

大家也许能想到了,网络尖兵其实就是把一个账户限制成只给一家人用(4台电脑),如果超过了,就弹出一个销魂的页面,告诉你人太多了。这件事情在网民中引起轩然大波,说“给我1度电,还管我接几个灯泡”。由于中国IP地址紧张,网民又多,所以一般都是采用NAT方式上网。所以就有一个技术问题,如何识别NAT后面的主机数。

我们要识别NAT后面的机器数量,办法只有一个,那就是通过数据包来进行识别(废话?)。
– 链路层,MAC地址以及协议不能作为识别的根据,因为MAC只有一个,那就是网关的MAC;
– 网络层,有一个非常重要的特征,IPID;
– 传输层,对于TCP,有seq为重要特征。

有一篇论文《A Technique for Counting NATted Hosts》,论述了采用IPID作为识别主机数的根据是可行,他根据IPID在一台主机上是连续增长这样一个特征,得出如果在外面可以监测到多条IPID增长线,那么就可以判断有多台主机以及机器数。

网络尖兵确实利用了这样一个特征来获取上网人数。

自从电信采用网络尖兵来限制共享上网以来,一些网关厂商如TPLINK也暗地与其进行了斗争,他们在转发数据的时候,修改了IPID的增长情况,让其符合一台主机的特征,从而对其进行了突破。

不过这场斗争不会消停,传闻电信在某些地区通过限制连接数来控制上网人数,如果真的是这样,网关厂商都会叫苦不迭。更何况传输层的SEQ也可以作为判断的根据,到时候估计要采用seq代理?另外还有应用层呢,谁能保证某些应用不会提供线索?
在这个时候,宽带老板能做的并不多。

参考:
1. 《异形大战铁血战士》

(3个打分, 平均:4.33 / 5)

雁过留声

“网络尖兵大战网关厂商”有28个回复

  1. 理客 于 2010-02-25 6:57 上午

    对于家庭用户,当然也包括出租情况,限制访问应该是非法的,具体根据residential的合同来定
    对于商业用户,是business的合同,和家庭不同。
    然后是wholesale,也是不同的合同。
    如果家庭用户的合同里面没有规定不允许一个住户内的共享,那么电信的任何限制都是非法的,这种合同应该是没有这个限制,除非明确给出了这种限制的价格折扣,该用户自有选择是限制还是不限制,否则就是霸王条款,还是不合法。
    同样,老板如何没有和电信签订合同,并符合相关电信转售运营的法律,也是违法的

  2. zeroflag 于 2010-02-25 7:32 上午

    不直接租用100M链路,是不是因为运营商不为个人用户提供这样大的带宽租用,而运营商的计费策略决定了企业用户的费用要远远高于个人用户?所以汇聚25条4M的ADSL远远比租1条100M的链路便宜?
    关于识别方面,除了IPID以外,还有一些应用特征可以识别多用户共用。比如MSN的登录数量,一台机器理论上只能开启一个MSN,可以认为有几个MSN就至少有几个用户在用。
    破解IPID的方法也很简单,通过代理就OK了,或者在网关上实现透明代理功能也没问题。破解MSN应用层的识别,或者限制最大并发连接数来限制用户数量,降低用户体验就没有什么特别好的方法了。
    不过,如果是我做这种运营的话,我会在IDC租用一个空间部署一台高性能的IPSec VPN,然后通过VPN的形式绕过电信在BAS层面的监控,用户的应用流量从IDC直接出去。

  3. wenlujon 于 2010-02-25 7:14 下午

    确实是便宜很多,比如上海2M ADSL是178元/月左右。就连10M光纤就要上万一个月。

    租用vpn服务器的成本如何?另外网关还必须得支持ipsec(这个成本也需要考虑,几乎就把tplink等厂商给排除掉了),或者直接在用户端安装客户端(这个不可行,用户很多不懂电脑,而且ipsec配置非常繁琐)。

  4. 理客 于 2010-02-25 8:44 下午

    商业用户需要对称带宽+稳定服务,这个ADSL是不成的

  5. wenlujon 于 2010-02-25 8:52 下午

    很多老板并不知道上行带宽也会影响到下行,看中的是下行,所以说adsl的汇聚100M和光纤100M在他们眼中区别可能没有那么大,用户更加不懂。

  6. Panabit 于 2010-02-25 9:32 下午

    (本贴并非广告)坦白的讲,我们不但可以检测到带机量,还可以知道后面的共享IP地址,并且不管你是通过几层NAT或代理上来的,都逃不过。

  7. 陈怀临 于 2010-02-25 9:43 下午

    Panabit,我2日到幽州。 苹果叶子要见你。你买单,喝个菊花茶。或者在我饭店。我住在高丽棒子开的那个饭店。。。

  8. Panabit 于 2010-02-25 9:57 下午

    首席,没问题,等您多时了,呵呵。是上次见面的那个饭店吗?叶子兄弟,我也早就想见你一面!

  9. appleleaf 于 2010-02-25 10:36 下午

    好的,没问题,久仰两位大侠了。

  10. appleleaf 于 2010-02-25 10:36 下午

    另外,应该我买单

  11. billy 于 2010-02-25 10:59 下午

    叶子抢买单这个习惯很好…我很喜欢!

  12. abc 于 2010-02-25 11:01 下午

    Panabit:能详细说下如何做到么?或者说是否能提供相关论文?

    另外,基于IP ID这个,论文中也提到了诸多局限了,比如说Linux是根据目的IP地址线性增加IP ID的值的,似乎在实际的网络中应用,解决的问题不比引起的问题多。

  13. wenlujon 于 2010-02-25 11:48 下午

    一些应用比如迅雷会在数据里面携带内网IP,并且这个IP不用做NAT ALG也不会影响应用,这个也是检测IP地址的一种方式。

  14. Panabit 于 2010-02-25 11:53 下午

    叶子兄弟,你这习惯好,不过还是留在下次吧,这样又多了一次侃天的机会:)

  15. Panabit 于 2010-02-25 11:55 下午

    To abc: 就是wenlujon兄的方法。

  16. aaaa 于 2010-02-26 12:20 上午

    panabit说的似乎有点玄。

  17. appleleaf 于 2010-02-26 12:21 上午

    to Panabit,那我就先欠一顿。
    to billy,兄弟虽然穷,但你老大远道而来,我还是一定要尽地主之谊的。

  18. wowpaladin 于 2010-02-26 12:23 上午

    一些应用的payload的确会带有PC的原始IP地址,在小规模的环境中可以以此发现NAT的存在。但是在电信级的网络中完全进行应用层的扫描,性能上不太现实。

  19. Panabit 于 2010-02-26 1:25 上午

    To aaaa: 怎么玄?

  20. anony 于 2010-02-26 3:33 上午

    (本贴并非广告)坦白的讲,我们不但可以检测到带机量,还可以知道后面的共享IP地址,并且不管你是通过几层NAT或代理上来的,都逃不过。

    准确度有多高?

  21. Panabit 于 2010-02-26 5:45 上午

    回楼上:主要的误差在于一个机器有多个网口或IP地址,除此之外,正确率是100%。

  22. ab 于 2010-02-26 11:34 下午

    请教两个问题:
    1.终用户如何连接到“老板”的网络上呢?
    2.“老板”那边如何实现认证、计费呢?

  23. wenlujon 于 2010-02-27 4:43 上午

    to ab:
    1. 当然通过网线,固定IP,DHCP,PPPoE都可 以;
    2. 这个一般通过ip/mac绑定,也可以通过pppoe。计费一般靠“老板”的自己来管理(可以用一些管理软件集中管理),也可以通过pppoe来计费。

  24. 黄岩 于 2010-02-27 5:44 上午

    补充一些内容:
    1、用户认证、带宽分配、计费等这些内容,一般是用专用设备来实现的,现在市面有些多WAN口宽带路由器就能够实现这些功能。目前”共享上网”已经形成了比较完备的产业链,分工明确,有做设备的,有搞运营的,甚至做设备的还分为做硬件的和搞软件的,夸张一点说,“共享贷款”跟山寨手机的生态环境差不多:)。无论什么高技术产业,一旦被“生态化”之后,随之而来的就是迅速普及,利润率急剧下降。

    2、检测和封堵“共享上网”是DPI应用之一,其他应用还有:检测和封堵VoIP(skype)、检测和封堵P2P、广告推送、Behavior Targeting广告等等,总之,都是一些不受网民欢迎的应用。目前国内有网络尖兵、南京信风等等,国外有Cisco(SCE1000/2000)、3Com等。

    3、通过检测有多少个连续的IPID流来判断NAT-BOX后面有多少个PC,已经是比较老旧的技术了,现在市面上多数家庭网关都能够对付这种手段。

    4、新的检测手段究竟是什么,我的确不清楚。抛砖引玉,这里做一些猜测:
    – 通过上层应用来检测,比如:可以检测RG后面有多少个MSN帐号登陆,或者检测有多少个QQ帐号登陆。
    – 通过检测网站的登陆帐号,一般网站是通过cookie来记录登陆状态的,这个也是容易检测的。

  25. wenlujon 于 2010-02-27 6:44 上午

    实际用户使用宽带路由器的情况是:
    带宽分配 > 用户认证 > 计费
    虽然有设备实现计费等功能,但是在出租屋市场,还很少有人这样使用,需要一点时间,目前依靠的更多的是“行政”手段(呵呵,老板会先打电话催款,不行的话“登门拜访”用户)。

    另外,目前使用IPID判断主机数的方式仍然处于流行状态。

    对于QQ和MSN,理论上MSN可以实现检测主机数,QQ不能(因为一台电脑可以登录N个QQ),但是实际上在中国,一般用户使用MSN的很少,一般都是QQ,所以实际上用MSN检测不可行,倒是用QQ是可以作为判断根据(但是如果有人一台电脑登录N个QQ,可能会导致其他人不能登录),因为一般人打开电脑第一件事情就是登录QQ。

    使用应用层的协议进行检测,一件事情非常重要,就是这个应用要必须非常流行,几乎每个人都在使用,否则不能投入实际应用。

  26. Panabit 于 2010-02-27 7:16 上午

    使用应用层检测是今后的方向,IPID可以作为补充。应用层检测没有想象的那么复杂,也很及时,如果考虑到不同应用特征出现的关联性,效果会好很多。

  27. 理客 于 2010-02-27 8:45 上午

    严格讲,老板如果没有取得合法执照并和电信合作,是不能开展业务的。当然作为草根反抗中国电信法超长难产导致电信垄断损害老百姓利益的考虑,这样做应该支持。
    法律上非法的老板,采用的方法我猜就是在一个小区选一些点,租用ADSL,其他点通过有线或者无线翻墙连到这些点上。这个运营成本是非常低的,设备成本几乎可以忽略,主要是线路租用,在公寓住宅,采用超强的WLAN,接8个左右用户是没什么问题的,如果以8个用户一个2M,以2M的1/3的价格出售,毛利为8/3=160%,以1/4的价格是100%,1/5的价格是60%,这是wintel级的利润率,所以这一定是非法的:)

  28. 杨文刚 于 2011-04-28 8:24 下午

    谁有EZCHIP和broadcom的登入帐号啊,给个啊,做数通这块的晚上开放资料太少了,我急需下载啊