Linux 系统中,有什么监控工具可以一直监控系统中的流量,匹配到某些特征后自动定位发起流量的进程?

330 天前
 Supershell
有些时候主机会请求一些恶意域名,但是不知道是哪个进程发起的,想通过流量监控工具对这个域名进行监控,从而定位到具体的发起流程,
2624 次点击
所在节点    程序员
18 条回复
xucancan
330 天前
可以用 strace 实现一个小工具
lechain
330 天前
你是不是在寻找 ebpf ?/doge
Supershell
330 天前
@xucancan strace 确实可以实现这样的功能,通过跟踪进程的流量日志,我想实现的是从流量特征定位具体进程,strace 所有进程我先去研究一下,感谢提示。还有一个工具可能跟 strace 相似,不过梗简便,就是 yara 。
en1ac
329 天前
有个叫 zeek 的流量分析工具,可以通过写 lua 脚本来进行流量分析
dode
329 天前
hook linux 系统 dns 接口
mawen0726
329 天前
iftop 能监听流量,看到是什么 ip 什么端口的流量,不知道适不适合你的场景
NessajCN
329 天前
c5QzzesMys8FudxI
329 天前
@Supershell yara 可以吗?我咋感觉 yara 不行。
xucancan
329 天前
@Supershell 个人的浅薄理解仅供参考
到了网络传输层面操作系统的进程信息是丢失的,举个例子,从路由器层面可以观测到主机哪个主机对哪些域名进行访问( dns 查询数据是明文的),但不包含进程相关的信息,因为网络通讯和进程属于两个不同的域,上下文是不互通的,也确实不需要
横向比较,题主目的有点像 GFW 识别翻墙流量,有从流量特征层面识别的方法,例如 LTS in LTS 的包长度特征,或者代理协议的握手特征,但这都是基于“明确证明目标”的,但对于你的场景可能问题都无法被描述
xucancan
329 天前
@Supershell 综上,我觉得首先要明确问题的解决域,它是操作系统和网络交集区域,那么对于 Linux 来讲就是系统内核了,所以 strace 、epbf 这类工具看起来是比较合适的
salmon5
329 天前
IceFox99
329 天前
知道恶意的域名就好说了,tcpstat 或者 tcpdump 根据域名 ip 写一下 filter expression ,然后只要检测到输出就 hook 到 netstat 或者 ss 上,然后输出那一瞬间的所有 socket 的端口,通信和进程信息,应该足够用了。应该用不到 strace ,epbf 这类内核工具,感觉写个 Shell script 就够用了。

我自己就拿 tcpstat 和 chart.js 写过一个把流量按端口,网卡(默认和 vpn 虚拟网卡等等),IP 等等信息分类显示的网页小组件,用来分辨 nas 上 bt,nginx,samba,webdav 等各种流量以及各种用户的实时速度,这种思路是可行的而且效果还行。
salmon5
329 天前
https://my.oschina.net/u/3681970/blog/9698278
长期监控 现在流行可观测性

短期分析 strace,bcc sslsniff,ecapture
salmon5
329 天前
Supershell
329 天前
@xucancan 确实如你所说,本是两个维度的事情,没有关联性,无法从流量上面关联进程,我想只能主动监听所有系统进程来实现我的需求,不过这样对主机的资源性能就不友好了。相当于装了一个杀软,实时监控系统进程,但这样就有点重,如果能有个轻量级的就好了。
dhb233
329 天前
如果要不漏的获取每一个,应该就是 ebpf 这种了。一般发包用的是进程的上下文,ebpf 过滤到特定报文的时候,获取下当前进程号,如果不是常驻进程,还要获取 cmd 之类的?至少要知道执行的哪个文件吧。

tcpdump 再用 ss 分析,也是可以的,但是可能会漏。毕竟有个延迟,可能请求的进程已经不在了
dhb233
329 天前
用 ebpf 这种,性能应该不是什么大的问题,性能影响相当于多加了一条 iptables 规则
salmon5
329 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX