English

ntopng — 웹 기반 트래픽 분석

Linux / 모던 CLI 도구 / ntopng.html

모던 CLI 도구원문등록 2026-10-19T17:00:00+09:00

💬 "ntopng 설치"

ntopng는 웹 기반 네트워크 트래픽 분석 도구입니다. 1998년의 ntop을 계승한 것으로, 패킷 미러·NetFlow·SNMP·방화벽 로그·IDS에서 트래픽을 수집해 브라우저 대시보드로 보여줍니다.

터미널 도구와 달리 하나의 서버에 상주시키고 브라우저로 접근합니다. 장기간 신뢰받아온 엔터프라이즈급 오픈소스로, 호스트 풀·대역폭 추이·이상 트래픽을 장기 보관하며 분석합니다.

  • 개념: 트래픽 프로브 역할을 하며 여러 소스에서 데이터를 수집합니다.
  • 주요 기능: 실시간 대시보드, 호스트 풀, 트래픽 저장·이력 조회, 이상 탐지를 제공합니다.
  • 장점: 패킷 캡처 외에 NetFlow·SNMP까지 수집해 전체 네트워크를 한 화면에서 관제합니다.
  • 활용: 사내 전체 트래픽을 상시 기록·분석해야 하는 관리자에게 적합합니다.

기본 사용법

ntopng는 설치 후 웹 브라우저로 접속해 사용합니다. 콘솔 명령어로 결과를 보는 다른 도구와 달리, 화면은 브라우저(기본 포트 3000)에서 확인합니다.

1. 서비스 시작 → 브라우저 접속

의존성(redis·rrdtool)를 확인한 뒤 ntopng를 시작하고 브라우저로 엽니다.

sudo systemctl start redis-server
sudo ntopng -i eth0                # 캡처 인터페이스 지정
# 브라우저에서 http://localhost:3000 접속 (기본 계정 admin/admin)

2. 화면 읽는 법

  • Dashboard: 전체 대역폭·플로우 수·Top 대화 흐름이 실시간 갱신됩니다.
  • Hosts: 통신한 호스트 목록. 클릭하면 해당 호스트의 포트·프로토콜 분해로 들어갑니다.
  • Flows: 개별 세션(소스IP:포트 → 목적IP:포트) 단위 트래픽. 누가 무엇을 주고받는지 가장 자세히 보입니다.
  • Filters: BPF 필터로 특정 호스트·포트·프로토콜만 골라 봅니다.

3. 서버 배포 시

데스크톱이 없는 서버에서는 --daemon로 백그라운드 실행하고, 로컬 네트워크 대역을 --local-networks로 알려주면 내부 트래픽 분류가 정확해집니다.

sudo ntopng -i eth0 --http-port 3000 --local-networks 192.168.0.0/24 --daemon

설치 및 다운로드

ntopng는 공식 apt 저장소·Docker·소스 빌드로 설치합니다. redis·rrdtool이 필요합니다.

환경명령
Ubuntu/Debian (공식 apt)wget https://packages.ntop.org/stable/ubuntu24.04/all/apt-ntop-stable.deb && sudo apt install ./apt-ntop-stable.deb && sudo apt install ntopng
설치 후 시작sudo systemctl start ntopng
의존성 (수동)sudo apt install redis-server rrdtool
Dockerdocker run -d --name ntopng -p 3000:3000 ntop/ntopng
소스 빌드github.com/ntop/ntopng (doc/README.md)

설치 후 브라우저에서 http://서버IP:3000으로 접속합니다. 설정은 /etc/ntopng/ntopng.conf에서 합니다.

자주 쓰는 옵션

옵션설명
-i eth0수집할 네트워크 인터페이스를 지정합니다
--http-port=3000웹 대시보드 포트를 지정합니다
--local-networks="192.168.0.0/16"사내 로컬 대역을 알려 내부/외부 호스트를 구분합니다
--data-dir=/var/lib/ntopng데이터 저장 위치를 지정합니다
--daemon데몬으로 상주 실행합니다
-G /run/ntopng.pidPID 파일 위치를 지정합니다

필수 명령어 조합 3가지

  • sudo systemctl start ntopng — 서비스 시작
  • sudo ntopng -i eth0 --http-port=3000 — 특정 인터페이스를 3000포트 웹으로 제공
  • sudo ntopng --interface=eth0 --local-networks="10.0.0.0/8" --daemon — 로컬 대역 지정 후 데몬 실행

💬 "실제 서버에 ntopng를 설치하고 접속하는 예시를 보여줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 공식 저장소 등록 및 설치

공식 apt 저장소를 등록하고 ntopng를 설치합니다.

wget https://packages.ntop.org/stable/ubuntu24.04/all/apt-ntop-stable.deb
sudo apt install ./apt-ntop-stable.deb
sudo apt install -y ntopng

2단계 · 설정 및 시작

로컬 대역을 지정하고 서비스를 시작합니다.

echo "--local-networks=10.0.0.0/8 --interface=eth0 --http-port=3000" | sudo tee /etc/ntopng/ntopng.d/local.conf
sudo systemctl enable --now ntopng

3단계 · 브라우저 접속

웹 대시보드에 접속해 트래픽을 확인합니다.

# 브라우저에서 접속
http://서버IP:3000
# 기본 로그인: admin / admin (최초 접속 시 변경 권장)

실무에서는 이렇게 씁니다

1. 전체 호스트 대역폭 순위 확인

상황 — 사내에서 가장 많은 트래픽을 쓰는 호스트를 확인합니다.

결과 — 브라우저 대시보드의 Top Talkers에서 호스트별 송수신량 순위를 확인합니다.

포인트 — --local-networks를 정확히 설정해야 내부 호스트 이름이 해석됩니다.

2. NetFlow로 원격 장비 수집

상황 — 스위치·라우터의 트래픽을 모읍니다.

# ntopng.conf에 NetFlow 수신 설정
--interface=none
--tshark-path=/usr/bin/tshark
# 스위치에서 ntopng 서버 IP:2055로 NetFlow 전송 설정

결과 — 스위치가 전송한 플로우 데이터가 대시보드에 통합됩니다.

포인트 — 패킷 미러가 없어도 NetFlow만으로 전체 가시성을 확보합니다.

주의할 점

  • 기본 포트(3000)로 외부에 열면 인증 없이 접근 가능하므로 방화벽으로 내부 전용으로 제한하고 비밀번호를 변경합니다.
  • 트래픽을 상시 기록하므로 저장 공간이 필요합니다. --data-dir 위치를 충분히 확보합니다.
  • 패킷 캡처·서비스 실행에 root 권한이 필요합니다.
  • 터미널 도구와 달리 상주 서비스라 별도의 서버 자원(CPU·디스크)을 할당하기 유리합니다.