広島工業大学紀要研究編
第 44 巻（2010）pp.223-227

論

文

ネットワークトラフィックの可視化による通信データの監視および制御に関する研究
長坂康史 *・福田宏見 **（平成21年10月31日受理）

A Study on Monitoring and Controlling of Communication Databy Network Traffic Visualization
Yasushi NAGASAKA and Hiromi FUKUDA(Received Oct. 31, 2009)

Abstract
The Internet has become one of the most important tools. A huge amount of data iscommunicated in the Internet all over the world. The management of data traffic is very
important under such a situation, because the computer transmits lots of unnecessary data
though it is infected by a computer virus and the network is not well managed. A monitor ofdata traffic, therefore, should be required for recognizing such a situation.
This paper describes the monitoring and control system of communication data. The system
consists of an agent and a manager. The agent monitors the communication data in his own
computer and reports the result to the manager. On the other hand, the manager receives andvisualizes it to find abnormal data traffics with several kinds of graphs. The system also has
the functionality to restrict the specified data transmission. The proposed system makes it
possible that an event and a bottleneck of network system can be found and solved easily.
Key Words: network traffic, traffic control, traffic visualization

要なデータを大量に送信し，そのデータの宛先コンピュー１．はじめにタに負荷を掛けるだけでなく，１つのコンピュータがネッ

昨今のインターネットの普及により，企業や学校などにトワークを占有し，ネットワーク全体のパフォーマンスを設置されるほとんどのコンピュータにインターネットを利低下させる可能性がある。また，１つのコンピュータがコ用するための環境が整備されており，コンピュータを利用ンピュータウィルスに感染すると，ネットワークを介してするユーザは，誰でも簡単にインターネットを利用するこ

他のコンピュータにも感染が広まり，システム全体に大きとができる。

な障害をもたらすこともある。そして，その感染の拡大はしかし，ネットワークシステムの管理が不十分であると，とても早いため，即座に対応する必要がある。

コンピュータウィルスへの感染や致命的な障害が発生する

また，データ収集システムなどにおいてもシステムの管可能性が高くなり，インターネットを快適に利用すること理は重要である。データ収集システムでは，それぞれのコができなくなる。コンピュータウィルスに感染すると，不ンピュータにおいて様々なデータがやりとりされる。この＊＊広島工業大学情報学部情報工学科＊＊

中国管区警察局― 223 ―

長坂康史・福田宏見

各コンピュータの通信データ量を監視することによって，制御メッセージを受信すると，ファイアウォール機能にシステムのボトルネックや障害をいち早く発見することがよって通信データの制御を行なう。さらに，ファイアウォーでき，システムの運用を支援することができるだろう［１］。

ルによって破棄されたパケットの情報をマネージャに送信

現在，コンピュータの通信データを監視する代表的な方する。この情報もキャプチャデータと同様に，指定された法として，ネットワーク上を流れるパケットをキャプチャ一定間隔ごとに送信し，その間に破棄されたパケットの情し，そのパケットに含まれる各種プロトコルヘッダの情報報をマネージャに渡す。このエージェントは C++ 言語でや通信データ量などを調べ，どのような通信が行われてい開発した。

るか分析するというものがある。しかし，ネットワーク上⑵を流れるパケットから得られる情報をシステムの管理に役マネージャ立てるためには大きな労力を必要とする。

マネージャは，管理用コンピュータに配置されるソフトウェアである。エージェントから送信されたキャプチャ

そこで本研究では，パケットキャプチャによって得られデータおよびファイアウォールによって破棄されたパケッる情報を基にネットワークトラフィックの可視化を行い，トの情報を可視化して表示する。また，監視・制御のためさらに，ネットワークに接続されている各コンピュータのの GUI（Graphical User Interface）を提供する。さらに，通信データを監視・制御するシステムの開発を行い，ネッ

監視対象コンピュータの通信データを制御するために，制トワークシステムの管理を効率化することを目的とする。

御メッセージをエージェントに送信する。このマネージャ
は Java 言語で開発した。

２．開発システム
2.1

2.2

概要

通信データの監視

本システムは，ネットワークに接続された複数のコン本研究では，パケットキャプチャを用いて，コンピューピュータの情報を１つの管理用コンピュータが収集し，管タの通信データの監視を行なう。パケットキャプチャとは，理用コンピュータにおいて，各監視対象コンピュータの情NIC（Network Interface Card）に届いたパケットを採取報を可視化して表示する。また，管理用コンピュータではすることであり，NIC を通して送受信したパケットの内各監視対象コンピュータの通信データを制御する。図１に容を全て見ることができる。パケットにはプロトコルごと本システムの構成例の概要を示す。のヘッダが含まれており，このヘッダの種類やヘッダ内のIP アドレスやポート番号によって，通信相手やパケットの種類を分析することができる。また，パケットの長さや個数を見ることでトラフィック量を監視することができる。
本研究では，各コンピュータにおいてパケットキャプチャを行い，キャプチャしたパケット内のヘッダの種類によってパケットを以下の３種類に分類する。
⒜

TCP パケット
TCP または UDP ヘッダを含むパケット⒝
図１

IP パケットIP ヘッダを含み，TCP および UDP ヘッダを含まないシステムの概要

パケット
図１に示すように，本システムは，エージェントとマネー⒞

TCP，UDP および IP ヘッダを含まないパケット

ジャで構成される。これらの詳細な説明を以下に示す。
⑴

Other パケット

エージェントエージェントは，監視対象コンピュータそれぞれに配置

上 記 の よ う に， キ ャ プ チ ャ さ れ た パ ケ ッ ト か らされるソフトウェアである。監視対象コンピュータにおいEthernet，IP，TCP および UDP ヘッダを順に読み込み，て送受信されたパケットをキャプチャし，それによって得ヘッダ内の情報からパケットの種類を判断する。TCP まられた情報をマネージャに送信する。このキャプチャデー

たは UDP ヘッダを正常に読み込めた場合には TCP パケッ

タの送信は，指定された一定間隔ごとに行い，その間に監トに分類し，それ以外のパケットで IP ヘッダを正常に読視対象コンピュータにおいて送受信されたパケットの情報み込めた場合には IP パケットに，IP ヘッダを正常に読みをマネージャに渡す。また，マネージャから送られてくる込めない場合には Other パケットに分類する。

― 224 ―

ネットワークトラフィックの可視化による通信データの監視および制御に関する研究

また，キャプチャしたパケットから表１に示す情報を抜ように，各コンピュータにおいて送受信された全パケットき出し保持する。パケットの種類によってはヘッダ内にこの長さ・個数の合計などを，表１に示した情報や送信・受れらの情報が含まれていない場合があり，各パケットの種信パケットの長さ・個数から算出する。

類ごとに保持する情報が異なる。表１に各種パケットごと

このように，パケットキャプチャによって得られる情報に，キャプチャしたパケットから情報を抜き出し保持するやそれを基に算出した各種の情報をグラフによって表示す場合には○，保持しない場合には×として示している。

ることでネットワークトラフィックの可視化を行い，効率また，本研究ではキャプチャされたパケットが UDP ヘッ的なシステム管理を支援する。

ダを含む場合も上記の TCP パケットに分類する。しかし，
UDP ヘッダにはウィンドウサイズが存在しないので，キャ2.4プチャされたパケットが TCP ヘッダを含む場合にはウィンドウサイズを保持するが，UDP ヘッダを含む場合には通信データの制御

本研究では，以下のような流れで通信データの制御を行なう。

保持しない。これを表１に△として示している。

管理用コンピュータにて，各監視対象コンピュータの情報が可視化されたグラフによって通信データの制御が必要

表１

かどうか判断する。制御が必要と判断された場合には，監パケットキャプチャによって保持する情報

視対象コンピュータへ向けて TCP 通信を用いて特定の文情報

TCP
パケット

IPパケットOther
パケット

パケットの長さ［Byte］○○○

パケットの個数○○○プロトコルの種類○○×のパケットを拒否するか等）が含まれており，この項目を送信元 IP アドレス○○

×

基に文字列を受け取ったコンピュータは iptables コマンド

宛先 IP アドレス○○×を実行し，ファイアウォール機能を用いて通信データを制

送信元ポート番号

○××

御する。

宛先ポート番号○××

ウィンドウサイズ△××

字列を送信する。この文字列には，iptables によって送信・受信を拒否するパケットの内容を指定する項目（どのコンピュータに向けたパケットを拒否するか，どのポート番号

iptables は Linux にファイアウォール機能を実装するソフトウェアで，パケットフィルタリングを行なうことができる。また，送信元・宛先 IP アドレスやポート番号を指そして，表１に示した情報を特定のフォーマットの文字定することで個々のパケットごとに送信・受信の許可・拒列に変換し，その文字列をマネージャに送信する。また，否を設定することができる。なお，パケットのフィルタリ

一定間隔でキャプチャデータを送信することによって，各ングは iptables にルールを追加することで行なわれる。

コンピュータのトラフィック量（１秒間あたりに届いたパ

本 研 究 で は， 特 定 の パ ケ ッ ト を 破 棄 す る ル ー ル をケットの量（bps：bit per second）や１秒間あたりに届iptables に追加することで通信データの制限を行なう。まいたパケットの個数）を監視することができる。

た，制限の解除はそのルールを iptables から削除することで行なう。そして，iptables によって破棄されたパケット

2.3

ネットワークトラフィックの可視化の情報はファイルに出力され，このファイルから表１と同パケットキャプチャによって得られる情報は文字や数字のみである。そこで，この情報を管理用コンピュータにお様の情報を読み取り，キャプチャデータと同様のフォーマットの文字列に変換してマネージャに送信する。

いて可視化し，より効率的に分析が行えるようにし，管理の効率化を図る。

このように，ネットワークを介して特定の文字列を送信し，その文字列を基に受信側で iptables コマンドを実行す

本研究では，文字や数字で表される情報をグラフに変換することで可視化を行う。グラフの作成は，JFreeChart

ることで，特定のコンピュータの通信データを別のコンピュータから制御する。

ライブラリを用いた。JFreeChart は，Java ベースで開発2.5されたグラフの作成に特化したライブラリである。

マネージャ GUI

また，グラフの作成を効率良く行なうため，各コンピュー

本システムのマネージャは，各監視対象コンピュータのタから収集したキャプチャデータ（表１に示した情報）お通信データを可視化したグラフや，2.4 節に記述した制御よび，それに加えて，キャプチャデータの送信元 IP アドメッセージを送信するための GUI を提供する。図２にマレスを用いて，送信・受信パケットの長さ（Byte），個数ネージャ GUI 画面を示す。

をそれぞれ保持する。さらに，様々なグラフに対応できる― 225 ―

図２上部のコンボボックスとボタンは，2.4 節で記述し長坂康史・福田宏見

図３
図２

１台のコンピュータにおけるアプリケーションごとの通信データ量を表すグラフ

マネージャ GUI 画面

どによってアプリケーションごとの通信データ量を可視化た制御メッセージを送信するために用いる。

することで，各アプリケーションの通信データ量を監視し，図２の中央部には，様々な角度から分析できるように複数種類のグラフが用意され，それらをタブメニューによって表示している。図２では，各コンピュータの通信データそれぞれを容易に比較することができる。

３．フレームワーク

量を表した棒グラフを表示している。この棒グラフの横軸

本研究では，上述した監視，制御，可視化を行なうためには各コンピュータの IP アドレスを表示している。縦軸のフレームワークをオブジェクト指向を用いて開発した。

は目盛りが２種類あり，左側の目盛りが１秒間あたりに届

このフレームワークの概要を図４に示す。このフレーム

いたパケットの量（bps：bit per second）に対応し，右ワークはクラスライブラリとして提供され，このクラスを側の目盛りが１秒間あたりに届いたパケットの個数（本研用いることで上述の機能を実現することができる。また，究では，これを Pps：Packet per second と表現する）にキャプチャデータや制御メッセージの送受信は TCP 通信対応する。図２のグラフは，横軸の各項目に対して２つのを用いて行なう。そのため，標準 C ライブラリの Socket

Bar が表示されていて，それぞれ左側が bps のデータを，通信に関わる関数のラッパークラスを開発した［２］。そし右側が Pps のデータを表している。このように，bps とて，これらのフレームワークを用いて本システムの開発をPps の２つの情報を表示することで，より詳細な分析が行行った。

えるようにしている。また，このグラフは 2.2 節のパケッ
トの分類方法に基づいて，TCP パケット（TCP），IP パケット（IP），それ以外のパケット（Other）をそれぞれ色分けして表示している。
このグラフによって，どのコンピュータがどのようなデータをどれくらい送受信しているかを確認できる。また，それぞれのコンピュータの通信データ量の比較が容易に行なえる。
また，図２の中央部のタブメニューには合計７つのグラフが用意されており，図２に表示されているグラフの他に，１台のコンピュータにおけるアプリケーションごとの通信

図４

フレームワークデータ量を表すグラフなどがある。このグラフを図３に示す。なお，図３のグラフの縦軸は図２と同様である。
図３のグラフは，各通信データの相手コンピュータの４．性能評価

IP アドレス，各通信データのプロトコル，ポート番号を本システムの評価を行うために，本システムを使用する横軸に表示させている。また，アプリケーションごとに送ことでコンピュータにかかる負荷を測定した。CPU 使用

信データ（TX），受信データ（RX），送信か受信か判断で率とメモリ使用量を測定し，負荷を調べた［３］。

きないデータ（Somewhere）をそれぞれ色分けして表示している。

なお，マネージャが動作するコンピュータの負荷を測定し，エージェントは２台とし，マネージャは２台のコン

上図のように各パケットの IP アドレスやポート番号なピュータの通信データを監視する。なお，エージェントか― 226 ―ネットワークトラフィックの可視化による通信データの監視および制御に関する研究

らマネージャへ監視データを送信する時間間隔は 10 秒と設定している。表２にマネージャを配置したコンピュータの 性 能 を 示 す。 ま た， 表 ３ に 測 定 結 果 を示す。表３のことはないと考えられる。

５．まとめ

CPU 使用率については，１秒，５秒，15 秒間隔の CPU使用率をそれぞれ 10 回求め，平均を算出した。

本研究では，ネットワークシステムの効率的な管理を行なうために，ネットワークに接続されている各コンピュータの通信データを監視・制御するシステムを開発した。ま表２

マネージャを配置したコンピュータの性能た，本システムを実行することによる，コンピュータにかCPU

Intel Pentium 4かる負荷を測定した。その結果，本システムを実行するこ

3.40GHz

メモリ

1,015,776kB

OS

Scientific Linux CERN release 3.0.8
表３とで，コンピュータの動作を阻害することはないと考える。
さらに，本システムでは，監視に用いる情報を単に数値データで表示するだけでなく，グラフなどに可視化することで，コンピュータがどのような通信を行なっているかと測定結果CPU 使用率（％）

いうことが一目で確認できるようになり，システム管理者

フリーメモリ
（kB）

１秒
平均

５秒
平均

15 秒
平均

本システム実行前 0.2480

0.10980.0999795,164

本システム実行後 0.8500

1.04830.7062748,084の負担を軽減し円滑なシステム運用を支援することが可能である。今後は，より分かりやすく可視化を行なえるようにシステム・フレームワークの開発を進め，さらなるシステム管理の効率化を図る。

参考文献

表３より，本システム実行前の CPU 使用率は最大約［１］ 福田宏見，長坂康史：「ATLAS 実験におけるデー0.2％であり，ほとんど CPU を使用していない状態であっタ 収 集 シ ス テ ム の 状 態 可 視 化 シ ス テ ム の 開 発 」，た。本システム実行前のフリーメモリは 795,164kB，実行FIT2008

後 は 748,084kB で あ り， 本 シ ス テ ム の 使 用 メ モ リ は2008

第７回情報科学技術フォーラム，pp.169-170，

47,080kB であることが分かる。本システム実行後の CPU［２］ 福田宏見：「モバイルエージェントを利用した効率使用率は最大約１％であり，１秒平均，５秒平均，15 秒的情報検索システムの開発」，広島工業大学，2006 年平均の各項目とも，本システム実行前と比べ増加している

度卒業研究論文が，１％程度である。また，使用メモリもトータルメモリ［３］ 藤井峰夫：「加速器科学仮想組織におけるグリッドの数％程度である。これらのことより，本システムを実行

環境自動監視・診断システム」，広島工業大学，2007

することによってコンピュータに高い負荷がかかるという

年度修士論文― 227 ―