はちゅにっき

こっちのブログはまったり更新

Apache Killer をかいてみる

すっごい久しぶりに日記を書こうかと。
Apache Killer が騒がれてから、ずいぶん時間も経ったのでちょっと前のネタを投稿。

「うちのサーバも Apache Killer に対処しなきゃね。」

と騒いでいた頃に、検証用のために Apache Killer をダウンロードしてみたんだけれど、攻撃手段 *1 がスクリプト内にハードコードされていて、検証するたびにその部分を書き換えなきゃならなくて、ちょっとメンドクサイ。
ということで

Perl の勉強をしつつ、ちょっとモダンな Apache Killer を作ってみよう。」

という流れで作ってみました。不純な動機ですね。
工夫したところは。。。

  • Getopt::Long であらゆる項目を引数で受け渡せるように
  • HTTP リクエストを Furl を使う
  • FurlX::Coro で Coro 駆動にした
    • Parallel::ForkManager で Fork も可能

あんまりキレイには書けてないんだけど、とりあえず FW の機能などを検証するには充分な感じになりました。
あくようげんきんだよ!

*1:スレッド数や、リクエストのレンジ数