Bash Script

Web Server Load Balance Tespiti

Penetration testlerinde kullanılmak üzere derlediğim basit bir script;

Amacı web sunucudan istenilen sayı kadar istek yapılmasını sağlamak ve sadece date bilgisi bize göstermek.

İki amaçlı kullanımı var eğer gelen zamanlarda farklılıklar görürseniz anlayabilirsinizki cevabı load amaçlı konulmuş bir baska server vermiştir. Load balance tespitinde kullanılabilecek bir araç. Diger bir amaç ise web serverınız üzerinde stress yaratmak içinde kullanılabilinir.

#!/bin/bash
# webserver time graber for Load blancing test
# writen by savas saygili
echo -e "\033[1;33m----------------------------------------------------------\033[0m" "\033[41m Usage\033[0m" "\033[1;33m-------------------------------------------------------\033[0m"
echo Usage ./checkdate.sh www.google.com
echo -e "\033[1;33m-------------------------------------\033[0m" "\033[41m Webserver Time Graber for Load blancing test\033[0m" "\033[1;33m-------------------------------------\033[0m"

TARGET=$1
TIMES=10
echo "Connecting to [$TARGET] [$TIMES] times";
for ((i=0; i<$TIMES; i++)); do
 echo -e 'HEAD / HTTP/1.0\r\n\r\n' | nc $TARGET 80 | grep 'Date:';
done

Diğer bir hoşuma giden strees test araçı ise curl kullanımı ile ilgili basit örnekler aşagıda verilmiştir.

curl -s "http://www.microsoft.com?[1-10]"

Yukarıdaki komut sayesinde web sayfasını 10 kez cağırmış olduk. [1-10000] yazarak sayfanın 10000 kere çağrılmasını sağlayabilirsiniz.

Yapılan testin performansını görmek için “time” komutu kullanılabilinir.

time curl -s "http://www.microsoft.com/?[1-1000]"

Curl ile ilgili verilen örnek kullanımlar http://servermonitoringhq.com sayfasından alınmıştır. Curl kullanımının ayrıntılı örneklerine orjinal sayfadan ulaşmak için aşağıdaki linke tıklayabilirsiniz.

How to quickly stress test a web server

Hi, I’m Savaş Saygılı