Apache Killer をかいてみる
すっごい久しぶりに日記を書こうかと。
Apache Killer が騒がれてから、ずいぶん時間も経ったのでちょっと前のネタを投稿。
「うちのサーバも Apache Killer に対処しなきゃね。」
と騒いでいた頃に、検証用のために Apache Killer をダウンロードしてみたんだけれど、攻撃手段 *1 がスクリプト内にハードコードされていて、検証するたびにその部分を書き換えなきゃならなくて、ちょっとメンドクサイ。
ということで
という流れで作ってみました。不純な動機ですね。
工夫したところは。。。
- Getopt::Long であらゆる項目を引数で受け渡せるように
- HTTP リクエストを Furl を使う
- FurlX::Coro で Coro 駆動にした
- Parallel::ForkManager で Fork も可能
あんまりキレイには書けてないんだけど、とりあえず FW の機能などを検証するには充分な感じになりました。
あくようげんきんだよ!
*1:スレッド数や、リクエストのレンジ数