蹭机上 WiFi 的姿势

WiFi CDN 网络

许多美国航空公司都有机上 WiFi 服务,一般连上去就能访问机上局域网资源以及少数网站,而完全接入互联网是要付费订阅的。在墙内生活惯了,碰到墙免不了就想找找有没有漏洞可以利用来翻墙。此处分享一些使用/滥用经验。

@jenny42 两年前坐达美航空时就发现了。大概是因为有些机上服务需要用户从 Google Play 下载 App 吧,所以 Google Play 是免费接入的。然后当时她就想到用可以用 Google Play 里的 App 评论来互相发消息……

最早还是 @jenny42 发现达美的 WiFi 能直接连 Google Hangouts。毕竟 Google 很多服务都是 HTTPS 走一样的线路,放开 Google Play 也就有机会访问其他 Google 服务了。我上个月坐美联航的航班,确认 Hangouts 也是能用的。反而最近 @jenny42 用达美 WiFi 直连 Hangouts 大部分时间不通,不知道哪里出了问题。

不过,达美现在提供机上手机免费接入 Facebook Message、WhatsApp、iMessage 等即时通信服务(但只能发文字不能发图),非常方便。而我今天试了发现虽然 Telegram 不在列表上但也是可以连的。

可以提前多准备几种 App,看看上了飞机哪些能用。

机上 WiFi 不订阅就能访问一些网站,比如航司官网、合作伙伴网站等。我就想,这些网站肯定得从 CDN 加载资源吧。于是上个月坐美联航时我就拿出电脑 F12 看了看,果然有很多 CDN 资源请求,而且还是 HTTPS 的!比如 code.jquery.com, fonts.googleapis.com, cdnjs.cloudflare.com 等等。

简单测试会发现,机上 WiFi 就是靠 IP 白名单过滤的,这些大 CDN 的特定 IP 就给放行,配合它自己的 DNS 就能实现放行特定资源。这些 CDN 的一个 IP 上其实跑了很多域名的(参考 HTTP Host 头以及 TLS 中的 SNI 扩展)。试出来白名单的 IP 后,就可以猜猜上面还 Host 了哪些域名,自己写 hosts 文件解析过去。

比如 fonts.googleapis.com 的 IP 也能用来访问 www.google.com

$ dig +short A fonts.googleapis.com
googleadapis.l.google.com.
172.217.4.202
$ curl --resolve www.google.com:443:172.217.4.202 https://www.google.com

能上 Google,相当不错了是吧。

然后 Cloudflare 这个就更厉害了,居然能直接通过一个 IP 访问所有被代理的 Host:

$ dig +short A cdnjs.cloudflare.com
104.19.196.151
$ curl --resolve i-yu.me:443:104.19.196.151 https://i-yu.me

很多网站都有挂 Cloudflare 的,比如 FreeNode、ApkPure…… 能上的网站更多了。

都能连 Cloudflare 了,还有啥不能 over HTTPs 的。

Page created on 2019-10-16