troushoo

Wiresharkでキャプチャしたパケットを編集し送信 - Ostinato

【概要・まとめ】
Wiresharkでキャプチャしたパケットを編集し、その編集したパケットを送信できるオープンソースのソフトOstinatoを紹介します。

【内容】
・Ostinatoとは?
Ostinatoとは、”Wireshark in Reverse(=Wiresharkの逆)”を目的にしたツールで、オープンソースのプロジェクトです。
Ostinatoを利用すると、Wiresharkでキャプチャしたパケットを編集し、その編集したパケットを送信することができます。

・Ostinatoのインストール
(Ostinatoはクロスプラットフォームのソフトですが、今回はWindows環境へのインストールを紹介します。)
Ostinatoのインストールは、以下のサイトよりWin32版をダウンロードし、Zipを解凍すれば終了です。
http://code.google.com/p/ostinato/downloads/list
Ostinatoのダウンロード
(注) Ostinatoの使用にはWinPcapのインストールが必要です。WinPcapはWiresharkをインストールしている環境ではインストールされています。

・Wiresharkでキャプチャしたパケットの編集・送信方法
Wiresharkでキャプチャしたパケットの編集・送信方法を、以下の流れで紹介していきます。
0. Wiresharkでパケットキャプチャ・保存
1. Wiresharkで保存したパケットを、Ostinatoで編集
2. 編集したパケットを送信

0. Wiresharkでパケットキャプチャ
ここでは、WiresharkでICMPをキャプチャし、保存します。
0.1. Wiresharkを起動します。
0.2. わかりやすさのため、”Filter”に”icmp”と入力し、ICMPのみを表示させるようにします。
ディスプレイフィルタ
0.3. pingを、Wiresharkを起動しているホストに対して行います。
ping
0.4. WiresharkにICMPが記録されていることを確認します。
ICMPが記録されていることを確認
0.5. Wiresharkのパケットキャプチャを終了します。
0.6. わかりやすさのため、1つのICMPリクエストのみを表示させます。
具体的には、”Filter”に”frame.number == ICMPリクエストのフレームナンバー”と入力します。
ディスプレイフィルタ
0.7. File –> Export Specified Packetsをクリックします。
Export Specified Packets
0.7. *.pcap形式でファイルを保存します。
pcap形式で保存

1. Wiresharkでキャプチャしたパケットを、Ostinatoで編集
1.1. ostinato.exeを起動します。
ostinato.exe
1.2. Port Groupをクリックし、ポートを選択します。
Portを選択
1.3. 右上のウィンドウを右クリックし、”Open Streams”を選択します。
Open Streams
1.4. Wiresharkでキャプチャ・保存したpcapファイルを開きます。
保存したpcapファイルを開く
1.5. 以下のウィンドウが出てきたら、”OK”をクリックします。

1.6. 新しくできた行を右クリックし、Edit Streamをクリックします。
Edit Stream
1.7. パケットの編集を行います。
今回は、HexDumpの部分を変更してみます。
”Protocl Data”のタブをクリック –> HexDumpとたどり、”74 65 73 74” (=test)と変更し、OKを押します。
変更前はこのような感じです。
変更前
変更後はこのような感じです。
変更後
1.8. 変更を反映させるために”Apply”をクリックします。
Apply

2. 編集したパケットを送信
2.0. 本当に変更されたのかを確認するために、Wiresharkを起動します。
わかりやすさのため、”Filter”に”icmp”と入力し、ICMPのみを表示させるようにします。
ディスプレイフィルタ
2.1. Ostinatoの画面で、下の画面のPortを選択し、”Start Tx”(= 一番左のボタン)をクリックします。
Start Tx
2.2. Wiresharkの画面で、ICMPが表示され、”test”と表示されており編集したパケットが送信されたことが確認できます。
編集したパケットが送信された

・補足
Ostinatoは、(Wiresharkでキャプチャしたパケットの編集することなく)ゼロからパケットを作成することもできます。
その際は、上記1.3. の”Open Streams”の代わりに”New Stream”を選択します。
New Stream

リンク
・ostinato
http://code.google.com/p/ostinato/
・Ostinato capture > edit > replay (英語)
Ostinatoを紹介したブログです。
http://trycatch.be/blogs/decaluwet/archive/2011/10/31/ostinato-capture-gt-edit-gt-replay.aspx


  1. 2012/12/13(木) 14:20:53|
  2. Wireshark
  3. | トラックバック:0
  4. | コメント:2
<<デスクトップの右クリックからロック・スリープ・シャットダウン・再起動 | ホーム | 共にフリーで使えるJustDecompileとReflexilで、.NETアセンブリの編集>>

コメント

主さんにならってicmpパケットをostinateで開いてみましたがヘッダ情報を読み取れずに全てhexdumpとして処理されますね。"Unable to tshark, check path in preferences"という警告文も出るけれどそれと関係あるんでしょうか。
  1. 2014/11/06(木) 00:48:16 |
  2. URL |
  3. できないくん #skMrwbAU
  4. [ 編集 ]

今更ながら横から失礼します。
"Unable to tshark, check path in preferences"の警告文ですが、
ostinato.iniのTsharkPathが通っていないのが原因かもしれません。
Wiresharkをインストール済みでしたら、iniファイルを直接編集するか、[File]→[Preferences]でtshark.exeのファイルパスを設定しなおしてみてください。

余談ですがWireshark2をインストールしている環境ですと、[Open Streams]に"Error processing PDML (1, 21): Encounted incorrectly encoded content."と警告文が出て失敗しました。
同じ現象が発生している方はご注意を。
  1. 2016/01/21(木) 13:46:21 |
  2. URL |
  3. Bladean Mericle #nBkvOD1k
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/93-a3c061a2
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (114)
ネットワーク (54)
Wireshark (48)
AD (36)
Linux (45)
WinDbg (46)
SOS・Psscor2/Psscor4 (25)
Visual Studio (56)
Tips (32)
コンテナ (4)
Azure (17)
.NET (24)
Python (9)
Java (5)
SQL (6)
事例 (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する