有什么办法可以规避运营商篡改下载URL吗?

2013-07-28 15:16:23 +08:00
 clippit
这些帖子 http://v2ex.com/t/73807 http://v2ex.com/t/53288 里都提到过这个问题,我现在也遇到了。做Cache确实能减少运营商的出口带宽,但是这样让我非常不爽,一是担心下载回来的文件被恶意篡改,二是运营商的proxy经常响应速度特别慢,下载经常失败。

比如我向dldir1.qq.com发送的HTTP GET请求,返回的包会自动被篡改成一个302重定向。如果它是透明代理我倒就算了,可是下载地址全变成http://119.80.188.6这种的,实在看不下去。有什么办法可以绕过这一层吗?

curl -v http://dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe

* Adding handle: conn: 0x232aa30
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x232aa30) send_pipe: 1, recv_pipe: 0
* About to connect() to dldir1.qq.com port 80 (#0)
* Trying 182.118.37.19...
* Connected to dldir1.qq.com (182.118.37.19) port 80 (#0)
> GET /qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe HTTP/1.1
> User-Agent: curl/7.31.0
> Host: dldir1.qq.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 302 Found
< Location: http://119.80.188.6:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe
< Connection: Close
<
* Closing connection 0
4410 次点击
所在节点    问与答
13 条回复
alexrezit
2013-07-28 15:19:17 +08:00
VPN?
est
2013-07-28 15:22:43 +08:00
我有办法,也做出来东西了。简单说就是重包欺骗。不过放出来就没用了。
phuslu
2013-07-28 15:26:54 +08:00
试下
curl -v http://dldir1.qq.com/qqfile/qq/QQ2013/ QQ2013/7681/QQ2013.exe?

如果奏效的话可以考虑做成iptables模块。
clippit
2013-07-28 15:58:03 +08:00
@phuslu 你的意思是URL后面加一个问号?还是返回302,估计它做匹配不是看结尾是不是exe的
efi
2013-07-28 19:27:08 +08:00
@est 放出来当然有用。跟ISP斗一下还是可以的。

@clippit 打开wireshark看看,这个302是不是假TCP包,dldir1.qq.com有没有给你返回HTTP OK。如果是ISP抢在qq.com之前给你发个假TCP包,这个可以办,就是iptables字符串匹配给扔掉就行iptables -m string --string ':80/'之类。如果qq.com没给你发来HTTP OK,说明你被透明代理包了,根本到不了qq.com,那就得在HTTP GET里面再想点变形的办法。
est
2013-07-28 21:45:41 +08:00
@efi 放出来的话,国内做这些拦截软件的码农更加猖狂了。地下斗争是艰苦卓绝的。如果谁自己手写过TCP协议栈,我就PM给它。
efi
2013-07-29 00:21:56 +08:00
@est 这又不是火箭科学
est
2013-07-29 07:44:10 +08:00
@efi 就算不是脑手术,也是立鸡蛋了哈哈。说破就没意思咯
xdeng
2013-07-29 08:29:39 +08:00
301 是没法硬改的
xdays
2013-07-29 15:02:04 +08:00
没办法,你的所有流量都在他的网络里跑还有什么安全可言呢。
c4tn
2013-10-28 15:57:44 +08:00
很简单,我们公司的缓存, 在头部加nocache 缓存不会服务,
@est
est
2013-10-28 16:02:31 +08:00
@c4tn 这个比较良心了。有的那啥,按照下载文件大小来的。比如超过50M一定缓存。我了个艹。
xinhugo
2015-01-30 21:10:01 +08:00
屏蔽 IP 地址。

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

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

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

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

© 2021 V2EX