关于电信、网通检测ADSL共享上网的技术手段 - AreYouOK? - ITeye技术网站
常常听说这样的事情,ADSL共享上网会被电信或网通打电话,告知不要这么做。我一直在想他们是怎么检测的。
从现象看,这种事情各个地方时有发生,但都比较零星,好像没有大面积发生过,自己也没有碰到过。所以检测的手段在技术上肯定还不成熟。
从理论上说,我理解的TCP/IP协议,好像就没有技术手段能够做到这一点。我猜测有这样的可能:
1、装ADSL时,电信或网通送的ADSL猫(也当路由器)有后门。所以能够检测后面有没有挂多个计算机。
2、通过市面上常见的几种路由器的默认管理口令进行扫描,如果能进去,那么也能够做到监控。常见的扫描端口应该是80和161。
3、在TCP层以上的协议中进行检测。例如,检查HTTP请求的user-agent,这里面一般具有用户计算机的信息。例如:
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 QQDownload/1.7
用户可能有多个浏览器,故应该检测操作系统、软件、浏览器的组合,并智能的分析。但是user-agent是可以伪造的,例如,Flashget(以前的版本,现在的不清楚)就伪装成Windows 98/IE5。所以我认为这个检测,机器是判定不准的,需要人工干预才能做出判定。如果路由器后面几个机器都是XP,可能人工也判定不出来。
user-agent的判定方式只是一个例子,在上层协议中,也许还有其他办法来做类似的判定。
网络上一些其他文章的说法,我认为是错误的:
1、通过MAC地址检测。
实际上从外面只能看见路由器的地址,所以这是不太可能的。
2、通过连接数判定。
这更不可能了,现在的p2p软件打开的连接太多了。