电信定向流量手机卡的原理分析

本文共有2826个字,关键词:电信手机卡

需要准备的工具

  • iphone
  • mac电脑
  • wireshark软件
  • xcode 或者 itunes

方案概要

手机4g上网,用电脑抓包,分析协议

准备工作

iphone使用流量模式,用数据线连接mac,并且信任
使用 xcode 或者 itunes 获取 手机 uuid, 具体方法网上很多
终端 输入 rvictl -s 加上刚刚获取的uuid号码 ,映射一个虚拟网口到mac
如果连接成功,通过 ifconfig -l 可以看到多出来一个网口名为 rvi0
具体如下图所示
4271957509.jpg

使用wireshark抓包

打开软件在filter中填写tcp port http执行抓取http协议的包
再双击下面rvi0端口,进入抓包页面。
1588490661516.jpg
这时候我们手机用uc浏览器打开任意网页,可以抓到下面包,
发现请求是发送给36.99.39.192的一个http代理服务器服务器,
鉴权秘钥也可以看到,经过多次分析发现鉴权秘钥分4段,
经过一下尝试

  • http和https
  • 同域名不同路径
  • 关闭uc浏览器,断开所有连接,间隔4小时候尝试

发现鉴权秘钥完全一致,但是访问不同域名,最后一段会变化。
经推测,最后一段字符是根据域名加密的,和协议,路径无关。
字符数量为始终32位,可能是拼接字符串后MD5,或者sha1等等,这个无关紧要了。
1588475919572.jpg

测试猜想

使用telnet 36.99.39.192 8771 连接代理服务器后发送以下头

CONNECT rb.pch18.cn:80 HTTP/1.1
Host: rb.pch18.cn:80
Proxy-Authorization: {抓包抓到的鉴权秘钥}


GET / HTTP/1.1
Host: pch18.cn

成功拿到返回内容!!
如果这段代码在手机上发送,应该就能实现免流

尝试用openvpn连接自己服务器实现全局免流

配置openvpn服务端

# 创建配置文件目录
mkdir -p /home/.openvpn

# 生成配置文件
docker run -v /home/.openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u tcp://ip:1194

# 初始化证书等,需要输入证书注册
docker run -v /home/.openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

# 启动服务进程
docker run --name openvpn_server -v /home/.openvpn:/etc/openvpn -d -p 1194:1194 --cap-add=NET_ADMIN kylemanna/openvpn

# 生成没有密码的客户端证书
docker run -v /home/.openvpn:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn easyrsa build-client-full pch18 nopass

# 使用嵌入式证书检索客户端配置
docker run -v /home/.openvpn:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient pch18 > pch18.ovpn

配置前置代理

使用uc浏览器访问https://你的openvpn的域名:openvpn的端口后,去wireshark里面抓CONNECT的包,
提取Proxy-Authorization鉴权字段信息
然后修改刚刚生成的ovpn文件
修改remote字段后的ip地址为刚刚的域名
再在remote字段下一行加上

http-proxy {抓包中CONNECT的实际目的ip地址} {端口}
http-proxy-option EXT1 "Host: {openvpn域名}:{openvpn端口}"
http-proxy-option EXT1 "Proxy-Authorization: {刚刚获取的鉴权字段信息}"

把修改好的文件导入手机openvpn

抓包验证

打开抓包,手机打开openvpn,出现下图内容,发现流量走的是UC浏览器的http代理,成功!!!!
1588589398789.jpg

结论

成功!
手机上开启上上述配置的openvpn后,刷抖音半小时,全国通用流量没有增加,定向流量增加了200M+
速度可能没有直接流量访问快,刷抖音还是很流畅的。

其他

以上测试是关闭了uc浏览器的极速省流模式,
此状况下uc浏览器访问的ip地址和其他浏览器得到的ip地址不同,可以断定流量走代理。
但是! 开启极速省流模式,uc浏览器查询的ip为手机真实ip,
此状况下能不能免流不确定,但是应该也是走代理的,实现方法非常神奇。
抓包发现,浏览器访问网站前先tcp协议直接和对方服务器握手,握手包中写的来源ip为代理服务器的ip。
这样对方服务器就会把请求不返回给手机,而是直接返回给代理服务器,
然后手机在和代理服务器通讯,拿到对方服务器返回的网页数据。
使用此方法,实现了虽然走了代理,但是对方网页应用获得的ip来源不是握手包中的ip,而是实际握手时发信的ip地址。
很巧妙的实现了ip不变的代理服务器。
以上结论为本人推测,tcp协议了解没有十分深入,如有错误请指出。

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

pch18

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

版权声明:如无特别说明,本文为作者原创,转载请在首行注明来源:https://pch18.cn/archives/345.html
添加新评论
暂无评论