上から生のソケットを開くのはなぜですか?

上から生のソケットを開くのはなぜですか?

atopDebian 9にインストールしました。監視デーモンとして実行されます。

生のソケットでリッスンするのはなぜですか? raw ソケットは、任意の IPv4 パケットを生成するために使用されます。すべてのパケットキャプチャ特定のIPサブプロトコルのすべてのパケットを読んでください!しかし、私のatopログとログにはパケットの読み込み内容が表示されないと思います。私はそれを使用しませんnetatop。 Debian には含まれていないカーネルモジュールが必要です。これらのatop機能の1つが含まれている場合は非常に驚くでしょう。送る生の 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

raw ソケットは、カーネルモジュールから統計などの情報を読み取るnetatop目的(eww)でのみ開きます。getsockopt()どのコードもこのソケットを使用して生のパケットを読み書きできません。

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

おすすめ記事