昨日は、結局寮に帰りませんでした。
午前6時頃帰ろうかと思ったけど、そのまま友人とだらだらと
しゃべっていたら、7時になって帰る気がなくなった。
ところで、そんな中でふと思いついたこと。
サーバがアクセス過多で落ちるというのは、たまに聞きますが、
実際にサーバが落ちたというところを見たことがない。
一体、どういう現象を落ちたというべきなのか。
そういうわけで、せっかく今いる部屋に何台もの
コンピュータとギガビットのLANがあることだし、
実際にやってみよう、という話になった。
まず、Pentium3 850MHzほど + 256MByte + Windows XP +
100BaseのLANポートのマシンを用意。
それに対して、攻撃を加えたのが自分のマシン2台と
Pentium4 2.8C GHz + 1GByte + Windows XP + 1000Base
Core2 Duo 2.0GHz + 2GByte + Windows Vista + 1000Base
友人のマシン2台(Core2、Athlon 64)、共用で
置いてある1台(Pentium4)で攻撃を加えた。
よくよく考えてみると、攻撃対象以外、全部1000Baseに対応してるな。
あと、経路自体も1000Baseに対応しているので、これはひどい攻撃。
午前中のうちは、攻撃方法としてはabを使ってHTTPリクエストを
大量に投げる方法をやった。
攻撃対象の方では、PHP、ASP、MySQLなどを動かした。
結果はというと、Apache + PHPはすぐにCPU使用率が100%になってしまう。
それで、パソコンもフリーズしたような状態になって、ほとんど
操作が聞かなくなる。
意外と、IIS + ASPの組み合わせは丈夫ぽかった。
なんか、IISがアクセス過多で一部のアクセスはエラーページを返して見るみたい。
午後からは、ソフトを自分で作って攻撃。
最初のうちはそんなにひどく無かったのだけど、友人から情報を
得たりしていろいろとやっていくうちに、かなりやばいものができあがってしまった。
そのソフトを使うと、自分の積んでいるLANカードのスループットの最大値まで
相手側にデータを転送できる。もちろん、無効なデータだからデータ自体には意味はない。
ただ、これをやると、1000Baseのマシンでデータを受けても転送率が99%とか
滅多にないことが起きていたので、ほとんどのマシンは影響を受ける。
CPU使用率とかはそんなに高くならないけど、ネットワークの帯域が
無くなってしまうので、ネットのアクセスがしづらくなる。
さらに、いろいろとやって同一セグメント上のパソコン全部に攻撃を加えると
(同一LAN内での実験なので、実験することは言ってあります)
全てのマシンに100MBpsでデータが転送されていた。
おそらく、きっちりと100MBpsの値になっているので、どこかのネットワーク機器で
速度が抑えられてしまっているのだと思う。
そんなこんなで、昨日は遊んでいた。
結局、最初の疑問に対しての結論は特に出なかった。
ただ、後から気づいたのだけど、最後の同一セグメント上への攻撃で、
どうやら、ネットワーク上のプリンタが印刷できなくなるらしい。
再起動すれば戻るのだけど、再起動しないとネットワーク経由で
印刷を受け付けてくれない。。。
そうなると、これが落ちた状態だと言えるのかな?
あと、実験しているときにスイッチのランプとか
見てるとかなりやばい光かたしてます。
そんなところだろうか。
さて、今日は、午前中は買い物に行って、午後はWORDの記事を書いていた。
買い物で、帰ってきたらまた卵を1個割ってしまっていた orz
とりあえず、今回のWORDの記事は全部で15ページ。
文章自体は全部書いたので、あとは手直しなど。割合としては、3分の2くらい完了。
また、ページ数が多すぎるわな・・・。
あとは、今からプログラミング入門のレポートを30分くらいでやって、
線形の勉強少しと英語の暗記をやって、明日の予習をやろう。
委員会関係のメールもいくつかあるので、早めに片付けるようにしよう。
とりあえず、何とかなりそうなので一安心。
まぁ、後は気を抜かないようにがんばろう。