监视我的手机:数据都去哪儿了?

现在的人几乎是全部透明的。我心里就想,马化腾肯定天天在看我们的微信,因为他都可以看的,随便看,这些问题非常大。” —— 李书福

日常使用的手机可能比想象的更加活跃,当微信聊天、淘宝购物、抖音看视频甚至是喵的手机待机啥也不干,某些 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.

监视我的手机:数据都去哪儿了?相关推荐

  1. MySQL 中删除的数据都去哪儿了?

    不知道大家有没有想过下面这件事? 我们平时调用 DELETE 在 MySQL 中删除的数据都去哪儿了? 这还用问吗?当然是被删除了啊 那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情 ...

  2. 数据是啥?数据都去哪儿了?

    [这是一猿小讲的第 57 篇原创分享] 大家应该都忙着给祖国庆生,根本无心上班,所以精心为各位打造一篇,一点都不用费脑的文章,一起聊聊数据及数据存储的那些事儿.敲黑板,讲重点,我们开始. 1. 数据是 ...

  3. 疫情结束后,个人涉疫数据都去哪儿了?

    过去三年,健康码作为精准防疫的重要数字工具,在大众的工作和生活中渗透率极高.有数据表明,此前我国有近9亿人申领了"健康码",使用次数超600亿次. 不过随着疫情防控政策放开,健康码 ...

  4. 大数据早报:搜狐《数字之道》,召唤新势力 十一数据观:钱和人都去哪了?(10.10)

    数据早知道,上36dsj看早报! 来源36大数据,作者:奥兰多 『IPO』每日互动:积极创新构建智能大数据平台,走向IPO上市之路 在移动互联网的浪潮中,随着移动互联网人群及移动终端的大幅增长,移动应 ...

  5. android 备份整个手机,快收藏!史上最全的安卓手机数据备份方法都在这里了

    随时随地,想看就看.可以说,现在手机的江湖地位已经是如日中天,成为人们每天都离不开的东西.不论是工作还是生活,手机里都储存了太多代表我们回忆的数据,于我们而言,重要的不是手机,而是手机里的数据,今天, ...

  6. 手机电路板文件_您的旧手机都去哪了?高价回收的背后有利益推手

    "高价回收旧手机.旧电脑-..旧手机换刀.换剪子-."相信不少朋友都非常熟悉在街面上时常听闻到的吆喝声.殊不知,高价回收背后的利润很大,而且具有一定的信息泄露风险! 家里有许多旧手 ...

  7. 都去炒AI和大数据了,落地的事儿谁来做?

    摘要 \\ 几乎每个企业都期望建立自己的完善的合体的数据体系,但成功的例子并不多.本文希望用一些实践阐述以下几个观点: \\ 数据产品应该朴实无华\\t 浮躁的认知会有大麻烦\\t 如何正确认识自己, ...

  8. 数据解读 | 那些名校学霸毕业后都去了哪儿?

    作者 | 钟黛 编辑 | 阿米.蒂姆    设计 | 张梓豪 来源:DT财经(ID:DTcaijing) "来了就是深圳人,成为深圳人的第一天."在领到自己的新身份证后,陈天宇发了 ...

  9. android 数据永久删除,原来之前的删除都是假的,要这样做才能彻底清除手机数据...

    原标题:原来之前的删除都是假的,要这样做才能彻底清除手机数据 手机功能越来越强大,但手机的使用时长就越来越短,很多人的手机都是一年一换或者两年一换.你多久换一次手机?换手机时,你旧手机上的数据是如何删 ...

  10. 大数据剖析:离开互联网大厂的年轻人都去了哪里?

    作者 | 钟黛&何书瑶 来源 | DT财经 在签完所有的离职手续后,Celine离开了公司. 这是Celine在腾讯的第5年.从入职的那天起,这份工作几乎满足了她对于"完美工作&qu ...

最新文章

  1. 王坚十年前的坚持,才有了今天世界顶级大数据计算平台MaxCompute...
  2. Haproxy+Keepalived实现网站双主高可用-理论篇
  3. Vivado使用误区与进阶——如何读懂用好 Timing Report
  4. Flink+Hologres亿级用户实时UV精确去重最佳实践
  5. js获取request中的值_基于node.js的开发框架 — Koa
  6. return 0在c语言中是什么意思_单次T+0与蓝筹股试点T+0制度是什么意思,两者有何区别?...
  7. yuzu 使用指南:如何在 PC 上运行 Switch 游戏
  8. Docker网络之bridge0详解
  9. 小程序云开发(一):新建云开发模板
  10. Windows下清理redis缓存
  11. 购买腾讯云服务器流程
  12. React 所见即所得编辑器 Vditor
  13. java语言输出水仙花数
  14. 期货的价格与执行价格(期货执行价格是什么意思)
  15. zynq linux内核出错,Xilinx Zynq Linux内核源码编译过程
  16. 用Java基础来编写一个彩票中奖代码
  17. 行业洞察 | 小米发布人形机器人的AI技术
  18. 前端HTML5常用基础知识总结
  19. 申请美国访问学者签证的具体流程?
  20. 服务瘫痪数日,是火灾的锅还是Kakao的锅?

热门文章

  1. 记录一下在methods中调用全局过滤器
  2. NoClassDefNotFound解决办法
  3. 2021年全球与中国餐饮高举行业市场规模现状及企业市场份额分析
  4. 区块链研习 | V神理想之:DAO可到,非常道
  5. 【Vue】从零开始创建一个Vue项目(详细步骤)
  6. LibreOJ #541. 「LibreOJ NOIP Round #1」七曜圣贤(单调队列)
  7. FLYGT飞力ENM-10 13M浮球开关
  8. a标签的四个伪类元素
  9. 计算机专业大多单身,中国单身成年人超2亿!多数为计算机专业?CJ脱单节宅男大排长龙...
  10. ug如何导入excel数据点_“怎么将excel中坐标点导入ug中生成曲线“excel怎么复制到另一个表格...