在公司用手机通过4G网络上网,上网内容可能被公司监控吗?

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨车小胖谈网络

来源丨车小胖谈网络(ID:chexiaopangnetwork)

通过4G聊微信,逛淘宝等,公司有可能通过技术手段监控到吗?

如果视频监控也算技术手段,公司可以监控到你上班一直在刷手机。至于上网内容取决于视频的分辨率够不够高。

如果你说的技术手段是通过监控网络流量,知晓你微信聊天、淘宝购物记录,这不可能,公司监控没有这个能力!

用户上网流量,从手机天线发射出去、或者接收进来,至少有两层的加密。其一是链路层(二层)加密,其二是传输层(四层)加密。

链路层加密

手机与4G基站在将信将疑的氛围中尝试联系对方,双方先身份认证,再协商密钥,最后流量加密/解密。

加密的流量内容是来自三层及以上的流量,需要离开天线。 

解密的流量内容是来自于物理层(一层),解密以后提交给网络层(三层)。

传输层加密

手机与微信服务器/淘宝服务器在怀疑对方是骗子的前提下互动,手机先认证服务器身份,协商密钥,最后流量加密。然后服务器在应用层(七层)完成用户身份认证,认证成功就可以聊天,购物了。

加密的内容来自于应用层(微信、淘宝),加密完提交给传输层TCP(四层)继续处理。TCP层、IP层继续处理,然后提交给链路层,接下来就是上文链路层加密的步骤。

解密的内容来自于TCP层,解密完就是类似于http之类的明文报文,提交给微信/淘宝客户端继续处理。在TCP层之下的链路层已经完成二层的解密,参考上文链路层解密。

有能力知道你具体在访问哪些流量的,除了公司视频监控,还有四个角色:

DNS域名解析服务器

手机无论访问哪里,第一步就需要域名解析,只有链路层加密,但是公司无法解密。DNS服务器虽然知道你可能上了哪些网站,但无法知道你是谁。

手机及手机内的监控

手机虽然是你的,但是APP却并不受你的控制。它们可能时时刻刻在监控你,包括你的实时位置,购物习惯。如果这个APP可以监控屏幕,任何加密技术都形同虚设。因为聊天内容在加密前已经被截屏了。

微信/淘宝服务器

既然你去访问它们,它们知道手机与它们互动的所有信息。

4G网络运营商

运营商可以解密链路层加密,但是无法解密传输层解密。但是运营商可以根据DNS查询记录,知道你访问哪些服务器。至于访问服务器的具体内容,无法知晓。

通过以上分析,公司没有能力监控你的个人手机,除非使用高清摄像头,并且正好扫到你手机屏幕。

但是,如果手机是公司发放给员工使用的定制手机,可能预装了上网行为监控APP。那么你使用什么网络都逃不过监控APP的眼睛!

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

a6a83ede1615d211fc9278fc7ea349d9.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里a00169e4fdf8cb9bcdb343ab830962c9.gif好文分享给更多人↓↓

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
监控Android设备的4G网络状态,可以使用Android系统提供的ConnectivityManager类。该类提供了网络连接状态的查询和监听功能。以下是一个示例代码,可以实时监测4G网络状态的变化: ```java ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE && networkInfo.getSubtype() == TelephonyManager.NETWORK_TYPE_LTE) { // 4G网络已连接 } else { // 4G网络未连接 } // 监听网络连接状态变化 BroadcastReceiver connectivityReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE && networkInfo.getSubtype() == TelephonyManager.NETWORK_TYPE_LTE) { // 4G网络已连接 } else { // 4G网络未连接 } } }; IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(connectivityReceiver, filter); ``` 以上代码首先查询当前网络连接状态,如果当前网络类型为移动网络,并且子类型为LTE,则判定为4G网络已连接。然后注册一个广播接收器,用于监听网络连接状态变化事件,当网络状态变化时,重新查询当前网络连接状态,判断是否为4G网络
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值