Linux

為什麼在頂部打開一個原始套接字?

  • November 13, 2018

我安裝atop在 Debian 9 上。它作為監控守護程序執行。

為什麼它在原始套接字上偵聽?原始套接字用於生成任意 IPv4 數據包或擷取所有數據包讀取給定 IP 子協議的所有數據包!但我不認為 myatop及其日誌顯示讀取數據包的任何資訊。我什至不使用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))

使用(eww)打開原始套接字僅用於從netatop核心模組讀取統計資訊等資訊。getsockopt()沒有使用此套接字讀取或寫入原始數據包的程式碼。

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

引用自:https://unix.stackexchange.com/questions/481441