可怕!公司部署了一个东西,悄悄盯着你……

来源 | 编程技术宇宙

责编 | Carol

封图 | CSDN付费下载自视觉中国

我是一个网络监控软件,我被开发出来的使命就是监控网络中进进出出的所有通信流量。这个网络中所有人的上网内容我都看的清清楚楚,是不是很可怕?

我被一家公司老板买来运行在一个配置极高的Linux服务器上,这台服务器上的网卡可不得了,公司进出的网络数据包都得流经它,它源源不断的把数据包抓上来交给我来分析。

你们应该也知道,网络通信是分层的,最常见的就是那个TCP/IP协议体系了。

拿到数据包后,我就得按照这个协议规范,一层层的脱去协议的外壳,拿到它们的负载数据。

TCP会话重组

我重点要照顾的是TCP协议,因为好多应用都要使用TCP来传输,像上网冲浪HTTP、发邮件SMTP、微信聊天等等。

我想要掌控网络中的通信,第一个就要拿TCP开刀,得想办法把TCP传输的一个个数据包给重组起来,形成一个完整的会话,这样我才好知道应用层传了什么东西,这个步骤叫做会话重组

不过这个TCP协议有点复杂,抛开我们抓到的包本来就存在乱序的情况不说,它本身还有三次握手、四次挥手、超时重传、延迟回复等很多机制,有时候还会遇到时间跨度很久的长连接,这无疑都给我想要重组TCP会话造成了很大的难度。

而我重组TCP会话的唯一线索就是数据包包头中的序列号SEQ和确认号ACK。

不过我还是死磕RFC规范,把这些问题都攻克了,能够成功重组出一个个的TCP会话数据,成功率还蛮高的。

应用协议识别

TCP会话重组出来了,我就可以拿到里面传输的数据了。接下来要做的一件事就是识别应用层到底是什么应用在传输的呢?

用我们的行话说,那就是做应用协议识别,这个时候我就得看一下端口了。

我根据三次握手数据包的方向,就可以确定出谁是客户端,谁是服务端。

再看一下服务端的端口号(这个在TCP包头里面就可以看到),就能知道这是一个什么服务了。

像常见的有下面这些:

  • 22: SSH远程登陆

  • 25: 邮件服务

  • 53: 域名解析服务

  • 80: HTTP Web服务

  • 3306: MySQL数据库服务

  • 3389: 远程桌面连接服务

  • ······

最常见的就是80端口的Web服务了,人类每天上网都在用到。有时候Web服务不走80端口,换成了别的,不过这难不倒我,我可以通过分析TCP的负载数据特征,看看有没有HTTP协议的特征出现,因为HTTP协议的特征实在是太明显啦!

到了后来,根据端口的经验出错的概率越来越大了,我就统一根据内容来进行识别判断,不再相信端口。每个应用都有它们各自的协议特征,这个识别我可是下了点功夫,轻易不会透露。


文件还原

现在我知道应用层是什么协议了,我就可以把应用层协议传输的数据给整明白了。

还是拿最常见的Web服务来说吧,HTTP协议是一个基于请求-响应的协议,比如下面的这一次通信:

请求是一个GET包,看请求的资源貌似是一张JPG图片。

再看响应包,状态码是200 OK,看来没啥问题。再看看Content-Type,image/jpeg,是个JPG图片没跑了。

现在我就可以定位到响应包的负载段,就是在HTTP头,两个回车换行(0D0A)后面就是数据了。

找到数据位置,再根据Content-Length的大小,把数据抠出来写成一个PNG格式的文件就大功告成了!

OMG,这是哪个血气方刚的小伙子又在看美女图片了!

上面这个把协议中传输的文件提取出来的过程叫做文件还原,除了HTTP协议,我还支持文件传输协议FTP、邮件传输协议SMTP、文件共享的SMB协议呢。你们通过这些协议传输的文件,我都能给你还原出来,是不是很可怕?


HTTPS解密

有一天,我发现80端口的数据包越来越少了,与此同时,443端口的通信数据不知不觉多了起来。后来才知道原来为了防止被我这样的网络中间人窥探隐私,他们都用上了一个叫HTTPS的技术。

HTTPS把数据进行了加密传输,这样我拿到以后都是加密后的,没办法知道传输了什么内容。

不过这家公司的老板很聪明,他要求公司的员工电脑上都装上了一个“安全软件”,美其名曰保护电脑不被入侵,实际上啊是在他们的电脑上做了一个中间人劫持,进行了HTTPS的证书替换。

这个“安全软件”作为中间人把HTTPS证书和密钥告诉我,我就可以解密HTTPS流量了!你们上网干了啥我还是能知道的一清二楚!

网络阻断

你以为我只能在一旁监听吗?图样!

要是你们访问那些敏感的网站,或者尝试把老板交代给我重点看护的数据偷偷传出去,那我就不只是看着那么简单了,这个时候我就要启动阻断功能

为了不影响公司网络的运转,我一般都是旁路部署的,这样要是我哪天抽风遇到了bug,还可以立即把我撤下去。这个所谓旁路部署呢,就是抓取的包都是一份拷贝,而不是通过我转发。

不过这样一来也给我阻断网络通信带来了一些麻烦,如果我是串联到网络中,那可就简单了,遇到那些可疑的网络连接我直接丢掉数据包,不转发出去就得了。

可现在我不是串联,而是旁路部署,怎么办呢?

聪明如我,怎么可能被这小小的问题难住?我可是深谙TCP协议的行家,在发现可疑的连接建立的时候,就将它掐灭在萌芽状态!

具体来说,TCP连接的建立是要经过三次握手的:

当我发现可疑的SYN数据包时,在服务端回复第二次握手包之前,以迅雷不及掩耳盗铃之势,用服务器IP的名义伪造一个RST的数据包给客户端,这样连接就被我掐断了!

这一招虽然不能保证百分之百成功,但我离客户端更近,我的伪造包一般都能比真正的服务端响应包早一步到达客户端,所以成功率还是蛮高的!

唉,说曹操,曹操就到!发现了一个可疑的连接来了,先不说了,我要去忙了~

彩蛋

悄悄告诉你们,上次公司HR给我导入了一批URL列表,让我重点关注下都是谁在访问:

  • www.lagou.com

  • www.zhipin.cpm

  • www.liepin.com

  • www.geekxh.com(重中之重)

更多阅读推荐

  • 20张图,带你搞懂高并发中的线程与线程池!

  • 《我想进大厂》之 MYSQL 夺命连环13问

  • 超详细 | 21张图带你领略集合的线程不安全

  • 杜甫在线演唱《奇迹再现》、兵马俑真人还原……用AI技术打破次元壁的大谷来参加腾讯全球数字生态大会啦!

  • 谷歌软件工程师薪资百万,大厂薪资有多高?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker nacos mysql nginx 集群多台

文章目录服务器编排一、mysql1. 创建挂载目录2. 赋予权限3. 运行容器4. 创建数据库5. 初始化脚本二、nacos-cluster2.1. 192.168.92.1292.2. 192.168.92.1322.3. 192.168.92.133三、nginx3.1. 运行临时容器3.2. 配置拷贝3.3. 删除临时容器3.4. 添加配置3.5. 运行容器四、验证和…

【开发者成长】5 分钟搞定 Linux 正则表达式

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在Linux中分为两类: Shell…

【开发者成长】每个人都在编写草率代码

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 所有开发人员都认为自己写的代码完全能让人看懂,然而,他们却无法解密彼此的代码(更不用说维护代码了)…

疫情与资本寒冬双重危机下,智领云为何能拿到数千万融资?

经济下行,资本收缩,加之中美贸易摩擦,2019年可谓“难熬”。转眼2020年,资本寒冬未消退,疫情再来雪上加霜,募资搁置、投资放缓、退出暂停,本已残酷的一级市场寒冬再次被拉长。据清科研究中心数据…

云原生基础架构的最佳状态,就是没有架构?

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 云原生基础架构是通向云原生时代的基石,对于很多架构师来说,上云之后,架构为什么成为了云…

美军开发远程人脸识别系统,实现1公里内目标识别

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 编者按:本文来自微信公众号“学术头条”(ID:SciTouTiao),作者:小婷…

“蚂蚁漫步”背后的定位原理思考

作者 | 陆春晖责编 | 李雪敬头图 | CSDN下载自视觉中国蚂蚁的里程表最近看了一本很有意思的书,克利福德皮寇弗所著的《数学之书》。其中一篇《蚂蚁的里程表》,讲述蚂蚁惊人的定位导航能力,对机器人及无人车的设计者们有强烈的启示作用。笔者对…

10个 Python 工程师,9个不合格!!

毋庸置疑,Python越来越被认可为程序员新时代的风口语言。 无论是刚入门的程序员,还是年薪百万的 BATJ 的大牛都无可否认:Python的应用能力是成为一名码农大神的必要项。 所以,很多程序员把Python当做第一语言来学习。 但对于Pytho…

漫谈新零售:疫情对新零售的十大影响

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 席卷全球的新冠疫情,骤然影响了全人类的生活和工作方式。作为一起震动全球的黑天鹅事件,它对整个世界…

SpringBoot2.6.1 elasticsearch7.1.5 Vue

文章目录1. 版本兼容2. 导入依赖3. 配置4. 主页面5. 控制层6. 逻辑处理层7. pojo8. 工具类9. 常量类10. 前端页面项目开源地址1. 版本兼容 框架/组件版本SpringBoot2.6.1elasticsearch7.1.5 2. 导入依赖 <parent><groupId>org.springframework.boot</groupId&…

德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; “2020 年的趋势将颠覆整个行业&#xff0c;并在未来十年重新定义业务&#xff0c;即使数字创新已成为各种规模企业的常规行为…

ZooKeeper的十二连问,你顶得了嘛?

来源 | 捡田螺的小男孩【前言】一线大厂ZooKeeper的十二连问&#xff0c;你顶得了嘛&#xff1f;本文已经收录到github&#xff1a;https://github.com/whx123/JavaHome什么是Zookeeper面试官&#xff1a;工作中使用过Zookeeper嘛&#xff1f;你知道它是什么&#xff0c;有什么…

【机器学习】脑机接口利器:错误率仅3%

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 编者按&#xff1a;本文来自微信公众号“AI科技评论”&#xff08;ID:aitechtalk&#xff09;&#xff0c;36氪经授权发布。 …

【人工智能】AI如何把招人效率提高四成

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 近日&#xff0c;受新冠肺炎病毒影响&#xff0c;美国劳工部报告显示&#xff0c;将近 330 万人申请了失业保险&#xff0c;这…

中国移动云智融合峰会 与您相约揽胜九天

当前&#xff0c;5G、AI和云计算等技术加速发展&#xff0c;成为建设智慧社会、网络强国、数字中国的根基。中国移动大力推动人工智能建设和运营&#xff0c;实现规模化AI赋能。在这一背景下中国移动融智战略布局将会有何不同?人工智能时代&#xff0c;云融产业如何打造智能生…

【安全】一名安全数据科学家的日常生活

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 导读&#xff1a;目前网络安全领域的工作岗位远远多于合格的人选&#xff0c;所以好消息是网络安全还是一个适合涉足的领域。…

docker rocketmq4.7.0

创建数据挂载目录 mkdir -p /app/rocketmq/rmqserver01/logs mkdir -p /app/rocketmq/rmqserver01/store mkdir -p /app/rocketmq/rmqbroker01/logs mkdir -p /app/rocketmq/rmqbroker01/store mkdir -p /app/rocketmq/rmqbroker01/conf编辑配置文件 vim /app/rocketmq/rmqbr…

【远程办公】5分钟一拍照、10分钟一截屏 ?

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 随着新冠病毒疫情的爆发&#xff0c;选择远程办公的企业越来越多&#xff0c;雇主们也开始大量采购监控软件以保证员工们没有…

明源云:与阿里云生态共同成长

公司介绍 我们公司&#xff0c;即明源云&#xff0c;是国内领先的地产生态链“互联网”服务商&#xff0c;致力于让地产生态链更智慧。秉承产品领先战略和让用户成功的经营理念&#xff0c;我们成功为全国超过5000家房地产企业提供“互联网”解决方案和管理系统&#xff0c;帮…