防各种 HTTP、DNS 劫持的办法

2016-01-17 20:32:38 +08:00
 GeekTest

今天看到北京联通开始劫持到联通自己的缓存
应该就是抢先回应个包 302 跳转到联通自己的缓存服务器
可以用 iptables 过滤掉关键字
安装 iptables-mod-filter 添加规则

iptables -I FORWARD -m string --string "Location: http://*.*" --algo bm -j DROP

( http://*.*为缓存服务器 IP 如: http://127.0
还有一个办法是拆分 HTTP 包
https://github.com/lehui99/ahjs5s

DNS 劫持可以使用非 53port 或使用 tcp 查询( AliDNS 支持 TCP )
或使用 DNSPod 的 HTTPDNS
使用 DNSAgent 来通过 HTTPDNS 解析
https://github.com/stackia/DNSAgent

9506 次点击
所在节点    宽带症候群
12 条回复
v1024
2016-01-17 21:21:09 +08:00
防火墙规则似乎会很耗资源,路由器上用的话,得不偿失。
GeekTest
2016-01-17 21:22:57 +08:00
@v1024 不是特别耗资源
datocp
2016-01-17 23:00:43 +08:00
iptables 的方法在 ros 下做过,发现 302 服务器好多,封不光。最大的问题是,好像会出现某种问题导致 wget 再也无法下载。 302 其实还算正常现象,除非类似下到应用宝这种烂用情况。
KCheshireCat
2016-01-17 23:55:58 +08:00
不知道移动和联通劫持方法是不是一致的

/t/237095#reply10

我在这里写过过滤所有移动 302 劫持的规则,用 TCP 的 flag 标志作为区分,使用 u32 模块

然后是 DNS 抢答,也是用 u32 模块

iptables -A INPUT -p udp --sport 53 -m u32 --u32 "0>>22&60@8&0x8440=0x8400" -j DROP
iptables -A FORWARD -p udp --sport 53 -m u32 --u32 "0>>22&60@8&0x8440=0x8400" -j DROP

原理是移动 DNS 抢答一定会带 dns.flags.authoritative 标志位,
但是又和正常的包不一样一定不带 dns.flags.authenticated 标志。
会不会误杀正常的应答包还不确定。
GeekTest
2016-01-18 00:41:14 +08:00
@KCheshireCat DNS 直接用 HTTPDNS
qq651438555
2016-01-18 07:27:50 +08:00
@GeekTest 不知道昨弄的,没办法
20150517
2016-01-18 21:43:24 +08:00
@GeekTest 用 mod filter 超废资源,大量的数据都要去 filter 一遍,影响网速的
gzelvis
2016-01-20 04:27:33 +08:00
用 dnspod 的 public dns 119.29.29.29 能解决这个问题吗?
ywto
2016-01-22 19:46:54 +08:00
与楼上同问
akw2312
2016-02-25 01:42:35 +08:00
@KCheshireCat 廣州移動表示加了防止 302 的規則之後
看 douyu 依然 302 到 9999 端口的緩存...
akw2312
2016-02-25 02:22:37 +08:00
@KCheshireCat 另外也在 merlin 測試了一下那個規則
錯誤返回 x_tables: ip_tables: u32.0 match: invalid size 2032 (kernel) != (user) 1984
KCheshireCat
2016-02-25 07:31:11 +08:00
@akw2312

我这边地理坐标是浙江移动,不同地区劫持方式可能有差异

你可能需要用 Wireshark 来观察劫持的 302 包与正常的 302 有何区别

然后关于错误我也不清楚什么问题,抱歉。

我是使用 debian testing 发行版作为网关使用的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/251407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX