39장. SystemTap을 사용하여 네트워크 활동 모니터링
systemtap-testsuite 패키지
를 설치한 후 /usr/share/systemtap/testsuite/systemtap.examples/
디렉터리에서 사용할 수 있는 유용한 예제 SystemTap 스크립트를 사용하여 시스템의 네트워크 활동을 모니터링하고 조사할 수 있습니다.
39.1. SystemTap을 사용하여 네트워크 활동 프로파일링
nettop.stp
예제 SystemTap 스크립트를 사용하여 네트워크 활동을 프로파일링할 수 있습니다. 스크립트는 시스템에서 네트워크 트래픽을 생성하는 프로세스를 추적하고 각 프로세스에 대한 다음 정보를 제공합니다.
- PID
- 나열된 프로세스의 ID입니다.
- UID
- 사용자 ID. 사용자 ID 0은 root 사용자를 나타냅니다.
- DEV
- 데이터를 보내거나 받는 데 사용한 프로세스의 이더넷 장치(예: eth0, eth1)는 무엇입니까.
- XMIT_PK
- 프로세스에서 전송한 패킷 수입니다.
- RECV_PK
- 프로세스에서 수신한 패킷 수입니다.
- XMIT_KB
- 프로세스에서 보낸 데이터 양(킬로바이트)입니다.
- RECV_KB
- 서비스에서 수신한 데이터 양(킬로바이트)입니다.
사전 요구 사항
- SystemTap 설치에 설명된 대로 SystemTap 을 설치했습니다.
절차
nettop.stp
스크립트를 실행합니다.# stap --example nettop.stp
nettop.stp
스크립트는 5초마다 네트워크 프로필 샘플링을 제공합니다.nettop.stp
스크립트의 출력은 다음과 유사합니다.[...] PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 0 5 0 0 swapper 11178 0 eth0 2 0 0 0 synergyc PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 2886 4 eth0 79 0 5 0 cups-polld 11362 0 eth0 0 61 0 5 firefox 0 0 eth0 3 32 0 3 swapper 2886 4 lo 4 4 0 0 cups-polld 11178 0 eth0 3 0 0 0 synergyc PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 0 6 0 0 swapper 2886 4 lo 2 2 0 0 cups-polld 11178 0 eth0 3 0 0 0 synergyc 3611 0 eth0 0 1 0 0 Xorg PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND 0 0 eth0 3 42 0 2 swapper 11178 0 eth0 43 1 3 0 synergyc 11362 0 eth0 0 7 0 0 firefox 3897 0 eth0 0 1 0 0 multiload-apple