NetFlow Simulator 利用手順
作成日:2016年11月10日 | 更新日:2025年2月13日
概要
- NetFlowシミュレーターは、NetFlow v5形式のパケットを送信するツールです。
- 利用開始手順/活用方法をご案内します。
- Windows環境のみサポート
- Simulatorファイルのダウンロード : こちら
- NetFlow Simulator 包含ファイル
- Flowsettings.txt:NetFlow Simulator の設定ファイル
- README.txt:設定説明ファイル
- SendNetFlows.class:NetFlow Simulator の本体
- startNetFlowSimulator.bat:NetFlow Simulator 起動バッチ
目次
利用手順
1.
NetFlowシミュレーターを利用するサーバー(Windows)に、JRE(1.5以上)、またはNetFlowAnalyzerをインストール
※NetFlowAnalyzerインストール環境の場合、製品にバンドルされているJREを利用可能
※NetFlowAnalyzerのダウンロード : こちら
2.
NetFlowSimulator.zip を任意のフォルダで解凍
3.
JREおよびNetFlow Simulatorのパスについて、startNetFlowSimulator.batを編集
変更項目
1.
set PATH=C:\Program Files\Java\jdk1.5.0_15\bin;%PATH%
※/jre/binのパスを記載
※NetFlowAnalyzerをインストールしている場合は、C:\ManageEngine\NetFlowAnalyzer\jre\binとなります。
2.
set SIM_HOME=C:\Users\Administrator\Desktop\NetFlowSimulator
※シュミレーターのパスを記載
4.
FlowSettings.txt を編集
※フローデータ送付宛先IPアドレスとポート番号の記載は必須です。
※その他項目はデフォルトの値での運用を推奨します。
5.
プログラムの実行
※startNetFlowSimulator.bat をダブルクリックして実行
※CTRL + c で停止
留意点
FlowSettings.txt の詳細
(1)ipaddress=localhost //フローデータ送付先IP
(2)portnumber=9996 //フローデータ送付先ポート(デフォルト9996)
(3)no_of_interfaces=10
(4)interval=1000
(5)no_of_packets=10
(6)no_of_flows=30
(7)verbose=no
(8)src_ip_address=192.168.11.1-192.168.11.254
(9)dst_ip_address=192.168.12.1-192.168.12.254
(10)ip-type=6,17,20
(11)src_port_range=80-100
(12)dst_port_range=111-121
(13)reset_octets_after=
(14)src_interface=
(15)dst_interface=
(16)octets=1000
(17)src_as=23,34,54,45,454
(18)dst_as=12,13
(19)router_ip=
(20)packets=1-10
(21)flow_duration=10000
(22)tos=10-20
(23)tcp_flag=11,12,34,45,56
(24)active_timeout=10000・フィールド
(1) ipaddress:NetFlow データ送信先ホスト(ホスト名、あるいはIPアドレス)
(2) portnumber:NetFlow データ送信先ポート番号
(3) no_of_interfaces:NetFlow データを送信するインターフェース数
(4) interval:NetFlow データ送信間隔[ミリ秒単位] (5) no_of_packets:インターバル毎に送信されるパケット数
(6) no_of_flows:インターバル毎に送信されるフロー数
(7) verbose:フロー情報をoutput.txt に出力するかどうか(Yes:出力有り、No:出力無し(デフォルト))
(8) src_ip_address:NetFlow データ送信元IPアドレス
(9) dst_ip_address:NetFlow データ宛先IPアドレス
(10)ip-type:プロトコル番号
(11)src_port_range:NetFlow データ送信元ポート範囲
(12)dst_port_range:NetFlow データ宛先ポート範囲
(13)reset_octets_after:オクテット数カウントを1 までリセットする時間間隔[分単位] (14)src_interface:特定の2つのインターフェース間でフローのやり取りを行う想定の場合の送信元インターフェース
(15)dst_interface:特定の2つのインターフェース間でフローのやり取りを行う想定の場合の宛先インターフェース
(16)octets:オクテット数
(17)src_as:送信元AS番号
(18)dst_as:宛先AS番号
(19)router_ip:ルーターIPアドレス
(20)packets:パケット数
(21)flow_duration:フロー遅延時間
(22)tos:IP サービスタイプ
(23)tcp_flag:TCP フラグ
(24)active_timeout:パケット中のフロー開始時間を決める際に現在時刻から遡る時間[分単位]
Flowsettings.txt を編集する際の注意事項
1. 変数名は変更しないでください。
2. スペースは追加しないでください。
3. FlowSettings.txt は、SendNetFlows.class が置かれているディレクトリーに置いてください。
4. 最初の3つのフィールド「(1)ipaddress」「(2)portnumber」「(3)no_of_interfaces」の設定については、特に正しいことを確認してください。
5.「(6)no_of_flows」フィールドについては、送信されるフロー数をランダムに変化させたい場合には、空の設定にしてください。
6.「(10)IP-type」フィールド(プロトコル番号)は、TCP の場合には、13 としてください。
7. 開始IPアドレスと、終了IPアドレスは、単にそこからIPアドレスを選択するための範囲であって、送信元および宛先とは関係ありません。
8.「(10)IO-type」送信元ポート、宛先ポートは、以下の形式のいずれかで設定可能です。
- カンマ区切り:(例)1,2,12,32,33
- 範囲指定 :(例)12-33
- 値指定 :(例)12
9. 送信元IPアドレスおよび宛先IPアドレスは、以下の形式のいずれかで設定可能です。
- カンマ区切り:(例)192.168.1.1,192.168.2.3
- 範囲指定 :(例)192.168.1.1-192.168.1.10
- 値指定 :(例)192.168.1.1
- 空欄のまま :IPアドレスをランダムに生成
10. 送信元インターフェースおよび宛先インターフェースは、1つのみの数値を持つことができます。
これは、2つの特定のインターフェース間でフローを送信するのに用います。
送信元インターフェースおよび宛先インターフェースに値を設定した場合は、それらだけが有効になります。
11. V5 のNetFlow パケットでは「(6)no_of_flows」は、30 以下の整数にします。
12.「(16)Octets」は、指定されたオクテット値を一定数送信するのに用います。
13.「(7)verbose」フィールドは「yes」と設定すると送信フロー情報が、output.txt に出力されます。
output.txt は、SendNetFlows.class が置かれているディレクトリーに出力されます。
デフォルト設定値は「no」です。
14.IPアドレス範囲は、複数のネットワークにまたがっている場合、192.168.1.0-192.168.2.0 のように設定する代わりに、
192.168.1.0-192.168.2.255 のように設定します。
これは、NetFlow Simulator が、設定された範囲で数字を生成することが理由です。
例えば、192.168.1.0-192.168.2.25 という指定に対して、
192.168.1.0 から 192.168.1.25 までの範囲のIPアドレスのみ、
あるいは、192.168.2.0 から 192.168.2.25 までの範囲のIPアドレスのみが、ランダムに生成されます。
15.「(19)router_ip」フィールドは、ルータIPアドレスを指定するのに用います(仮想IPが設定されている場合)。
もし、空欄のままになっている場合には、送信元マシンのIPアドレス(FlowSettings.txt の(1)ipaddress)をルータIPアドレスとします。
16.「(22)tos」フィールドおよび「(23)tcp_flag」フィールドは、256(1バイトのとき)以下の正整数値を持ちます。
17. フロー時間の計算は、次のように行います。
「(21)flow_duration」フィールドは、FlowSettings.txtから値が取得されます。
「(24)active_timeout」フィールドも、FlowSettings.txtから値が取得されます。
パケット中の最初のフローのフロー開始時間は、現在マシン日付(currenttime)から、
「(24)active_timeout」フィールドの分数だけ後の時間として取得されます。
フロー終了時間は、フロー開始時間 + フロー遅延時間(flow_duration)です。
各フローに関して、フロー開始時間およびフロー終了時間は、フロー開始時間が
決して現在時刻よりも大きくならないようにインクリメントされます。
flowdiv は、次の式で取得します。
flowdiv = (currenttime - (currenttime - active_timeout)) / no_of_flows;
各フローに関して、
フロー開始時間 = フロー開始時間 + flowdiv
フロー終了時間 = フロー終了時間 + flowdiv
制限事項
1. ポート番号およびAS番号の設定は、32767 を超えない値にしてください。
2. インタフェース数は、2以上に設定してください。
その他
NetFlow Simulator は、NetFlow Analyzer がインストールされているマシン上にインストールすることも、別マシン上にインストールすることも可能です。
NetFlow データの送信先の指定にご注意ください。
FlowSettings.txt の(1) ipaddressおよび(2) portnumberを参照ください。
