はじめに
前回はTRex
を使うための準備まで行ったため、今回は実際にTRex Stateless Gui
を使ったトラフィック生成を行ってみます。
TRex Stateless Gui画面について
「File」→「Connect」からTRex
に接続すると、以下のような画面が表示されます。
画面左に表示されている「Port 0」と「Port 1」はTRex
のトラフィック送信用ポートの設定になります。
尚、TRex Stateless Gui
接続に使われるeth0
は生成したトラフィックを送信できないので、TRex Stateless Gui
の画面には表示されません。
CML2上の名称 | TRex Stateless Gui上の名称 |
---|---|
eth0 | ※表示なし |
eth1 | Port 0 |
eth2 | Port 1 |
メニューバー
メニューバーの概要。
尚、TRex Daemon
はCML2
で実装されているTRex
ノードにはサービスがインストールされていないため使用できません。
メニュー名 | 備考 | |
---|---|---|
File | Connect/Disconnect | 接続しているTRexから切断 |
Preferences | ロードするファイル等の設定 | |
exit | TRex Stateless Guiの終了 | |
Traffic Profiles | Traffic Profiles | Traffic Profiles画面からトラフィックを作成 |
Stats | Dashboard | 統計情報の表示 |
Capture | Open Monitor | パケットキャプチャの実施(要Service Mode) |
TRex Daemon | Open TRex Daemon | TRex Daemonへの接続(CML2のTRexホストには未実装) |
Help | About | TRex Stateless Guiのバージョン表示 |
トラフィックの生成方法
トラフィックの生成には、メニューバーの「Traffic Profiles」から編集画面を開いて作成していく方法と、左ペインのポートに紐付く「Profile」から作成していく方法があります。
また、トラフィックを生成して実際に流すまでには以下の作業が必要となります。
- ポートの基本設定
- Profileの作成(生成トラフィックの定義)
TRex Stateless Guiは名前の通りステートレスなトラフィックを作成するアプリケーションとなります。
TCPの3way Handshakeのようなステートフルなトラフィックを作成することはできません。
ポートの基本設定
左フレームの「Port 0」または「Port 1」を選択すると各ポートの設定が表示され、Acquire
を選択することで、設定を編集、Release
で編集を終了、Reset
でデフォルト設定に戻すことができます。
Controlタブ
ポートの状態や設定を確認できます。
特に変更する必要はありませんが、設定できる項目はMulticast
、Promiscuous
、Service
の3つで、「IPv6 neighbors」を確認する場合や、パケットキャプチャを行う場合はService
を有効にする必要があります。
Configuration
ポート設定のメインとなる設定。
ポートに指定するMAC&IP(Source)と、通信相手のMAC&IP(Destination)、TRex
が繋がっているポートがタグVLANのポートの場合はVLANID(VLAN)を指定します。
MACアドレスの設定、IPアドレスの設定は「L2」、「L3」のラジオボタンを選択することで設定できます。
また、「Ping host」にアドレスを指定して「Ping」を選択することで、指定のホストと疎通確認することも可能です。
IPv6が有効となっているネットワークの場合は、「Control」タブの「Service」を有効にすることで「IPv6 neighbors」をスキャンできます。
トラフィックを送信する際は、「L2」もしくは「L3」の設定を一度Apply
しておかないと、生成したトラフィックを送信することができないため、Apply
しておきます。
Hardware counters
ポートの統計情報を確認できます。
TRex
のifconfig
の情報を表示しているようです。
Profileの作成
左ペインの「Profile」→「New Profile」→適当なプロファイル名を入力することでトラフィックを生成するためのプロファイルを作成していきます。
画面左の「Build Stream」をクリックし、適当なストリーム名を入力して送信するパケットを組み立てていきます。
また、「Import Pcap」でパケットキャプチャファイルを読み込ませることもできるので、実際の環境で取得したキャプチャファイルがあるのであれば、「Import Pcap」で読みこませて編集しても良いかと思います。
Stream Properties
どの程度のレートで送信するか、次のストリームはいくつか等の設定を行います。
続けていくつかのストリームを流したい場合などに編集します。
Packet Editor
実際に流すパケットを組み立てていきます。
MACアドレスやチェックサム等は特に入力しなくても自動で調整されるため、最低限IPアドレス、ポート番号を設定すれば送信できる形になります。
Field Engine
「Add instruction」でフィールドを追加することで、パケットサイズをランダムに変えたり、チェックサム値を変えたりできるようですが、まだ使いこなせていないため説明は割愛。
トラフィックの送信
Streamを作成したら、画面上のバーに表示されている実行ボタンを実行することで、作成したトラフィックを送信できます。
パケットキャプチャ等で確認し、指定したトラフィックが送信されていれば成功です。
おわりに
TCPの3way Handshakeが行えるようならば使い方の幅も広がりますが、TRex Stateless Gui
ではそこまでの操作はできないようです。
ただ、GUI上で簡単に任意のパケットを作成・送信できるのは、ACL等の確認を行うのに便利なので、簡単な操作だけでも覚えておいたほうが役に立つと思います。