所以,我尝试浏览一个种子网站https今天更换了 ISP。当我尝试打开该页面时,它打开了以下 html 内容
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0" /><style>body{margin:0px;padding:0px;}iframe{width:100%;height:100%}</style><iframe src="http://www.airtel.in/dot/?dpid=1&dpruleid=3&cat=107&dplanguage=-&url=http%3a%2f%2f1337x%2eto%2f" width="100%" height="100%" frameborder=0></iframe>
现在,iframe
上面的标签显示我访问的网站是http://
地址。我想这可能是浏览器端重定向问题。我尝试了 curl:
< HTTP/2 200
< date: Tue, 24 Oct 2017 11:33:25 GMT
< content-type: text/html
< set-cookie: __cfduid=d1b602f2b9f113fd92311ca7bcd516e281508844805; expires=Wed, 24-Oct-18 11:33:25 GMT; path=/; domain=.1337x.to; HttpOnly
< pragma: no-cache
< cache-control: no-cache
< server: cloudflare-nginx
< cf-ray: 3b2c9f03bf0e2fed-MAA
<
{ [323 bytes data]
* Curl_http_done: called premature == 0
100 323 0 323 0 0 349 0 --:--:-- --:--:-- --:--:-- 349
* Connection #0 to host 1337x.to left intact
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0" /><style>body{margin:0px;padding:0px;}iframe{width:100%;height:100%}</style><iframe src="http://www.airtel.in/dot/?dpid=1&dpruleid=3&cat=107&dplanguage=-&url=http%3a%2f%2f1337x%2eto%2f" width="100%" height="100%" frameborder=0></iframe>
我进行了更多搜索,发现以下帖子:
有相互矛盾的答复。SU 线程表示他们可以记录和中断所有流量,无论 http 还是 https;而 security.se 提到,由于 SNI,这需要他们在 IP 级别而不是域级别阻止流量。由于我尝试打开的网站是通过 cloudflare 代理提供服务的,我不认为他们会禁止整个 CloudFlare 范围。
我的下一个想法是,他们可能会注入自己的 SSL 证书来模仿中间人并尝试
$ openssl s_client -showcerts -servername <domain-name> -connect <domain-name>:443 2>&1 | curl -F 'sprunge=<-' http://sprunge.us
其输出可以在返回粘贴链接。
我的问题是,我的 ISP 如何知道我尝试通过 HTTPS 访问该页面?
Traceroute 输出如评论中所建议的:
traceroute to google.com (216.58.197.78), 30 hops max, 60 byte packets
1 domain.name.dlink.com (192.168.0.1) 3.053 ms 4.309 ms 4.414 ms
2 60.243.246.225 (60.243.246.225) 5.519 ms 5.613 ms 5.629 ms
3 202.88.156.1 (202.88.156.1) 6.169 ms 6.184 ms 7.783 ms
4 202.88.156.70 (202.88.156.70) 5.914 ms 6.009 ms 6.024 ms
5 202.88.156.61 (202.88.156.61) 6.412 ms 6.497 ms 7.096 ms
6 202.88.157.29 (202.88.157.29) 14.422 ms 9.700 ms 10.318 ms
7 202.88.152.69 (202.88.152.69) 10.199 ms 10.240 ms 10.187 ms
8 209.85.252.188 (209.85.252.188) 10.149 ms 10.146 ms 12.658 ms
9 209.85.250.67 (209.85.250.67) 10.415 ms 10.432 ms 10.292 ms
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
并且对于<domain-name>
:
traceroute to <domain-name> (104.31.17.3), 30 hops max, 60 byte packets
1 domain.name.dlink.com (192.168.0.1) 1.077 ms 1.244 ms 1.247 ms
2 60.243.246.225 (60.243.246.225) 2.131 ms 2.216 ms 2.232 ms
3 202.88.156.1 (202.88.156.1) 4.674 ms 4.802 ms 4.800 ms
4 202.88.156.70 (202.88.156.70) 4.740 ms 4.660 ms 4.727 ms
5 202.88.156.61 (202.88.156.61) 4.796 ms 4.865 ms 4.828 ms
6 10.241.1.6 (10.241.1.6) 4.806 ms 2.831 ms 3.001 ms
7 10.240.254.100 (10.240.254.100) 2.007 ms 2.088 ms 2.126 ms
8 10.240.254.1 (10.240.254.1) 4.330 ms 4.210 ms 4.556 ms
9 10.241.1.1 (10.241.1.1) 3.193 ms 2.947 ms 3.289 ms
10 219.65.110.177.static-bangalore.vsnl.net.in (219.65.110.177) 4.799 ms 219.65.110.181.static-bangalore.vsnl.net.in (219.65.110.181) 5.675 ms 125.16.134.109 (125.16.134.109) 17.859 ms
11 * 182.79.255.149 (182.79.255.149) 41.278 ms 182.79.188.188 (182.79.188.188) 45.378 ms
12 103.29.44.3 (103.29.44.3) 32.153 ms 32.805 ms *
13 * * *
14 * * ae31-100-xcr1.mlu.cw.net (213.38.254.33) 134.952 ms
15 if-ae-13-2.tcore1.SVW-Singapore.as6453.net (180.87.36.83) 43.144 ms if-ae-3-3.tcore2.CXR-Chennai.as6453.net (180.87.36.6) 43.108 ms *
16 if-ae-6-2.tcore2.SVW-Singapore.as6453.net (180.87.37.14) 41.229 ms cloudflare-ic-306776-mno-b2.c.telia.net (213.248.94.54) 171.588 ms 172.281 ms
17 * * *
18 * * *
19 * 120.29.214.90 (120.29.214.90) 41.753 ms *
20 * * *
21 * * *
22 * * *
因此,网络跳数明显不同。
是的,我使用的是 ISP 提供的 DNS。将我的 DNS 端点改为 Google 的端点(8.8.8.8 和 8.8.4.4),然后再次尝试执行 curl,结果下列错误(它们互相交替):
- curl:(35)错误:1408F10B:SSL 例程:SSL3_GET_RECORD:版本号错误
- curl:(56)SSL 读取:错误:1408F10B:SSL 例程:SSL3_GET_RECORD:错误版本号,errno 0
附言:上面的代码片段确实包含我尝试访问的实际域。我也想过删掉这些数据,但也许有人可以使用的实际值来复制和解释这种行为<domain-name>
。所以决定不这么做。
答案1
当您通过 HTTPS 使用 SNI 时,您要访问的 URL 未加密,因此 ISP 可以使用深度数据包检测来确定它(但他们看不到网站的内容,只能看到域名)——这就是他们查看您的流量的方式。
如果您想解决这个问题,请购买未被阻止的 VPN 服务(或购买虚拟服务器并运行您自己的 VPN)