29 lines
1.2 KiB
Bash
29 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# Host-routing probe: from inside ECS container to origin ALB IPs (direct, no CDN).
|
|
# Output: TYPE|ip|host|code|server|xpb|location|len|md5|title
|
|
N=0
|
|
emit() {
|
|
t=$1; ip=$2; ho=$3; hf=$4; bf=$5
|
|
code=$(grep -o '^HTTP/[0-9.]* [0-9][0-9][0-9]' "$hf" 2>/dev/null | head -1 | awk '{print $2}')
|
|
sv=$(grep -i '^server:' "$hf" 2>/dev/null | head -1 | tr -d '\r')
|
|
xp=$(grep -i '^x-powered-by:' "$hf" 2>/dev/null | head -1 | tr -d '\r')
|
|
lo=$(grep -i '^location:' "$hf" 2>/dev/null | head -1 | tr -d '\r')
|
|
ln=$(wc -c <"$bf" 2>/dev/null)
|
|
md=$(md5sum "$bf" 2>/dev/null | cut -c1-8)
|
|
ti=$(grep -o '<title>[^<]*' "$bf" 2>/dev/null | head -1 | cut -c8-70)
|
|
echo "$t|$ip|$ho|$code|$sv|$xp|$lo|$ln|$md|$ti"
|
|
}
|
|
probe() {
|
|
N=$((N+1)); hf=/tmp/hh.$N; bf=/tmp/bb.$N
|
|
curl -sk -m 8 -D "$hf" -o "$bf" -w '' -H "Host: $2" "https://$1/" >/dev/null 2>&1
|
|
emit V "$1" "$2" "$hf" "$bf"
|
|
}
|
|
for ip in 52.51.74.51 54.73.28.96; do
|
|
N=$((N+1)); hf=/tmp/hh.$N; bf=/tmp/bb.$N
|
|
curl -sk -m 8 -D "$hf" -o "$bf" "https://$ip/" >/dev/null 2>&1
|
|
emit DEF "$ip" none "$hf" "$bf"
|
|
for h in paystack.com dr.paystack.com beta.paystack.com website.production.paystack.co website.private.paystack.co blog.paystack.com cms.paystack.com; do
|
|
probe "$ip" "$h"
|
|
done
|
|
done
|
|
echo PROBEDONE
|