Skip to content
VDS · 모니터링 및 성능

네트워크 부하: iftop, nload, ss

머신을 통해 얼마나 많은 트래픽이 지나가는지, 어디로 가는지, 채널이 포화 상태일 때 어떤 프로세스가 연결을 잡고 있는지 확인하는 방법을 설명해요.

업데이트 2026년 8월 23일

모든 머신의 대역폭은 최대 500 Mbps예요. 거의 항상 충분하지만, 채널이 엉뚱한 일로 바쁠 때가 있어요. 다른 사람의 다운로드 봇, 잊고 있던 파일 공유, 감염된 프로세스의 트래픽 같은 것들이죠. 아래 세 가지 도구가 "얼마나", "어디로", "누가"라는 질문에 답해 줘요.

nload: 지금 얼마나

apt install -y nload && nload
dnf install -y nload && nload

인터페이스별로 들어오고 나가는 트래픽을 그래프와 세션 카운터로 보여줘요. 방향키로 인터페이스를 전환하고 q로 종료해요. 채널이 포화 상태인지 아닌지 가장 빠르게 판단하는 방법이에요.

설치 없이 한 번만 실행하려면:

cat /proc/net/dev
vnstat -l           # if vnstat is installed, shows a live counter

iftop: 트래픽이 어디로 가는지

apt install -y iftop && iftop -nNP -i eth0

플래그: -n은 주소를 확인하지 않고, -N은 포트를 확인하지 않으며, -P는 포트를 표시해요. "내 주소 — 원격 주소" 쌍의 목록이 2초, 10초, 40초 기준 막대와 함께 보여요. 한 줄이 모든 것을 잡아먹고 있다면 출발지나 목적지 주소를 알 수 있으니, 차단할지 애플리케이션을 파헤칠지 결정하면 돼요.

인터페이스 이름은 ip -br a에서 확인해요. 보통 eth0이나 ens18이에요.

ss: 누가 연결을 잡고 있는지

ss는 시스템에 기본으로 있어서 설치할 게 없어요.

ss -tulpn                     # which ports are listening and which processes
ss -tn state established      # active connections
ss -tn state established | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head

마지막 명령은 주소별로 연결 수를 세요. 이렇게 수백 개의 연결을 연 단일 클라이언트를 찾아낼 수 있어요. SSH 비밀번호 무차별 대입 공격이나 웹사이트에 대한 원시적인 공격 중에 흔히 보이는 모습이에요.

ss -tulpn은 포트가 실제로 외부에 열려 있는지, 아니면 localhost에만 열려 있는지 확인하는 데도 도움이 돼요. 127.0.0.1:5432 주소는 머신 자체에서만 접근할 수 있고, 0.0.0.0:5432는 인터넷 전체에서 접근할 수 있어요.

과거 기록을 위한 그래프

실시간 도구는 "밤에 무슨 일이 있었는지"라는 질문에 답하지 못해요. 그럴 때는:

  • 제어판의 "Overview" 탭에 있는 트래픽 그래프 /hosting/vds/m/<id> — 1시간, 하루, 일주일, 한 달 단위로 볼 수 있어요. 제어판의 그래프를 참고하세요.
  • 머신 내부의 vnstat — 일별 및 월별 통계: apt install -y vnstat 후 vnstat -d와 vnstat -m을 실행하세요.
  • 초 단위 지표와 이력이 필요하면 Netdata를 사용하세요.

흔한 실수

  • 엉뚱한 인터페이스에서 iftop을 보는 경우. lo에서는 로컬 통신만 보이고, 실제 트래픽은 지나쳐 가요.
  • 트래픽이 늘었다는 이유만으로 들어오는 트래픽을 공격으로 취급하는 경우. 먼저 출발지가 누구인지, 어느 포트로 들어오는지 확인하세요. 흔히 인덱싱 로봇이나 자신의 백업이에요.
  • 애플리케이션 수준에서 포트를 닫는 경우. 서비스가 0.0.0.0에 리스닝하고 있다면 유일하게 확실한 보호는 필터예요. 방화벽 문서를 참고해 설정하고, 필요한 것만 노출하세요.
  • 나가는 트래픽을 잊는 경우. 감염된 머신은 보통 받지 않고 제공해요. 사이트가 조용한데 나가는 트래픽이 급증한다면 ss -tnp로 프로세스를 확인할 이유가 돼요.

500 Mbps 대역폭은 머신의 모든 서비스가 공유해요. 한 프로세스가 최고 속도로 다운로드하면 사이트와 SSH 모두 느려져요. 백그라운드 다운로드를 제한하세요. 예를 들어 rsync --bwlimit이나 wget --limit-rate를 사용하면 돼요.