SlideShare a Scribd company logo
1 of 23
Introduction to
Ostinato
Packet Traffic Generator and Analyzer
Twitter: @ebiken | ebiken@gmail.com
Introduction to "OSTINATO" | 2015/12/09 1
List of Contents |目次
• What is “OSTINATO”
• Overview of OSTINATO
• Installation (Windows)
• Installation (Linux/Ubuntu)
• Steps to use Ostinato
• Connecting to remote drone
• Import / Export Stream
• Links
• “OSTINATO” とは?
• OSTINATO全体構成
• インストール方法 (Windows)
• インストール方法 (Linux/Ubuntu)
• 利用手順
• リモートの drone に接続
• ストリームのインポート/エクスポート
• リンク集
Introduction to "OSTINATO" | 2015/12/09 2
What is “OSTINATO”|“OSTINATO” とは?
• Ostinato is …
• Network packet crafter/traffic generator and analyzer with a friendly GUI.
• Use via GUI or Python API.
• Runs on Windows, Linux, BSD and Mac OS X.
• OpenSource (GNU GPLv3)
• Ostinato とは?
• グラフィカルにパケット作成&送信&キャプチャ(解析)が可能
• GUIに加え、Python API 経由でのパケット送信
• Windows, Linux, BSD, Mac OS X で動作
• OpenSource (GNU GPLv3)
Introduction to "OSTINATO" | 2015/12/09 3
Overview of OSTINATO|OSTINATO全体構成
Introduction to "OSTINATO" | 2015/12/09 4
drone
(controller)
ports
Ostinato GUI
(agent)
ports
• User interface to craft packets | start/stop traffic.
パケット作成(編集) | トラフィック開始・停止
• Agent could be Python script.
Agent 機能は Python script でも実行可能
Note: Naming of agent and controller is a bit confusing.
Be careful when reading documents.
agent / controller のネーミングが誤解を招きやすいので注意
• Send / Receive packets
パケット送受信を実行
• could run on different host
異なるホスト上で動作可能
drone
(controller)
Installation| インストール方法 (Windows)
1. Install Winpcap | Winpcap をインストール
• https://www.winpcap.org/
2. Download binary | バイナリをダウンロード
• http://ostinato.org/downloads.html#binary-packages
3. Extract and Run | 展開して実行
• By running “ostinato.exe” (GUI), “drone.exe” will be also
executed in background.
• “ostinato.exe” (GUI) を起動すると、バックグラウンドで
“drone.exe” も実行される。
Introduction to "OSTINATO" | 2015/12/09 5
Installation| インストール方法 (Linux/Ubuntu)
$ sudo apt-get install ostinato
• This will install related packages like wireshark.
• wireshark等、関連パッケージもインストールされる。
$ sudo ostinato
• By running “ostinato” (GUI), “drone” will be also executed in background.
• “ostinato” (GUI) を起動すると、バックグラウンドで “drone” も実行される。
Introduction to "OSTINATO" | 2015/12/09 6
ebiken@u1510d:~$ which ostinato
/usr/bin/ostinato
ebiken@u1510d:~$ which drone
/usr/bin/drone
!! root privilege required !!
Steps to use Ostinato | 利用手順
1. Remove unnecessary ports
2. Craft Streams
• Stream = Packet to send
3. Apply stream settings
• To send stream settings to drone
(controller)
4. Send packets (Start Tx)
5. Start Capture
1. 不要なポートを削除
2. ストリームの作成
• Stream = 送信するパケット
3. ストリームの適用(Apply)
• drone (controller) へストリーム設
定を送信
4. パケットの送信 (Start Tx)
5. パケットのキャプチャ
Introduction to "OSTINATO" | 2015/12/09 7
0. Run Ostinato (GUI)|Ostinato起動
Introduction to "OSTINATO" | 2015/12/09 8
Port Group and Ports
• Port Group = drone (Controller)
• By default, Ostinato will connect to
the drone running on localhost.
• デフォルトでは同じホストのdrone
(port group) に接続している
Stream settings (per port)
ポート毎のストリーム設定
• You would add stream here
• ここにストリームを追加する
Start / Stop Stream, Capture
Clear Stats
ストリームやキャプチャの開始/停止
統計情報のクリア
Status & Statistics info per Port.
ポート毎の状態&統計情報
1. Remove unnecessary ports|不要なポートを削除
Introduction to "OSTINATO" | 2015/12/09 9
• By default, there are many unnecessary ports listed.
• Remove them by adding configuration file: Ostinato.ini
• デフォルトでは不要なポートが表示されている
• 設定ファイルを追加する事により削除可能: Ostinato.ini
ex: any (…) , bluetooth-monitor (…)
Linux:
• Create ~/.config/Ostinato.ini
• ~/.config/Ostinato.ini を作成
Windows:
• Create in same folder as ostinato.exe, drone.exe
• 実行ファイル(ostinato.exe, drone.exe)のあるフォルダに作成
More details noted here | 詳細はこちら
• https://github.com/pstavirs/ostinato/wiki/Settings#drone
~$ cat .config/Ostinato.ini
[PortList]
Include=
Exclude=bluetooth*,any*
bluetooth*,any* was removed
2. Craft Streams|ストリームの作成
Introduction to "OSTINATO" | 2015/12/09 10
2. Right Click and Select “New Stream”
2. 右クリックして “New Stream” を選択
1. Select port to send packet from
1. パケットを送信したいポートを選択
3. Stream will be added
3. ストリームが追加される
2. Craft Streams|ストリームの作成
Introduction to "OSTINATO" | 2015/12/09 11
5. Select “Goto” | “Goto” 設定の選択
Behavior after sending the stream.
Recommend “Goto first” for testing.
ストリームを流した後の動作
テストには “Goto first” がお勧め
4. Enter any name you like
4. 名前を設定(任意)
6. Click to “Edit Stream”
6. クリックしてストリームを編集
2. Craft Streams|ストリームの作成
Introduction to "OSTINATO" | 2015/12/09 12
Example Crafting IPv4/UDP Stream
IPv4/UDPストリームの設定例
2. Craft Streams|ストリームの作成
Introduction to "OSTINATO" | 2015/12/09 13
(1)
(2)
(4)
(3)
3. Apply stream settings|ストリームの適用(Apply)
Introduction to "OSTINATO" | 2015/12/09 14
Do NOT forget to click “Apply” after crafting stream.
This will send stream configuration to drone (controller)
ストリームの設定完了後は必ず “Apply” をクリック。
ストリーム設定が drone (controller) へ投入されます。
4. Send packets (Start Tx)|パケットの送信 (Start Tx)
Introduction to "OSTINATO" | 2015/12/09 15
5. Start Capture|パケットのキャプチャ
3. Start / Stop sending packets
3. パケット送信の開始・停止
2. Start / Stop packet capture
2. パケットキャプチャの開始・停止
1. Select “ALL Cells” or the port before start/stop (blue)
1. 開始・停止前にポートの「全てのセル」を選択(青)
Make sure Transmit / Capture State is “On”
Transmit / Capture State が “On” になっている事を確認
Introduction to "OSTINATO" | 2015/12/09 16
5. Start Capture|パケットのキャプチャ
“View Capture Buffer”
• Wireshark will start by clicking here.
• クリックするとWiresharkが起動。
• You can see packets you crafted are
sent via the port.
• 作成したパケットが送信されている
事を確認できる。
Connecting to remote drone|リモートの drone に接続 (1/4)
Introduction to "OSTINATO" | 2015/12/09 17
drone
(controller)
ports
Ostinato GUI
(agent)
ports
drone
(controller)
NEW !!
Windows10
Ubuntu15.10
on VirtualBox
Port Forwarding
config on VirtualBox
TCP 8888 -> 7878
TCP port 7878
Connecting to remote drone|リモートの drone に接続 (2/4)
Introduction to "OSTINATO" | 2015/12/09 18
ebiken@u1510d:~$ sudo drone
…
The server is running on 0.0.0.0: 7878
Version: 0.7.1
Revision: da551b378f72@
1. Run “drone” on Ubuntu
1. Ubuntuで “drone” を起動
2. Run “Ostinato GUI” on Windows
2. Windows で “Ostinato GUI” を起動
Connecting to remote drone|リモートの drone に接続 (3/4)
Introduction to "OSTINATO" | 2015/12/09 19
3. Right click and then select “New Port Group”
3. 右クリックの後 “New Port Group” を選択
4. Enter “address:port” and then click “OK”
4. “address:port” を設定後、”OK” をクリック
Connecting to remote drone|リモートの drone に接続 (4/4)
Introduction to "OSTINATO" | 2015/12/09 20
5. You can confirm remote ports are added
5. リモートにあるポートが追加された
Import / Export Stream|ストリームのインポート/エクスポート
Introduction to "OSTINATO" | 2015/12/09 21
Select Port -> Stream and Right Click to Open/Save streams.
ポート -> ストリーム と選択。
右クリックでストリームのインポート・エクスポートが可能。
3 formats supported | 3つのファイル形式をサポート
• Ostinato native | 独自フォーマット
• PCAP/PDML (Wireshark / tcpdump)
• Python script
• Export only|エクスポートのみ
• Used to control drone via Python script.
• droneを Python script で操作する際に利用可能
Links| リンク集
• Ostinato Home Page (Official)
• http://ostinato.org/
• Binary Download : http://ostinato.org/downloads.html
• Ostinato Users Guide (Official)
• https://github.com/pstavirs/ostinato/wiki/UserGuide
• More details of what explained in this document.
• このドキュメントで説明した内容の詳細
• Ostinato Mailing List (Official)
• https://groups.google.com/forum/#!forum/ostinato
Introduction to "OSTINATO" | 2015/12/09 22
Introduction to "OSTINATO" | 2015/12/09 23

More Related Content

What's hot

OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
Takashi Naito
 

What's hot (20)

閉域網接続の技術入門
閉域網接続の技術入門閉域網接続の技術入門
閉域網接続の技術入門
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
IIJmio meeting 5 MVNOとGPSについて
IIJmio meeting 5 MVNOとGPSについてIIJmio meeting 5 MVNOとGPSについて
IIJmio meeting 5 MVNOとGPSについて
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
 
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea 急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについてeBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
 
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 

Similar to Introduction to Ostinato , network packet crafting and generator.

Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
Osamu Habuka
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
hiroyuki nakajima
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
Hideki Takase
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
博文 斉藤
 

Similar to Introduction to Ostinato , network packet crafting and generator. (20)

Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
 
Visualizenetworktraffic 20181108
Visualizenetworktraffic 20181108Visualizenetworktraffic 20181108
Visualizenetworktraffic 20181108
 
CIBC 事前インストール
CIBC 事前インストールCIBC 事前インストール
CIBC 事前インストール
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
VyOSの開発とか運用の話
VyOSの開発とか運用の話VyOSの開発とか運用の話
VyOSの開発とか運用の話
 
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
 
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
 
OpenWrtによるサイト間IPsec接続
OpenWrtによるサイト間IPsec接続OpenWrtによるサイト間IPsec接続
OpenWrtによるサイト間IPsec接続
 
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
 

More from Kentaro Ebisawa

More from Kentaro Ebisawa (20)

P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)
 
Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介
 
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
 
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ APIMPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
 
Yang Tools Quick Memo
Yang Tools Quick MemoYang Tools Quick Memo
Yang Tools Quick Memo
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationIETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and Implementation
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
GTPing, How To
GTPing, How ToGTPing, How To
GTPing, How To
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-type
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
Zebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud EraZebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud Era
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd Introduction
 

Introduction to Ostinato , network packet crafting and generator.

  • 1. Introduction to Ostinato Packet Traffic Generator and Analyzer Twitter: @ebiken | ebiken@gmail.com Introduction to "OSTINATO" | 2015/12/09 1
  • 2. List of Contents |目次 • What is “OSTINATO” • Overview of OSTINATO • Installation (Windows) • Installation (Linux/Ubuntu) • Steps to use Ostinato • Connecting to remote drone • Import / Export Stream • Links • “OSTINATO” とは? • OSTINATO全体構成 • インストール方法 (Windows) • インストール方法 (Linux/Ubuntu) • 利用手順 • リモートの drone に接続 • ストリームのインポート/エクスポート • リンク集 Introduction to "OSTINATO" | 2015/12/09 2
  • 3. What is “OSTINATO”|“OSTINATO” とは? • Ostinato is … • Network packet crafter/traffic generator and analyzer with a friendly GUI. • Use via GUI or Python API. • Runs on Windows, Linux, BSD and Mac OS X. • OpenSource (GNU GPLv3) • Ostinato とは? • グラフィカルにパケット作成&送信&キャプチャ(解析)が可能 • GUIに加え、Python API 経由でのパケット送信 • Windows, Linux, BSD, Mac OS X で動作 • OpenSource (GNU GPLv3) Introduction to "OSTINATO" | 2015/12/09 3
  • 4. Overview of OSTINATO|OSTINATO全体構成 Introduction to "OSTINATO" | 2015/12/09 4 drone (controller) ports Ostinato GUI (agent) ports • User interface to craft packets | start/stop traffic. パケット作成(編集) | トラフィック開始・停止 • Agent could be Python script. Agent 機能は Python script でも実行可能 Note: Naming of agent and controller is a bit confusing. Be careful when reading documents. agent / controller のネーミングが誤解を招きやすいので注意 • Send / Receive packets パケット送受信を実行 • could run on different host 異なるホスト上で動作可能 drone (controller)
  • 5. Installation| インストール方法 (Windows) 1. Install Winpcap | Winpcap をインストール • https://www.winpcap.org/ 2. Download binary | バイナリをダウンロード • http://ostinato.org/downloads.html#binary-packages 3. Extract and Run | 展開して実行 • By running “ostinato.exe” (GUI), “drone.exe” will be also executed in background. • “ostinato.exe” (GUI) を起動すると、バックグラウンドで “drone.exe” も実行される。 Introduction to "OSTINATO" | 2015/12/09 5
  • 6. Installation| インストール方法 (Linux/Ubuntu) $ sudo apt-get install ostinato • This will install related packages like wireshark. • wireshark等、関連パッケージもインストールされる。 $ sudo ostinato • By running “ostinato” (GUI), “drone” will be also executed in background. • “ostinato” (GUI) を起動すると、バックグラウンドで “drone” も実行される。 Introduction to "OSTINATO" | 2015/12/09 6 ebiken@u1510d:~$ which ostinato /usr/bin/ostinato ebiken@u1510d:~$ which drone /usr/bin/drone !! root privilege required !!
  • 7. Steps to use Ostinato | 利用手順 1. Remove unnecessary ports 2. Craft Streams • Stream = Packet to send 3. Apply stream settings • To send stream settings to drone (controller) 4. Send packets (Start Tx) 5. Start Capture 1. 不要なポートを削除 2. ストリームの作成 • Stream = 送信するパケット 3. ストリームの適用(Apply) • drone (controller) へストリーム設 定を送信 4. パケットの送信 (Start Tx) 5. パケットのキャプチャ Introduction to "OSTINATO" | 2015/12/09 7
  • 8. 0. Run Ostinato (GUI)|Ostinato起動 Introduction to "OSTINATO" | 2015/12/09 8 Port Group and Ports • Port Group = drone (Controller) • By default, Ostinato will connect to the drone running on localhost. • デフォルトでは同じホストのdrone (port group) に接続している Stream settings (per port) ポート毎のストリーム設定 • You would add stream here • ここにストリームを追加する Start / Stop Stream, Capture Clear Stats ストリームやキャプチャの開始/停止 統計情報のクリア Status & Statistics info per Port. ポート毎の状態&統計情報
  • 9. 1. Remove unnecessary ports|不要なポートを削除 Introduction to "OSTINATO" | 2015/12/09 9 • By default, there are many unnecessary ports listed. • Remove them by adding configuration file: Ostinato.ini • デフォルトでは不要なポートが表示されている • 設定ファイルを追加する事により削除可能: Ostinato.ini ex: any (…) , bluetooth-monitor (…) Linux: • Create ~/.config/Ostinato.ini • ~/.config/Ostinato.ini を作成 Windows: • Create in same folder as ostinato.exe, drone.exe • 実行ファイル(ostinato.exe, drone.exe)のあるフォルダに作成 More details noted here | 詳細はこちら • https://github.com/pstavirs/ostinato/wiki/Settings#drone ~$ cat .config/Ostinato.ini [PortList] Include= Exclude=bluetooth*,any* bluetooth*,any* was removed
  • 10. 2. Craft Streams|ストリームの作成 Introduction to "OSTINATO" | 2015/12/09 10 2. Right Click and Select “New Stream” 2. 右クリックして “New Stream” を選択 1. Select port to send packet from 1. パケットを送信したいポートを選択 3. Stream will be added 3. ストリームが追加される
  • 11. 2. Craft Streams|ストリームの作成 Introduction to "OSTINATO" | 2015/12/09 11 5. Select “Goto” | “Goto” 設定の選択 Behavior after sending the stream. Recommend “Goto first” for testing. ストリームを流した後の動作 テストには “Goto first” がお勧め 4. Enter any name you like 4. 名前を設定(任意) 6. Click to “Edit Stream” 6. クリックしてストリームを編集
  • 12. 2. Craft Streams|ストリームの作成 Introduction to "OSTINATO" | 2015/12/09 12 Example Crafting IPv4/UDP Stream IPv4/UDPストリームの設定例
  • 13. 2. Craft Streams|ストリームの作成 Introduction to "OSTINATO" | 2015/12/09 13 (1) (2) (4) (3)
  • 14. 3. Apply stream settings|ストリームの適用(Apply) Introduction to "OSTINATO" | 2015/12/09 14 Do NOT forget to click “Apply” after crafting stream. This will send stream configuration to drone (controller) ストリームの設定完了後は必ず “Apply” をクリック。 ストリーム設定が drone (controller) へ投入されます。
  • 15. 4. Send packets (Start Tx)|パケットの送信 (Start Tx) Introduction to "OSTINATO" | 2015/12/09 15 5. Start Capture|パケットのキャプチャ 3. Start / Stop sending packets 3. パケット送信の開始・停止 2. Start / Stop packet capture 2. パケットキャプチャの開始・停止 1. Select “ALL Cells” or the port before start/stop (blue) 1. 開始・停止前にポートの「全てのセル」を選択(青) Make sure Transmit / Capture State is “On” Transmit / Capture State が “On” になっている事を確認
  • 16. Introduction to "OSTINATO" | 2015/12/09 16 5. Start Capture|パケットのキャプチャ “View Capture Buffer” • Wireshark will start by clicking here. • クリックするとWiresharkが起動。 • You can see packets you crafted are sent via the port. • 作成したパケットが送信されている 事を確認できる。
  • 17. Connecting to remote drone|リモートの drone に接続 (1/4) Introduction to "OSTINATO" | 2015/12/09 17 drone (controller) ports Ostinato GUI (agent) ports drone (controller) NEW !! Windows10 Ubuntu15.10 on VirtualBox Port Forwarding config on VirtualBox TCP 8888 -> 7878 TCP port 7878
  • 18. Connecting to remote drone|リモートの drone に接続 (2/4) Introduction to "OSTINATO" | 2015/12/09 18 ebiken@u1510d:~$ sudo drone … The server is running on 0.0.0.0: 7878 Version: 0.7.1 Revision: da551b378f72@ 1. Run “drone” on Ubuntu 1. Ubuntuで “drone” を起動 2. Run “Ostinato GUI” on Windows 2. Windows で “Ostinato GUI” を起動
  • 19. Connecting to remote drone|リモートの drone に接続 (3/4) Introduction to "OSTINATO" | 2015/12/09 19 3. Right click and then select “New Port Group” 3. 右クリックの後 “New Port Group” を選択 4. Enter “address:port” and then click “OK” 4. “address:port” を設定後、”OK” をクリック
  • 20. Connecting to remote drone|リモートの drone に接続 (4/4) Introduction to "OSTINATO" | 2015/12/09 20 5. You can confirm remote ports are added 5. リモートにあるポートが追加された
  • 21. Import / Export Stream|ストリームのインポート/エクスポート Introduction to "OSTINATO" | 2015/12/09 21 Select Port -> Stream and Right Click to Open/Save streams. ポート -> ストリーム と選択。 右クリックでストリームのインポート・エクスポートが可能。 3 formats supported | 3つのファイル形式をサポート • Ostinato native | 独自フォーマット • PCAP/PDML (Wireshark / tcpdump) • Python script • Export only|エクスポートのみ • Used to control drone via Python script. • droneを Python script で操作する際に利用可能
  • 22. Links| リンク集 • Ostinato Home Page (Official) • http://ostinato.org/ • Binary Download : http://ostinato.org/downloads.html • Ostinato Users Guide (Official) • https://github.com/pstavirs/ostinato/wiki/UserGuide • More details of what explained in this document. • このドキュメントで説明した内容の詳細 • Ostinato Mailing List (Official) • https://groups.google.com/forum/#!forum/ostinato Introduction to "OSTINATO" | 2015/12/09 22
  • 23. Introduction to "OSTINATO" | 2015/12/09 23

Editor's Notes

  1. Ostinato (agent) | drone (controller)