꼭대기에서 원시 소켓을 여는 이유는 무엇입니까?

꼭대기에서 원시 소켓을 여는 이유는 무엇입니까?

atop데비안 9에 설치했습니다 . 모니터링 데몬으로 실행됩니다.

원시 소켓에서 수신 대기하는 이유는 무엇입니까? 원시 소켓은 임의의 IPv4 패킷을 생성하는 데 사용됩니다.모든 패킷 캡처특정 IP 하위 프로토콜에 대한 모든 패킷을 읽으십시오! 하지만 내 atop로그와 로그에는 패킷을 읽는 내용이 표시되지 않는다고 생각합니다 . 나는 그것을 사용하지도 않습니다 netatop. 데비안에는 포함되지 않은 커널 모듈이 필요합니다. 이러한 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용도 (eww)로만 열립니다. getsockopt()어떤 코드도 이 소켓을 사용하여 원시 패킷을 읽거나 쓸 수 없습니다.

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

관련 정보