事情是这样的,本人在调试一个云端 webserver 的时候,在 qq 上将 url 发给一个朋友点击,当我把 url 一发,后台很快就看到有一次请求,如果是人为点击不可能有这么快,后来问了朋友他并没有点击,于是又做了几次实验,只要是给 QQ 好友发 http 链接,后台立马收到上海电信的 ip http get 请求(以下统一称监控请求),直觉告诉我被监控了,为了进一步证明,我通过虚拟机的 xp 和另外一台 window 10 电脑做实验,只要是 IE 或者在 QQ 对话框发起一个 http 请求,后台都会收到上海电信 ip 请求,从 IP 分布来看,属于同一组网;
但我通过本地 linux 主机的 chrome 发起请求,后台没有收到监控请求,但如果通过 Linux 主机里 xp 虚拟机里的 QQ 或 IE 进行访问,能收到。
公司网络拓扑是: 总部在上海,我在某个外地研发中心(简称 C 地),都有各自宽带出口,两地之间通过 VPN 互联,从 IT 反馈来看,我所在研发中心并无审计设备,只有一台防火墙。 通过分析监控请求的 header,useragent 是随机的常见浏览器,居然还有 mac 的,应该是从 useragent 池里随机选取的。
请教懂的人几个问题:
- 是否可证明或如何进一步证明 windows 下 qq 或 ie http 被监控;为何监控的 ip 不在 C 地,而是来自上海(公司总部也在上海)?通过查询公网 ip,监控 ip 并不属于上海公司总部的公网 ip,也就说明是在云端,而不是公司内部的审计设备。
- QQ 通讯不是加密了吗?通过出口网或转发路径旁路抓包,可以提取 QQ 聊天记录里的 http url ? 这是我最大的疑问,我测试的 windows 环境没有装公司任何软件,也未加入域管理,安全更新也及时,基本排除客户端木马手段。
- 有没有什么手段可以把监控设备进一步画像?比如 nmap,traceroute 或者在 http server 里加 debug ?
- 为什么 Linux chrome 的没有监控现象,对于数据包而言,linux 和 windows 在数据包上并指纹,要说有区别,只能是 useragent 了 ,既然都能提取 http 了,干嘛还针对 useragent 做筛选?
- 既然都提取到 http url 了,为何还要请求一次?这不很容易暴露吗?还是说只对未知 url 做请求?我的 webserver 是通过公网 ip 来访问的。
分析的意图仅仅是好玩,本人并无违规行为,就是想看看是如何做到对 qq 聊天记录里的 http url 提取的,另外我司并不是互联网公司,也没有 web 项目,我仅仅是个人兴趣调试 web 发现了这个现象,所以排除公司的业务监控。 大家帮我分析分析,也探讨下如今的上网行为监控技术。