总结一下如何免费薅机上Wi-Fi

开个技术贴和大家分享一下在美国坐飞机时蹭网的经验。本帖特指不给信用卡号的蹭网,那种交钱之后让信用卡公司补贴的不算。(听说好多大公司员工都可以直接从公司拿机上Wi-Fi coupon…)

写在前面

已经接近21世纪中叶了,免费Wi-Fi应该是基本人权才对!好多年前住酒店Wi-Fi还要收钱,现在还有哪家收肯定被骂死。给最先推Wi-Fi不收钱的JetBlue点赞。

以前在国内需要十八般武艺才能正常上网,后来发现坐飞机的时候薅Wi-Fi只需要5%的功力就足够了,特此鸣谢当年的艰苦训练。

Tl; dr Best Practice
请参见热心坛友总结的DP

第零关:免费Wi-Fi

大家一定要多多支持这些诚意满满的航司,有Zipair、JetBlue、Hawaiian等等。Delta已于2024年底加入此行列,AA也已官宣将于2026年初加入,United安装Starlink的飞机也会免费,至此美国三大航都迈入了21世纪,非廉航里只剩Alaska-branded flight还在死守。

某些航司(如JAL)每个设备可以免费试用1小时,重复刷1小时的方法见下。

第一关:T-Mobile

这一档的航司包括Alaska和AA,仅限旧系统的飞机。操作方法很简单,有个输入T-Mobile手机号免费试用1小时的选项。这里不需要是自己的手机号,只需要收集一些用T-Mobile的朋友的号码就行。(升级系统后会强制要求接收短信验证码,就没办法了。)

首先科普一些技术基础知识:机上Wi-Fi系统会同时通过设备的网卡硬件地址(MAC地址)和浏览器cookie信息记住设备。所以想不断刷1小时试用的话,两者都要改。建议在笔记本上操作,方便改MAC地址。

Update: 手把手指南
第一次登录请务必用浏览器隐身窗口打开wi-fi登录页面。电脑浏览器看不到T-mobile免费选项,请按Ctrl+Shift+I或者F12打开调试控制台,然后找到 image 这个按钮,变成模拟手机浏览器模式之后再打开wi-fi登录页面,就能看到T-mobile选项了。

满一个小时后,关掉浏览器隐身窗口,改MAC地址,然后再打开浏览器隐身窗口,换手机号重复即可。

修改MAC地址具体操作方式:

  • Windows: 在设备管理器里
  • macOS: 打开一个terminal然后输
    sudo ifconfig en0 ether 01:23:45:67:89:01 (记得修改成随机的数字),然后输密码确认
  • 未越狱的iOS: 只能刷两次。连上之后在wi-fi连接详情里找这个选项,可以打开或关掉,打开一个小时,关掉一个小时。
  • Android easy mode: 同上,可以刷两次。在wi-fi连接详情里找这个选项。
  • Android expert mode: 去开发者选项里打开Enhanced Wi-Fi Mac Randomization。
    (如果手机没打开开发者选项,请在设置的“关于”界面找到系统版本号,点7下。)

第一关之二: Boingo白嫖
这一档其实全球好多航司都能参与,坛友提到了汉莎、国泰等等。

大部分wi-fi登录界面有一行小字“Roaming”,可以选其他服务商登录互认,其中可以选Boingo。可以通过Mastercard卡号和一些技巧获得白嫖Boingo账号,然后免费上网。

前段时间这个福利缩水了,每个Boingo账号只能免费用12次机上wi-fi每次90分钟。但是考虑到创建多个账号的成本为0,没太大实际影响。

Bonus关:只能上Google

好多航司的主页用了Google Analytics脚本,因此Google IP在白名单里。简单情况下,去航司主页随便瞎逛逛之后,直接用浏览器就可以打开Gmail/GDocs之类的Google服务。

这种情况下,有一个很蛋疼的挑战方式是打开Google Colab,因为Colab里面运行的python代码是可以自由访问互联网的。我曾经尝试写过一些代码,从Colab网页里用python+javascript连接本地的代理程序来回转发流量,确实可以成功上网,只是网速很感人(飞机上延迟太高了)…

如果被reset了,说明航司更新了软件匹配SSL握手的SNI域名。从压箱底的老软件堆里找出 GoAgent ,可以强行继续用Google服务。不过有更好的方案,请看下一节。

第二关:改SNI Header

这一档的航司包括Delta和United等等。他们只检查请求的域名(SNI),却不检查目的地IP地址。这个思路已经被 @camh 提到过了: 免费用aa wifi - #16,来自 camh

具体操作的时候,可以再次从压箱底的老软件堆里找出 shadowsocks+simple-obfs 连接自己的服务器,在配置里用的SNI域名填一个白名单域名即可。

请注意,尽量先打开Free Messaging之类的免费上部分网站的功能,有助于提高成功率。比如AA+ViaSat系统可以免费Apple Music,先点开,会触发计费系统解禁设备、让白名单扩大。

以前我还需要来回尝试不同的域名(Google Analytics一般管用,但是有时候不管用,不管用的时候assets.adobedtm.com管用),偶尔打开航司主页去分析一下各种资源的域名,最近才反应过来,可以直接写 delta.comunited.com …写Google Analytics的好处是坐不同公司飞机不用来回改。

Update: AA区域航班有些Gogo提供的Wi-Fi最近进行了暖心升级(“inflightinternet.com”),封锁了这种方法,但是支持T-Mobile,退回上一关。

Update 2: 楼下帖子里还提供了一个一定在白名单里的域名

第三关:只能上CDN,需要domain fronting

我记得AA某些机型的机上Wi-Fi用的不是Gogo而是松下(“pacwisp”),有完全不同的一套防火墙逻辑,之前做的各种准备都不管用。但是CloudFlare的IP在他们的白名单里,想必是因为航司主页某个资源用了他们作为CDN。

这时候需要自己有个网站被CloudFlare代理,然后利用网站后端作为代理。我自己还没有操作过,但是国内好多人都在用类似的思路科学上网,有成熟的工具,细节在此略过。

举一反三,我也见过机上Wi-Fi付费之前允许连接CloudFront/Akamai CDN的情况,也能用类似的思路,但是成为这两家CDN的客户更难一点。CloudFlare毕竟免费,严格来说免费档的TOS说禁止用做代理,但自己一个人用飞机上可怜的一丢丢网速应该没事…

第四关:需要搭DNS服务器配合

汉莎疑似有更复杂的防火墙,只允许连接DNS请求返回里包含的IP,但是可以向错误的DNS服务器发起请求;我猜想只需要DNS返回的是自己的代理的IP就可以免费上网了。可惜我没来得及debug好就落地了。后来配置好了一个DNS服务器来配合,发现意外收获是可以用在xfinity wifi上。十分期待下次去欧洲的时候试试管不管用。

第五关:只能DNS隧道

太慢了,适合急着发文字消息的情况。细节在此按下不表。Spirit好像在这一档。

同场加映:真的要给钱的话记得用安卓手机,付费后开热点

308 个赞

这已经不是普通的羊毛论坛了,一定要重拳出击!

3)CDN 我觉得不行,自己配制的代理如果用 C DN 过不了 SNI 关

30 个赞

其实很多都还在收。只是包含在各种fee里了

我好奇楼主是不是每开一个新帖就要注册一个账号 :joy:
或是纯的一贴党?

我好奇这些研究操作,是不是飞机都落地了,都可能还没连上wifi :joy:

11 个赞

TMD,美卡论坛是带黑阔老巢吗(卡卡脸

14 个赞

额,汉莎最简单,支持Boingo漫游。话说现在Wi-Fi都这么便宜了,可以不这么折腾了 :sweat:

7 个赞

我记得现在部分Gogo要T-Mobile的短信验证码

7 个赞

:yaoming:hackr

6 个赞

这个方法不灵了,最起码delta去年开始就不行了,现在会要你开wifi calling然后在空中收验证码。输入验证码之后才能试用。

8 个赞

那就是AA现在还不验证,DL要验证

4 个赞

真的只是今天突然想发帖,以前只看贴不发所以没号…

2 个赞

我记得五月某次坐Delta的时候确实见到了“需要Wi-Fi calling收短信”的提示,但是输了别人手机号之后一样过了。是一个iPhone,可能和user-agent有关。

12 个赞

可能和浏览器连CloudFlare时自动升级到了HTTP/2有关系?我测试过可以开自己host在CloudFlare上的网站。需要更多DP…

2 个赞

还有一招就是用DNS协议做代理来上网,很少见到机上防火墙污染DNS的,所以配置好一个自己域名的NS服务器就可以通过解析自己的域名的方式来代理上网,已经有不少现成的ip over DNS tunnel,比如压箱底的 iodine.

7 个赞

iodine 就是有点慢,好像有些更现代化的DNS tunnel工具,但我记不起名字了。之前研究xfinity wifi也是先用iodine,后来发现他们是直接放行UDP 53,直接在53端口跑个wireguard就行了…

5 个赞

53端口UA不管用 :yaoming:

5 个赞

所以手机上怎么修改http header呢,必须得用shadowsocks还得有自己的服务器?

1 个赞

666这真是另辟蹊径:+1:

1 个赞

小白能不能问问delta和united那个具体是怎么改header。。。

3 个赞

只看懂第一关的在此集合 :yaoming:

21 个赞

硬核 老哥这帖子和头像还挺配的

2 个赞