blog

ntopngを使用したLinux上でのWebベースのネットワーク・トラフィック・モニタリング・システム

ntopng はオープンソース技術を使用したネットワーク・トラフィック解析ツールで、ネットワーク・トラフィックをリアルタイムで監視するための Web インターフェースを提供します。このチュートリアルで...

Jun 26, 2025 · 4 min. read
シェア

ntopngは、リアルタイムでネットワークトラフィックを監視するためのWebインタフェースを提供するオープンソース技術を使用したネットワークトラフィック解析ツールです。Mac 含む複数のプラットフォームで動作します。ntopng自体には、シンプルなRMONライクなエージェントソフトウェア、組み込みのWebサーバー機能が付属しており、時系列の統計情報を保存するためにRedis対応のキーバリューサーバーを使用します。ntopng ネットワーク・トラフィック解析ツールをネットワークに接続された指定監視サーバーにインストールし、ウェブ・ブラウザを使用して、サーバー上の既存のリアルタイム・トラフィック・レポートにアクセスできます。

このチュートリアルでは、ntopngを使用してLinux上でウェブベースのネットワーク・トラフィック・モニタリング・システムを構築する方法を説明します。

ntopngの機能的特徴

  • トラフィック層およびプロトコル層におけるローカル・ネットワーク・トラフィックのリアルタイム分析。
  • ドメイン、自律システム、仮想LANレベルでの統計。
  • IPアドレスの地理的位置。
  • ディープパケットインスペクションに基づくサービスディスカバリー。
  • 過去のトラフィック解析
  • nProbeでは、sFlow、NetFlow、IPFIXがサポートされています。
  • ネットワーク・トラフィック・マトリックス
  • IPv6のサポート

Linuxへのntopngのインストール

公式サイトでは、UbuntuCentOS用のバイナリパッケージを提供しています。

最新のntopngをソース・サービスビルドしたい場合は、以下の手順に従ってください。

Debian、Ubuntu、Linux Mint で ntopng をビルドしたい場合:

$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev 
$ tar xzf ntopng-1.0.tar.gz -C ~ 
$ cd ~/ntopng-1.0/ 
$ ./configure 
$ make geoip 
$ make 

上記の手順で、"make geoip" は自動的に maxmind.com から無料版の GeoIP データベースを wget コマンドを使ってダウンロードします。そのため、システムがインターネットに接続されていることを確認してください。

Fedoraでntopngをビルドしたいです:

$ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget 
$ tar xzf ntopng-1.0.tar.gz -C ~ 
$ cd ~/ntopng-1.0/ 
$ ./configure 
$ make geoip 
$ make 

CentOSまたはRHELにntopngをインストールするには、EPELリポジトリを作成し、上記のFedoraと同じ手順に従ってください。

Linuxでのntopngの設定

ntopngをビルドしたら、以下のようにntopng用の設定ディレクトリを作成し、デフォルトの設定ファイルを用意します。192.168.1.0/24」がローカルネットワークのCIDRアドレスプレフィックスであると仮定します。

$ sudo mkir /etc/ntopng -p 
$ sudo -e /etc/ntopng/ntopng.start --local-networks "192./24" 
--interface 1 
$ sudo -e /etc/ntopng/ntopng.conf 
-G=/var/run/ntopng.pid 

ntopngを実行するときは、ntopngのキーバリューストアであるredisを最初に起動してください。

Debian、Ubuntu、Linux Mint で ntopng を始めたい方:

$ sudo /etc/init.d/redis-server restart 
$ cd ~/ntopng-1.0/ 
$ sudo ./ntopng 

Fedora、CentOS、またはRHELでntopngを開始します:

$ sudo service redis restart 
$ cd ~/ntopng-1.0/ 
$ sudo ./ntopng 

デフォルトでは、ntopngはポートTCP/3000をリッスンします。以下のコマンドを使用して、実際にそうであることを確認してください。

$ sudo netstat -nap|grep ntopng 
tcp        0      0 0.0.0.0:3000            0.0.0.0 
:*      LISTEN     29566/ntopng 

ウェブベースのインターフェースでネットワークトラフィックを監視

ntopngが正常に実行されると、Webブラウザを使用して、http://&;--->:00にアクセスすることにより、ebインタフェースにアクセスすることができます。

ntopngのログイン画面が表示されます。デフォルトのユーザー名とパスワード "admin/admin "でログインしてください。

ntopngのスクリーンショットです。

ピークフローをリアルタイムでグラフ表示。

ピークホスト、ピークプロトコル、ピークAS番号のリアルタイム統計。

DPIベースのアプリケーション/サービス自動検出を使用して、アクティブなトラフィックをリアルタイムでレポートします。

過去のフロー分析。

Read next

シェルツール: jsondiff.sh

最近、歴史的なプロジェクトのリファクタリングで忙しかったのですが、客観的な制約のため、テストケースがなく、正誤を判断するために、新旧サーバーの結果セットの整合性を人力で比較しなければならないほどでした。怠惰はプログラマーの美徳と言われているので、そのためのツールを書いたほうがいいと思いました。

Jun 26, 2025 · 4 min read