【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

Linux进程网络流量统计方法及实现

放大字体  缩小字体 发布日期:2020-06-08 23:39:55    浏览次数:15
导读

  weixin_36365324:衡恒宝宝15分钟前#1楼 清华大学大数据实验室招聘时序数据库开发--java/c/go 全职/实习皆可,应届往届皆可。 地点:北京海淀区五道口 简历邮箱:联系电话: 微信联系方式:hgzlzw 官方网站:阿帕奇社区开源产品:IOTDB 产品链接:工作职责1: 1、负责实现自研的分布式数据库开发,推进系统实现高吞吐、

  weixin_36365324:衡恒宝宝15分钟前#1楼 清华大学大数据实验室招聘时序数据库开发--java/c/go 全职/实习皆可,应届往届皆可。 地点:北京海淀区五道口 简历邮箱:联系电话: 微信联系方式:hgzlzw 官方网站:阿帕奇社区开源产品:IOTDB 产品链接:工作职责1: 1、负责实现自研的分布式数据库开发,推进系统实现高吞吐、高并发、高性能、高可用、低延迟、弹性扩展; 2、探索数据库领域的前沿技术,接纳吸收转化为技术方案,并推进应用于产品; 4、指导研发工程师的产品开发和技术研究工作,解决各类技术疑难问题。 5、基于用户需求,持续优化数据库内核,解决系统开源版本技术难题,升级系统性能。 任职要求: 1、统招本科及以上学历,计算机、软件、信息等相关专业。 2、熟悉Java或C/C++或go编程,对主流数据库及分布式有所了解,计算机相关基础知识扎实。 3、了解海量数据、高并发、高性能的分布式系统的设计应用优化工作经验优先考虑。 4、爱主动钻研,学习速度快,喜欢分析解决问题,抗压能力强。

  在某些应用安全场景需要结合进程级网络连接、流入流出流量等数据直接分析出进程的异常。例如,在内网主机上是否存在持续恶意外传敏感数据的现象、在网络监控时发现服务器大量带宽被占用但不清楚由系统具体哪个进程占用。为此都需要获取更细粒度的进程级网络流量数据直接锁定异常服务。

  在Linux系统中都有相应开源工具采集网络连接、进程、流量等信息,像netstat命令查看主机网络连接信息,一般包括最基本的五元组信息(源地址、目标地址、源端口、目标端口、协议号);ps命令采集进程信息,包括pid, user, exe, cmdline等;iftop命令获取网卡的实时流量数据。

  但很可惜没有一个细粒度进程级流入流出网络流量数据。为此,本文旨在分享实现一种统计Linux进程级网络流量方式。

  第11列是inode号,代表Linux系统中的一个文件系统对象包括文件、目录、设备文件、socket、管道等的元信息。如图中623457565是某进程监听socket(状态0A)的inode号。

  /proc/pid/fd目录是进程所有打开的文件信息,其中0、1、2表示标准输入、输出、错误,网络连接是以socket:开头的文件描述符,其中[]号内的是socket对应inode号,这样可以和网络状态文件/proc/net/tcp下的inode号可对应起来。

  解析出packet的五元组(源地址、目标地址、源端口、目标端口、协议号)信息和当前报文的流量大小。

  通过对Linux主机抓包,结合网络状态文件、进程文件描述符实现一种细粒度的进程级网络流量采集方式。利用Linux文件inode号作为桥梁,关联出进程、网络连接的映射关系。

  本文的实现方式可以按进程维度统计接收/发送的总量/平均值等各维度数据,也可以扩展按网络连接维度统计流量数据,这些在主机流量安全分析、网络监控排查等场景方面可作为重要依据。

  本文介绍的流量统计方式是一种通用的实现方式,但持续使用libpcap抓包对主机性能有较明显损耗;滴滴云的主机安全团队研发了一种更高效的实现方式,主机上服务无任何感知能力,目前已在数万台主机上稳定运行,下篇文章进行详细分析,敬请期待。

  gRPC:一个高性能、开源的通用 RPC 框架,基于标准的 HTTP/2 进行传输,默认采用 Protocol Buffers 序列化结构化数据。本文将介绍如何从零搭建一个 Golang 的 gRPC 服务。准备工作本文所述的搭建环境基于滴滴云售卖的 CentOS 7.2 标准镜像安装 Golang下载最新版本的 Golang 安装包gRPC 依赖于 1.6 以上版本,如果对其他版本有诉......

  ,这个时候需要使用tcpdump + 命令来获取网卡端的数据,获取一段时间,比如说2个小时的数据,再将其重定向到某个输出文件,最后根据输出文件,来

  TOP的流量的IP就可以简单来说,使用下面两个命令$ tcpdump -i eth0 -nv OUTPUT # 将获取到的流量数据重定向到指定输......

  服务器上监控网络带宽的18个常用命令2014-04-11 10:10 布加迪编译字号:T T本文介绍了一些可以用来监控网络使用情况的

  命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。AD:51CTO学院:IT精品课程在线CTO精选译文】本文介绍了一些可以用来......

 
关键词: linux流量统计
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-251986.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4