41장. SystemTap을 사용하여 네트워크 활동 모니터링
systemtap-testsuite
패키지를 설치할 때 /usr/share/systemtap/testsuite/systemtap.examples/
디렉터리에서 사용할 수 있는 유용한 SystemTap 스크립트를 사용하여 시스템의 네트워크 활동을 모니터링하고 조사할 수 있습니다.
41.1. SystemTap을 사용하여 네트워크 활동 프로파일링
nettop.stp
예제 SystemTap 스크립트를 사용하여 네트워크 활동을 프로파일링할 수 있습니다. 이 스크립트는 시스템에서 네트워크 트래픽을 생성하는 프로세스를 추적하고 각 프로세스에 대한 다음 정보를 제공합니다.
- PID
- 나열된 프로세스의 ID입니다.
- UID
- 사용자 ID. 사용자 ID가 0이면 root 사용자를 나타냅니다.
- DEV
- 데이터를 보내거나 수신하는 데 사용되는 이더넷 장치(예: eth0, eth1)는 무엇입니까.
- XMIT_PK
- 프로세스에서 전송한 패킷 수입니다.
- RECV_PK
- 프로세스에서 수신한 패킷 수입니다.
- XMIT_KB
- 프로세스에서 보낸 데이터 양(KB)입니다.
- RECV_KB
- 서비스에서 수신한 데이터 양(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