커널은 프로세스가 자신에 속하지 않은 네트워크 데이터를 수신하도록 어떻게 허용합니까? [폐쇄]

커널은 프로세스가 자신에 속하지 않은 네트워크 데이터를 수신하도록 어떻게 허용합니까? [폐쇄]

네트워크 리소스를 사용할 때 각 프로세스에는 포트 번호가 할당됩니다. 프로세스는 지정된 포트 번호에서만 네트워크 데이터를 보내고 받을 수 있습니다.

커널은 어떻게 IDS, IPS, Wireshark와 같은 보안 프로그램이 자신에게 속하지 않은 모든 네트워크 데이터를 수신하도록 허용합니까? 이를 달성하려면 어떤 시스템 호출이나 라이브러리 루틴이 필요합니까?

답변1

어떻게라고 말하는 것보다, 그렇다라고 말하는 것이 더 낫다....

포트 번호의 목적은 시스템에 이미 사용 가능한 수신 데이터를 제한하고 구분하는 것입니다. 따라서 원시 소켓에는 커널이 부여한 특별한 권한이 없습니다. 반대로 일반(즉, 비 원시 소켓) IP 소켓에는 주소가 있습니다. 특별한 능력.

비유하자면 스테인드 글라스 창문을 IP라고 생각해보세요.포트 번호소켓과 투명 창은 원시 소켓처럼 작동합니다. 후자가 더 많은 정보를 받는 것이 아니라 필터링되는 정보가 적다는 것입니다. 이 비유는 또한 이를 유발하는 것이 커널이 아니라 네트워크의 물리적 특성이기 때문에 상황을 보여줍니다. 창문이 햇빛을 얻기 위해 밖으로 나가는 것과 마찬가지로 커널은 정보를 얻기 위해 밖으로 나가지 않습니다. 햇빛은 이미 거기에 있고 시스템 외부에서 나옵니다.

관련 정보