免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 37872 | 回复: 59
打印 上一主题 下一主题

[网络管理] 与电信的霸王条款斗争到底---关于电信adsl限制终端数量的破解办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-31 14:19 |只看该作者 |倒序浏览
今天上午ADSL线路终于被电信封了,现像如下:

1.adsl连接建立正常,可以ping 202.96.134.134(电信的DNS为202.96.134.133,小气得很,不给ping,提供了一个检测网络连通性的地址)正常;

2.QQ登陆正常

3.网页无法显示,显示连接被重置

4.网址能正常域名解析,能ping通

以上是标准的被封现像,如有雷同,很不幸,你被电信QJ了

目前已知的电信探测ADSL终端数量的技术:

一、检查同一IP地址的数据包中是否有不同的MAC地址,如果是则判定用户共享上网。
二、通过SNMP(简单网络管理协议)来发现多机共享上网。
三、监测并发的端口数,并发端口多于设定数判定为共享。
四、检测TTL值,通过路由器后IP分组的TTL会减1
五、对端口进行检测:所有的内部网络的连接经过转换到router后,全部变为高端口,即60000以上的高端口,因为它为了避免同常规的服务端口相冲突。这一点通过包检测很容易探测出来。
六、IP分组的ID:内部网络产生的IP包通过router后,有一个固定在某一段的ID值,而这个值在内部网络中每一台电脑所产生的都不一样。而router 在默认状态下是不会改变这个值的。


想与CU的高手们集思广益,想出对策,小弟我的想法如下:

关于第一点:
数据包中是否有不同的MAC地址
答:这一点可忽略,经过NAT转换的包头中SRC MAC都是路由器的MAC地址了

通过SNMP(简单网络管理协议)来发现多机共享上网。
答:检查系统中是否开有161/162端口,停掉相关服务

检测TTL值,通过路由器后IP分组的TTL会减1
答:通过iptables,将发用从ppp0口出的包头TTL值定义为128,在电信看起来,哇,这是一台xp呢

?监测并发的端口数,并发端口多于设定数判定为共享
答:这一点,好像很难做到,但是电信也不好掌据多少个并发示为多台机器,请教DX们有什么好的办法

对端口进行检测:所有的内部网络的连接经过转换到router后,全部变为高端口,即60000以上的高端口,因为它为了避免同常规的服务端口相冲突。这一点通过包检测很容易探测出来
答:通过iptables的SNAT,应该不难将终端连接的端口SNAT为路由器端口

IP分组的ID:内部网络产生的IP包通过router后,有一个固定在某一段的ID值,而这个值在内部网络中每一台电脑所产生的都不一样。而router 在默认状态下是不会改变这个值的。
答:这一点,得向活跃于CU的linux-网络区的高手ssffzz1兄致敬,他写的模块很好用,将所有从ppp0端口出的包分组ID值递增2就可以了,实验了一台,不mangle的情况下,单台机对分组ID的修改是递增2的


不知还有其他的矛和盾没有,由于小弟知识浅薄,请精通的大牛们不涩赐教!!!谢过先了

[ 本帖最后由 kevin.tan 于 2007-3-31 14:33 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-03-31 16:21 |只看该作者
在设置TTL值时,我所在的发行版出现错误,暂没找到解决办法,见:
http://linux.chinaunix.net/bbs/thread-894169-1-1.html

我的解决办法是:
1.iptables -A filter -p ICMP -i ppp0 -j DROP
# 将所有外部的ICMP包DROP,也就是不让ping,其实可以DROP 掉ping使用的ICMP-echo

2.将/proc/sys/net/ipv4/ip_default_ttl设置为129

echo "129" > /proc/sys/net/ipv4/ip_default_ttl
在/etc/sysctl.conf中添加
net.ipv4.ip_default_ttl = 129

# 设置为129是因为路由器本身有一跳,所以到电信网关时就是128,xp系统的默认TTL

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
3 [报告]
发表于 2007-03-31 16:22 |只看该作者
IP分组的ID:内部网络产生的IP包通过router后,有一个固定在某一段的ID值,而这个值在内部网络中每一台电脑所产生的都不一样。而router 在默认状态下是不会改变这个值的。
答:这一点,得向活跃于CU的linux-网络区的高手ssffzz1兄致敬,他写的模块很好用,将所有从ppp0端口出的包分组ID值递增2就可以了,实验了一台,不mangle的情况下,单台机对分组ID的修改是递增2的

应该默认是加1的不是递增而,另外哪个--INC-IPID参数是指每次的增加数,选1就可以了.

论坛徽章:
0
4 [报告]
发表于 2007-03-31 16:27 |只看该作者
ssffzz1兄,我在没有进行IPID修改的路由器上抓包,发现没错是每台电脑产生的IPID都不一样,但是每台电脑所产生的IPID的差是2,(也就是前一个比后一个小2)

我按照-j IPID --ipid-inc 1后抓包发现,看起来,所有电脑产生的IPID都是同一台机器产生的一样,呵呵,但差是1,故我改成2了,

BTW,你的表达更精确,我上面的"递增"表达有误

[ 本帖最后由 kevin.tan 于 2007-3-31 16:29 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-03-31 17:14 |只看该作者
TTL的问题,在ssffzz1兄的帮助下搞定了,现在剩下端口问题了!朝着目标进了一步!

关于第五条,高端口问题,用了这样一条语句:

$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -p tcp -o $INET_IFACE -j SNAT --to-source "$INET_IP":1024-32000

# 将端口限制在1024-32000之间

[ 本帖最后由 kevin.tan 于 2007-3-31 17:23 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-03-31 17:27 |只看该作者
IPID请问这个字段是在那的?IP有字段是叫ID这东东的吗?请明示。谢谢了

论坛徽章:
0
7 [报告]
发表于 2007-03-31 17:53 |只看该作者
说实在的,之前我也有同样提问

你可以tcpdump -i ethx -n -v src host $your_inet_ip > /tmp/pack.ipid

你就会发现ID字段

论坛徽章:
0
8 [报告]
发表于 2007-03-31 21:07 |只看该作者
一般能通 udp 的时候我都是从隧道走出去的。

论坛徽章:
0
9 [报告]
发表于 2007-03-31 21:10 |只看该作者
lz哪里的?我们这里电信没有做这种限制啊。
不过要关注这个问题

论坛徽章:
0
10 [报告]
发表于 2007-03-31 23:05 |只看该作者
关注。。。。。。。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP