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