39.2. SystemTap을 사용하여 네트워크 소켓 코드에서 호출되는 함수 추적
socket-trace.stp
예제 SystemTap 스크립트를 사용하여 커널의 net/socket.c 파일에서 호출되는 함수를 추적할 수 있습니다. 이를 통해 각 프로세스가 커널 수준에서 네트워크와 상호 작용하는 방식을 자세히 파악하는 데 도움이 됩니다.
사전 요구 사항
- SystemTap 설치에 설명된 대로 SystemTap 을 설치했습니다.
절차
socket-trace.stp
스크립트를 실행합니다.# stap --example socket-trace.stp
socket-trace.stp
스크립트의 출력에 대한 3초 발췌 내용은 다음과 유사합니다.[...] 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 gnome-terminal(11106): -> sock_poll 5 gnome-terminal(11106): <- sock_poll 0 scim-bridge(3883): -> sock_poll 3 scim-bridge(3883): <- sock_poll 0 scim-bridge(3883): -> sys_socketcall 4 scim-bridge(3883): -> sys_recv 8 scim-bridge(3883): -> sys_recvfrom 12 scim-bridge(3883):-> sock_from_file 16 scim-bridge(3883):<- sock_from_file 20 scim-bridge(3883):-> sock_recvmsg 24 scim-bridge(3883):<- sock_recvmsg 28 scim-bridge(3883): <- sys_recvfrom 31 scim-bridge(3883): <- sys_recv 35 scim-bridge(3883): <- sys_socketcall [...]