시스템콜에 대해 궁금한점이...
글쓴이: newold / 작성시간: 일, 2004/10/03 - 6:19오전
리눅스에서 시스템 콜이 호출되면 entry.S에서 sys_call_table에 각 시스템 콜에 대한 처리 루틴 주소가 있어서 시스템 콜이 수행되는 걸로 알고 있는데
만약 모든 시스템 콜이 발생하기 전에 각 시스템 콜에 대한 log를 남기려 한다면 어떤 방법이 있나요? 가능 한가요?
strace를 이용하면 특정 명령어에 대해서만 어떤 시스템 콜을 호출했는지는 출력되던데
이런 거 말고 모든 시스템콜이 호출되면 그 시스템 콜을 한 process의 uid와 같은 정보를 logging하는 방법이 없을까요?
Forums:
음.. current 프로세스를 가지고 하면 현재 시스템 콜 한 proc
음.. current 프로세스를 가지고 하면 현재 시스템 콜 한 process의 uid 정보를 얻을 수 있습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
[quote]리눅스에서 시스템 콜이 호출되면 entry.S에서 sys_c
이대로 하시면 됩니다.
entry.S 에서 system_call 을 보시면 요청한 시스템콜 번호에 따라 sys_call_table 에서 해당 주소를 얻어와 시스템콜을 수행합니다.
요 시점에 로깅함수를 넣으면 쉽게 구현 할 수 있습니다.
from saibi
[quote="powerson"]음.. current 프로세스를 가지고
current 포인터겠죠 :)
『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』
댓글 달기