为什么 atop 打开原始套接字?

为什么 atop 打开原始套接字?

我安装atop在 Debian 9 上。它作为监控守护进程运行。

为什么它要监听原始套接字?原始套接字用于生成任意 IPv4 数据包或捕获所有数据包读取给定 IP 子协议的所有数据包!但我不认为我的atop日志和它的日志显示任何读取数据包的信息。我什至不使用netatop- 这需要一个内核模块,而 Debian 中不包含该模块。如果其中任何atop功能涉及到,我会感到非常惊讶发送原始 IP 数据包。

$ sudo netstat -l --raw -ep
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
raw        0      0 0.0.0.0:255             0.0.0.0:*               7           root       2427667    7353/atop

$ sudo ss -l --raw -p
State      Recv-Q Send-Q Local Address:Port    Peer Address:Port    
UNCONN     0      0      *:ipproto-255         *:*                  users:(("atop",pid=7353,fd=4))

答案1

原始套接字仅打开netatop以使用getsockopt()(eww)从内核模块读取统计信息等信息。没有代码可以使用此套接字读取或写入原始数据包。

https://github.com/Atoptool/atop/blob/v2.3.0/netatopif.c

相关内容