![커널: 모듈을 사용하여 청취 호출을 가로채기](https://linux55.com/image/191163/%EC%BB%A4%EB%84%90%3A%20%EB%AA%A8%EB%93%88%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%B2%AD%EC%B7%A8%20%ED%98%B8%EC%B6%9C%EC%9D%84%20%EA%B0%80%EB%A1%9C%EC%B1%84%EA%B8%B0.png)
listen(2)
저는 들어오는 연결을 위해 소켓을 열기 위해 호출하는 응용 프로그램을 감지하고 규칙 테이블을 사용하여 이를 찾는 응용 프로그램을 작성 중입니다 . 이는 macOS의 애플리케이션 방화벽과 매우 유사합니다. 따라서 나의 주요 접근 방식은 listen
로드 가능한 커널 모듈을 사용하여 호출을 재정의하는 것입니다. 커널 2.6 이상에서 시스템 호출 테이블이 읽기 전용인 경우 Linux에서도 가능합니까? 더 좋은 방법이 있나요?
답변1
예를 들어, 더 나은 접근 방식은 eBPF를 사용하는 것입니다.
"패킷 필터링" 부분에 속지 마십시오. BPF는 더 이상 패킷 필터링에 관한 것이 아닙니다. 학습 곡선이 상당히 가파르지만 그만한 가치가 있습니다.