监视我的手机:数据都去哪儿了?
监视我的手机:数据都去哪儿了?
“现在的人几乎是全部透明的。我心里就想,马化腾肯定天天在看我们的微信,因为他都可以看的,随便看,这些问题非常大。” —— 李书福
日常使用的手机可能比想象的更加活跃,当微信聊天、淘宝购物、抖音看视频甚至是喵的手机待机啥也不干,某些 App 都会悄悄地与服务器交换着数据。这些数据包括微信聊天记录、地理位置、通讯录、通话记录、QQ消息,甚至短信内容...
我一直想知道我的数据都去了哪里?哪些 App 在源源不断上传数据?数据被哪些公司搜集了?
前一段时间,浏览过一篇国外的博客《Tracking my phone's silent connections》,文中作者 Kushal 使用 WireGuard 代理的方式,监控自己的手机 1 个星期,截获手机与服务器之间的所有请求,最后统计了手机到底悄悄地在和哪些公司的服务器进行连接。
受到 Kushal 的启发,我决定使用部署 ss 的方式截获我个人的手机数据。
监控方案
实验设备
日常使用的安卓手机
x1
国内某云服务器
x1
代理方案
手机的数据都是与不同的服务器进行着连接,如何获取所有的连接?首先我想到的是手机要通过 Wi-Fi 路由器上网,那么如果在路由器端截取数据包,会比较容易。但是无法获取手机的移动基站流量。
于是在 1 台云服务器上搭建了个代理服务,手机客户端设置为全局代理连接 VPN 服务器,就可以在服务器端获取所有的数据请求。
部署服务
为了保证上网访问速度,提升网络体验,推荐选择国内的服务器,代理服务器首先安装 Docker
$ sudo apt-get -y install docker.io
启动 ss Docker 容器
通过阅读 ss 的文档,可知在启动 ss 时只需要加上 -v
参数(Verbose mode)即可输出详细 Log。同时使用 tmux
让服务在后台运行,将输出以追加的方式( >>
)重定向到 logs.txt
文件。
$ tmux
$ sudo docker run -t --name ss -p 9000:9000 mritd/shadowsocks -s "-s 0.0.0.0 -p 9000 -m aes-256-cfb -k yourpassword --fast-open -v" >> logs.txt
手机客户端
在手机端安装 ss 或者酸酸乳客户端,配置代理服务器地址、端口、密码与加密方式,代理模式设置为全局代理。
然后在服务器端,使用 tail
命令从指定点开始将从文件写到标准输出,显示实时 Log,服务搭建成功
$ tail -f logs.txt
当手机使用微信时,记录的 Log 日志如下
数据处理
DNS 域名解析
DNS(Domain Name System),翻译过来就是域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库。获取到的记录大多数是域名,需要先解析成 IP 地址
import socket
def domain_to_ip(domain):return socket.gethostbyname(domain)
例如,解析 www.baidu.com
的 IP 地址
domain_to_ip('www.baidu.com')
'14.215.177.38'
IP 地理数据库
推荐使用 ip2region,一个开源的 IP 到地区的映射库,具有 99.9% 准确率,提供 Binary,B 树和纯内存三种查询快速搜索算法。
>> result = ipgeo.find('www.baidu.com')
>> print(result)
{'ip': '14.215.177.38', 'city_id': 2140, 'country': '中国', 'province': '广东省', 'city': '广州市', 'operator': '电信'}
保存数据
df.to_csv(out_csv, index=False)
print('saved to {}'.format(out_csv))
数据可视化
经过十多天的记录,俺一共记录了 280059
条记录
接下来使用 Pyecharts 对数据进行可视化。Echarts 是百度开源的一个数据可视化 JS 库,而 Pyecharts 是一个用于生成 Echarts 图表 Python 库。
主要的互联网公司
从上图可以看出,俺的安卓手机(安装了谷歌服务),在国内的网络环境,请求次数最多还是 Google。
然后就是日常使用的微信和 QQ 了。由于平时会看 B 站视频,所以 Bilibili 排名第三 orz...
我手机安装的是 QQ 输入法,但是去往 sougou.com
的请求居然有 1952
条,查看了用户协议才发现:“QQ输入法”是经腾讯公司认可,由搜狗公司发布的客户端软件。
还有像美团、高德地图这样的软件,平时并不怎么频繁使用,网络请求却异常地活跃,不知道偷偷摸摸干着啥。
夜间活动排行
过滤出凌晨 00:00 ~ 06:00 时间段的活动,可以发现去往 *.qq.com
的连接始终是最多的。
全球分布
国内各省份分布
可以看到俺的流量大多去往了广东、上海和北京这样的地方,台湾这么高的原因是谷歌的服务器在那边,DNS 解析谷歌的域名都指向了台湾。
电信运营商
服务器端口统计
其他
在一加手机的网络请求中,发现了一些发往 oppo 服务器的请求,看来不光硬件由 oppo 代工,连软件也是。
[('epoch.cdo.oppomobile.com', 208),('gslb.cdo.oppomobile.com', 38),('istore.oppomobile.com', 38),('opsapi.store.oppomobile.com', 34),('api.cdo.oppomobile.com', 22),('message.pull.oppomobile.com', 21),('st.pull.oppomobile.com', 13),('cdopic0.oppomobile.com', 9),('newds01.myoppo.com', 9),('httpdns.push.oppomobile.com', 4),('conn1.oppomobile.com', 1),('iopen.cdo.oppomobile.com', 1)
最后
警告: 请勿用于非法目的,非法获取他人隐私属于犯罪!
完整代码
https://github.com/wangshub/tracking-my-phone
如果需要更为详细的数据,可以考虑使用 mitmproxy 代理,能够抓取 HTTPS 数据,并提供 Python API。
参考链接
Tracking my phone's silent connections
ip2region: Ip2region is a offline IP location library
Python Data Analysis Library
Pyecharts: A Python Echarts Plotting Library.
监视我的手机:数据都去哪儿了?相关推荐
- MySQL 中删除的数据都去哪儿了?
不知道大家有没有想过下面这件事? 我们平时调用 DELETE 在 MySQL 中删除的数据都去哪儿了? 这还用问吗?当然是被删除了啊 那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情 ...
- 数据是啥?数据都去哪儿了?
[这是一猿小讲的第 57 篇原创分享] 大家应该都忙着给祖国庆生,根本无心上班,所以精心为各位打造一篇,一点都不用费脑的文章,一起聊聊数据及数据存储的那些事儿.敲黑板,讲重点,我们开始. 1. 数据是 ...
- 疫情结束后,个人涉疫数据都去哪儿了?
过去三年,健康码作为精准防疫的重要数字工具,在大众的工作和生活中渗透率极高.有数据表明,此前我国有近9亿人申领了"健康码",使用次数超600亿次. 不过随着疫情防控政策放开,健康码 ...
- 大数据早报:搜狐《数字之道》,召唤新势力 十一数据观:钱和人都去哪了?(10.10)
数据早知道,上36dsj看早报! 来源36大数据,作者:奥兰多 『IPO』每日互动:积极创新构建智能大数据平台,走向IPO上市之路 在移动互联网的浪潮中,随着移动互联网人群及移动终端的大幅增长,移动应 ...
- android 备份整个手机,快收藏!史上最全的安卓手机数据备份方法都在这里了
随时随地,想看就看.可以说,现在手机的江湖地位已经是如日中天,成为人们每天都离不开的东西.不论是工作还是生活,手机里都储存了太多代表我们回忆的数据,于我们而言,重要的不是手机,而是手机里的数据,今天, ...
- 手机电路板文件_您的旧手机都去哪了?高价回收的背后有利益推手
"高价回收旧手机.旧电脑-..旧手机换刀.换剪子-."相信不少朋友都非常熟悉在街面上时常听闻到的吆喝声.殊不知,高价回收背后的利润很大,而且具有一定的信息泄露风险! 家里有许多旧手 ...
- 都去炒AI和大数据了,落地的事儿谁来做?
摘要 \\ 几乎每个企业都期望建立自己的完善的合体的数据体系,但成功的例子并不多.本文希望用一些实践阐述以下几个观点: \\ 数据产品应该朴实无华\\t 浮躁的认知会有大麻烦\\t 如何正确认识自己, ...
- 数据解读 | 那些名校学霸毕业后都去了哪儿?
作者 | 钟黛 编辑 | 阿米.蒂姆 设计 | 张梓豪 来源:DT财经(ID:DTcaijing) "来了就是深圳人,成为深圳人的第一天."在领到自己的新身份证后,陈天宇发了 ...
- android 数据永久删除,原来之前的删除都是假的,要这样做才能彻底清除手机数据...
原标题:原来之前的删除都是假的,要这样做才能彻底清除手机数据 手机功能越来越强大,但手机的使用时长就越来越短,很多人的手机都是一年一换或者两年一换.你多久换一次手机?换手机时,你旧手机上的数据是如何删 ...
- 大数据剖析:离开互联网大厂的年轻人都去了哪里?
作者 | 钟黛&何书瑶 来源 | DT财经 在签完所有的离职手续后,Celine离开了公司. 这是Celine在腾讯的第5年.从入职的那天起,这份工作几乎满足了她对于"完美工作&qu ...
最新文章
- 王坚十年前的坚持,才有了今天世界顶级大数据计算平台MaxCompute...
- Haproxy+Keepalived实现网站双主高可用-理论篇
- Vivado使用误区与进阶——如何读懂用好 Timing Report
- Flink+Hologres亿级用户实时UV精确去重最佳实践
- js获取request中的值_基于node.js的开发框架 — Koa
- return 0在c语言中是什么意思_单次T+0与蓝筹股试点T+0制度是什么意思,两者有何区别?...
- yuzu 使用指南:如何在 PC 上运行 Switch 游戏
- Docker网络之bridge0详解
- 小程序云开发(一):新建云开发模板
- Windows下清理redis缓存
- 购买腾讯云服务器流程
- React 所见即所得编辑器 Vditor
- java语言输出水仙花数
- 期货的价格与执行价格(期货执行价格是什么意思)
- zynq linux内核出错,Xilinx Zynq Linux内核源码编译过程
- 用Java基础来编写一个彩票中奖代码
- 行业洞察 | 小米发布人形机器人的AI技术
- 前端HTML5常用基础知识总结
- 申请美国访问学者签证的具体流程?
- 服务瘫痪数日,是火灾的锅还是Kakao的锅?
热门文章
- 记录一下在methods中调用全局过滤器
- NoClassDefNotFound解决办法
- 2021年全球与中国餐饮高举行业市场规模现状及企业市场份额分析
- 区块链研习 | V神理想之:DAO可到,非常道
- 【Vue】从零开始创建一个Vue项目(详细步骤)
- LibreOJ #541. 「LibreOJ NOIP Round #1」七曜圣贤(单调队列)
- FLYGT飞力ENM-10 13M浮球开关
- a标签的四个伪类元素
- 计算机专业大多单身,中国单身成年人超2亿!多数为计算机专业?CJ脱单节宅男大排长龙...
- ug如何导入excel数据点_“怎么将excel中坐标点导入ug中生成曲线“excel怎么复制到另一个表格...