やろうとしていた内容がファジングと呼ばれるテスト手法だったことを初めて知りました。
まあ、はやりの呼び方なので何でも良い話ですが。。。。
今回は「wireplay」の準備です。
対象OS: CentOS5.9
wireplayとは
tcpreplyayはパケットを再送するのに対し、
wireplayはTCP などのように一連の流れがあるトラフィックを再現するツールらしい。
入手先
SVNをインストールしている端末でリポジトリブラウザのURL指定をして
下記参照できればチェックアウト。
(WindwosならTortoiseSVNなどもある)
http://wireplay.googlecode.com/svn/trunk/
ダメなら、ブラウザで1つ1つファイルを取得してください。
(階層も保持したまま)
入手するファイルの一覧はこちら
インストール
1.依存関係があるソフトのインストール
ruby
ruby-dev
libruby
libpcap
libpcap-dev
※libnetも必要らしいですが、コンパイル時に使わない設定とします。
インストール確認
2.wireplayのインストール
ダウンロードしたファイルを、「/root/tmp/wireplay」に配置しているものとする。
/root/tmp/wireplay/libnids-1.23/src/killtcp.cの修正(viなどで変更)
libnids-1.23のmake
/root/tmp/wireplay/Makefileの修正
(実機を確認の上、変更)
*1 対象パスにlsコマンドを実行してみて、実際にファイルが存在するか確認
*2 Ubuntuなどはそのままでもいけるらしい。(導入したRPMパッケージ
が悪かった?)
wireplayのmake
インストールパスが「/opt/wireplay/bin」なので、パスを通すか、パスが通っているところにリンクを張る。
リンクを張る場合の例:
使用例
自ホストにHTTP(80)のセッションを再現
インストール時に困ったエラーたち
1.libnids-1.23のconfigureでエラー
オプション無し
libglibのエラーが出るので使用しないようにオプション指定
libnetがインストールされていてもエラーが消えないので「--disable-libnet」を付加することにした。
2.wireplayのmake時にrubyがインストールされているのにエラー
rubyがインストールされていてもエラーが解消されない場合、Makefileのライブラリ名が違うのかもしれない。
その場合、Makefileの「LDFLAGS」で指定している文字列を修正。
変更前: -lruby1.8
変更後: -lruby
0 件のコメント:
コメントを投稿