-
2006-09-18
转《网络尖兵让宽带共享上网失去自由》及讨论解决办法 - [转载]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://jscan.blogbus.com/logs/3345989.html
限制共享,引发争议随着电脑与网络的普及,上网冲浪日渐成为了普通电脑用户日常生活的一部分,特别是在大中城市更是如此。目前在我国最常见的上网方式是电信提供的ADSL接入,所以“宽带”成为了中国网民最时髦的话题。
但最近一段时间,不少的地方的网民反映在ADSL上网时遇到了怪现象。比如深圳的网民在上网时,网页自动跳出了电信通知。大致内容如下:“根据《互联网保护条例》和公安局相关文件规定,未在相关部门申请互联网经营许可登记的私人性质用户,不得采用共享技术下挂多台电脑上网并向他人提供互联网接入服务。经我局核查,贵用户使用的ADSL采用1+N技术下挂4台以上电脑共享上网……”
“为保证网络质量稳定、维护中国电信用户的合法权益,请您接到通知后重新进行业务登记,并按相关规定套入相应的资费类别。逾期不来办理的,中国电信将不保证其上网质量并保留依法追究相关法律责任的权利……”
接到这种通知的网友大多是,几个人同时在使用一个ADSL帐号上网。在深圳电信主页并未看到相关说明;在打深圳10000电话咨询后,工作人员说明,不提倡家庭用户装局域网,如果有必要的话,不能超过3台。看来中国电信深圳方面开始严格控制个人用户共享上网,并为此找到了相应的检验手段。
接到通知的用户感到奇怪的是,自己和他人一起共享上网怎么会被ISP发现了呢?原本正常交费上网的用户,在和自己亲朋好友组建局域网络共用线路后,突然接到了网络服务商发来的通知,他们感到了意外和不满。一时间相关的讨论在不少论坛热烈展开。
而以中国电信为代表的网络服务商态度相当坚决。一条宽带线路只允许一台计算机上网;原来没有强调规定的地区,也开始向新增用户提出了要求。光有纸面上的规定是不够的,如何准确监控网络用户成为了关键。据了解,网络接入服务商大多开始使用名为NetSniper的网络设备,其中文名称是“网络尖兵”。
对于普通用户来说,这是一个比较陌生的名字。“网络尖兵”究竟是何方神圣,他又是如何为网络服务商“看守”线路呢?我们做了相应的调查。网络尖兵,何方神圣其实NetSniper网络尖兵并不神秘。他是一套由上海某网络系统公司在数年前开始推出的一套维护管理系统。
网络尖兵整体分为三部分:网络尖兵控制器、网络配置管理器和日志管理器。
其中硬件设备—网络尖兵控制器已经发展为I和II两种型号。I适用于检测和控制私拉专线;II适用于检测和控制共享上网和盗用MAC地址上网。
网络配置管理器用于配置和管理网络尖兵控制器的相关参数。日志管理器用于接收和处理网络尖兵控制器发送的日志信息。
外观图
控制界面
在线路上安置标准机架式的网络尖兵硬件后,网络服务商与管理者可以进行相当全面的设置。
网络尖兵基于TCP/IP环境,它可以自动检测出网络中未经允许架设的代理服务器或路由器,阻止盗用他人MAC地址的行为,并对这些代理服务器的IP包以及流向此类路由器的IP包进行自动拦截。
最终可以有效避免用户逃费或私自运营的情况,网络服务商将拥有一个可管理的宽带网。正是基于此,所以各地的网络服务商开始陆续启用了网络尖兵。监控原理,尚未公开深得服务商青睐的网络尖兵到底是通过什么方式监视用户呢?共享上网又是如何被发现的呢?网络上展开了对网络尖兵的讨论。
因为涉及到商业利益,所以设备供应商与网络服务商都没有公开网络尖兵的工作原理。 普通网民能了解到的信息都来自于非官方的互联网。
ADSL共享上网一般是通过路由NAT方式,经过路由转换后访问外网的内网计算机的IP地址都变成了192.168.0.1,而且MAC地址也转换成了ADSL Modem的MAC地址。直接在ADSL出口检查NAT转换后的数据包是很难全面监控的。
网络尖兵通过类似superscan之类的工具软件对ADSL猫进行扫描,发现开着161端口的PC数量。因为161端口是SNMP(简单网络管理协议)的服务端口,当其数量多于网络服务商设定数判定为共享。
还有人认为网络尖兵在使用了未知的方法从共享的计算机中探测到共享的信息,当判断为共享上网也会报警。在发现非法用户时,NetSniper可以发出特定的控制包,使非法用户处于“离线”状态。
网络爆发,攻防大战
虽然对其工作原理是众说纷纭,但网友对网络尖兵大多持抵制态度,虽然厂商宣称,作为一种检测设备,网络尖兵以数据接收为主,不发送数据,所以对带宽占用量几乎为零。但还是有不少人在网上抢着批评网络尖兵的弊端。
罪状一:
最大的罪状自然是限制了网络自由,不能让用户与他人共享上网。如果你长期和亲朋好友、邻居一起组网共用ADSL线路,会被网络服务商发现并警告。
罪状二:
其不停扫描用户打开的端口数,多于设定值的就判断是共享,有时连按几次F5键它是认为是共享,连单用户上网也受到了影响。
罪状三:
其不停扫描影响网速,造成浏览网页经常要刷新几次;但某些网页比较复杂,要调用几个服务器文件时它也当你是共享,部分页面不能正常显示。破解方案既然已经成了网民的眼中钉,网络上自然少不了人要研究如何打败网络尖兵,冲破封锁。
破解一:
将所有共享的客户机均要安装防火墙,把安全的级别设为最高。把IP配置规则里面所有的允许别人访问本机规则统统取消。如果使用WinXP,也可以直接打开网卡设置中的防火墙。
破解二:
在ADSL Moden中关闭SNMP协议;如果无法修改这种协议,只好换一个能更改设置的猫。
破解三:
共享上网中的主机安装WIN2000服务器版,然后禁掉161端口或在防火墙上禁掉161的端口。
方法还有很多,在网上还有不少的网友在继续热烈讨论这个问题。道高一尺,魔高一丈,可以说一场针对网络尖兵的网上攻防战已经悄然展开。矛盾重重,履霜坚冰网络尖兵对服务商来说是忠于职守了,但在网民看来却仿佛成了心头上的“坚冰”。
有网民认为网络服务商虽然规定用户不得利用ADSL线路向第三方提供接入服务。 但随着家庭宽带的普及,所谓的“第三方”概念已经变得模糊不清了。难道一家中还不能拥有两台以上的上网电脑?同时通过路由共享ADSL就成违规?
还有用户称,ADSL带宽都是一样,用了路由也还是原来的速度,为什么要禁止共享呢?自己购买的服务,难道还不能充分利用吗?
而网络服务商的态度也很坚决。他们表示,如果不对上网用户做必要的监视控制,不仅会出现“共享上网”问题,而且还会出现“私拉专线”、“盗用MAC地址”等状况。
用户如果利用这些手段上网,在实质上是逃避了网络付费,侵犯了服务商利益,造成后者业务收入流失,无法及时回收投资。
其实问题并不简单,个人帐号共享上网失控,最严重的可能是出现非法网吧、私人网络出租屋的违规经营形式。而这正是政府有关部门明令禁止的。可以说服务商强硬的态度得到了政府必然的支持。
我们注意到,网络尖兵越来越多地在中国各地出现,不仅在深圳如此,在山东淄博、湖北仙桃、河北东方大学城、江西、新疆、青海西宁、广西梧州等地电信部门也采取了行动。
由此可见南方的中国电信、北方的网通都在动手。目前虽然包括北京在内的部分区域还没有受到影响,但按照现有的发展趋势,未来可能所有地区的ADSL用户都将面对无情的网络尖兵。家庭共享上网也许将成为历史。
私人ADSL只允许一人独享,你能接受吗?---------------------------------------------------------------------------------------------
以上是网络上最常见的一篇关于网络尖兵的文章,可以让大家对它有个初步了解。以下,我将收集整理一些各地网友讨论的破解方法,以供大家参考。
在软件路有论坛(http://www.routerclub.com),我找到了关于NAT(即大家说的路由共享)检测技术的相关介绍。( http://www.routerclub.com/viewthread.php?tid=4075&extra=&page=1)
NAT检测技术来源:http://www.sflow.org/detectNAT/
以及思科的NAT 检测的功能介绍:
http://www.cisco.com/en/US/products/sw/ios...0080110ae9.html大体上主要是以下技术:
The NAT detection technique is based on two observations about the IP TTL (Time To Live) field.
Host operating systems have characteristic initial TTL values. This property of individual operating system implementations of TCP/IP is well known and can be used as part of a "fingerprint" to identify the operating system that a host is running merely by examining its traffic. The technique is well described in Passive OS Fingerprinting: Details and Techniques by Toby Miller.
NAT devices or gateways decrement the TTL on packets that they forward.
sFlow provides a stream of sampled packet headers captured at the two switches. These packet headers can be decoded and IP source addresses and TTL values can be extracted.
Suppose all the hosts use the Windows operating system, each host would then generate IP packets with a TTL value of 128. Since the TTL value is decremented each time the packet traverses a router, a packet seen at the firewall from Host C would always have a TTL of 127. Similarly, a packet from Host C seen by the other switch (Switch 10.10.49.204) would also have a TTL of 127. However, the switch connecting Host C to the network (Switch 10.10.67.1) should always see a TTL of 128. The algorithm for detecting NAT routers relies on the observation that switches directly connected to a host, or in the same subnet as a host, will always see packets from the host with a TTL that is characteristic of the host operating system.
In this example the sFlow Analyzer would see a TTL of 127 when examining packets sampled by switch 10.10.49.1 that apparently originated from "host" 10.10.49.1. The TTL values in packets from Hosts A and B are decremented by the NAT router before they are passed to the switch, revealing the existence of the router.
The effectiveness of this algorithm is easily demonstrated using sFlow data from a production network.中文介绍:
sFlow步入实用
一项不太为人所知的实时网络监测标准,将为高速网络用户带来价值。
尽管IETF的sFlow草案标准已经公布多年了,但还没有几家厂商实施它。专家和用户表示,随着一些企业中的网络传输流速度增加到千兆和万兆,sFlow将成为跟踪网络性能和提供网络安全的一种越来越重要的工具。
2001年被IETF批准成为一项草案标准的sFlow是一种网络监测技术,它利用对整个网络上传送的局域网和广域网数据包流的随机采样,让用户详细、实时地掌握网络传输流的性能、趋势和问题。
网络监测功能一般是通过将网络探测器设备(如运行探测器软件的PC或专用设备)安装在网络的某一网段上采集数据实现的。探测器常常被插入到局域网交换机上的镜像端口中,即被配置为复制来自交换机上另一个端口的传输流的端口。探测器将只能够从镜像端口采集传输流数据。
sFlow被部署在运行于网络中实际的交换机和路由器上的各个网络管理信息库中(MIB)中,MIB是基于硬件或基于软件的代理。sFlow支持者表示,这样做可以更全面地展示网络性能。监测发生在每台具有sFlow功能的交换机的每一个端口上,而不是只出现连接探测器的端口或网段上。
sFlow MIB对流经端口的数据包随机采样,而不是捕获和记录交换机或路由器端口上的每一个数据包。这些叫做sFlow数据报的样本被转发给网络上的一台sFlow采集服务器。在这台服务器上,样本数据报利用一种算法进行处理,算法根据采样的数据建立网络传输流的完整模型。
sFlow背后的技术是由交换机监测软件生产商InMon的工程师、HP以及Foundry Networks的开发人员联合开发的。将sFlow技术应用在局域网交换机中的厂商包括HP、Foundry和 Extreme Networks。HP OpenView、NetScout的nGenius Performance Manager 和InMon Traffic Server等产品中提供了对sFlow的软件支持。
sFlow应用实例
在佛罗里达州Tampa市的Moffit癌症中心中,具有sFlow功能的交换机被用于测量网络性能以及用作一种安全工具。该中心表示,“sFlow为其提供了网络中每一个端口的实时网络统计数据。有关传输流模式信息的详细程度非常高,详细到了协议和端口级。如果网络上有人做错了什么事,你可以跟踪他们,一直找到他们插入PC的地方。”
Kingdon Capital Management是纽约一家小型对冲基金公司,该公司也计划使用sFlow。在其网络上传输着很多的实时数据,这种实时数据流基本是由平均价值为每笔1千万美元的交易构成的,他们希望sFlow能更好地了解网络性能的总体情况。了解更多的数据包和协议专有信息的能力将会对其有更大的帮助,它将使该公司可以得到比通常得到的信息更加详细的内容。
安全功能
一些专家表示,除了提供网络性能的实时快照外,sFlow还可被用作一种网络安全工具。检测作为网络地址翻译(NAT)设备的未经授权的网络设备就是一个例子。sFlow草案标准作者、InMon公司工程师Peter Phaal表示,这可能包括一台具有NAT功能的普通无线路由器。尽管连接到网络上的NAT设备也许看似合法的端点节点,但这些设备可能成为有线或无线用户的后门,提供对未经授权的连接访问。
由于sFlow对来自网络中每一个端口的数据流进行采样,sFlow数据分析器可以通过比较交换机和NAT设备间的子网数据,识别网络中作为NAT设备的节点。该论坛高手支招:
可以击败网络尖兵了
Each of these methods can be easily defeated through better sterilization by the router itself. In the first example, if the TTL for each TCP packet was re-written by the router for each packet to the value of 128, the first method would no longer function. For the second method, sterilizing IP header information and stripping unneeded TCP flags would successfully undermine this scheme. For the last Method, counting hosts behind a router. Striping the fragmentation flag for syn packets, and setting the IP ID to '0', (like Linux and Free BSD both do) would make it impossible to count hosts behind a NAT router.
在第一个例子,如果所有的tcp包通过iptables重新把TTL写为128,就可以破解掉了。
在第二种方法,清除IP头的信息和抽取掉不需要的TCP标记,也可以完美的破解掉
在第三种方法,剥离破碎的syn包的标记,设置IP的ID为“0”,也使它无法计算出在NAT后面的主机有多少台。
猜测认为网络尖兵只使用了比较TTL的技术,所以可以很容易的破解掉!!而如果是用cisco的接入设备的话,可能需要三者同时兼顾才行!本来以为有希望了,可是该高手又发了回帖:
络尖兵监测的是ip包的指纹特征,我查了国外很多资料,只有:
http://ippersonality.sourceforge.net/
提供的包可以重新定义所有包的特征,如:把linux下发出的包伪装为windows发出的包。使nmap也探测不出来,更不用说用网络尖兵了。
不过http://ippersonality.sourceforge.net/这个项目好象在2年前已经停止了。
我用它提供的patch来进行编译的时候会报错。
所以目前用http://ippersonality.sourceforge.net/的解决办法是不可行了。
待我慢慢查查资料,或许大家可以帮帮我。
另外:网络尖兵最可能使用的技术就是探测IP包的ID 数值来判断NAT后面有多少台主机。而win系统产生的ID是根据系统时间产生而递增的。linux系统的ID值为0,openbsd系统的ID是随机的。又看了一篇文章:
http://www.dslreports.com/shownews/27754Re: Just use a tweak tool and up your TTL by 1?
This is NOT the TTL they are talking about, it's the ID portion of the the IP packet header.
Look at the following RFC »
www.faqs.org/rfcs/rfc791.html
which explains the IP packet. Page 8 has a diagram of the sections of the packet, and Page 10 talks about the identificaition section of the packet.
When a machine sends out packets, they put a number (somewhat random) into this section of the packet, and incrament it for each packet after that. This helps the reciever put the packets back into the proper order (this is needed because not all packets always take the same route, so some later packets can actually arrive before earlier packets, so they need something to identify what order then need to be reassembled in)
Mangling this CAN be done, but some higher end firewalls and Linux type NAT boxes, but they have to track it in a very percise order, to make sure that the packets ID numbers still make some sense.
This method of identifying multiple machines works by relaying on the fact that each machine will be sending out packets in order, but will be in different number ranges. I.E. if you see 9 packets, and 3 have IDs of 55,56,57, 3 have ID's of 1001, 1002, 1003, and 3 have ID's on 50000,50001,50002, you can sort of determine that there are 3 machines. It's a bit more complex then this, but this is an simplification.
--NetGeek
--
如果网络尖兵不只采用检测ttl的技术的话,在目前是没有办法破解掉的。该论坛已经有破解方法,但是需要购买。
http://www.routerclub.com/thread-13504-1-1.html随机文章:
难以忽视的真相(An Inconvenient Truth) 2008-08-02被房产商豢养的文人如何左右了舆论 2008-07-15【转】中国油价真相 2008-06-26【转帖】回首 2008-06-17【转帖】胡立阳七招教你大赚小赔的技术 2008-05-30
收藏到:Del.icio.us








评论