You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1005 B
49 lines
1005 B
#!/bin/bash
|
|
|
|
nethandle=0
|
|
|
|
readonly TEST_HOST="connectivitycheck.gstatic.com"
|
|
readonly TEST_PATH="/generate_204"
|
|
readonly PREFIX=">>>"
|
|
|
|
function getUrls() {
|
|
if [ ! -z $(echo "$1" | sed -e 's/[^:]//g') ]; then
|
|
echo "http://[$1]$TEST_PATH"
|
|
echo "http://[$1]:80$TEST_PATH"
|
|
else
|
|
echo "http://$1$TEST_PATH"
|
|
echo "http://$1:80$TEST_PATH"
|
|
fi
|
|
}
|
|
|
|
function toHex() {
|
|
readonly local hexValue=$(bc -q 2>/dev/null << EOT
|
|
obase=16
|
|
$1
|
|
EOT
|
|
)
|
|
if [ ! -z "$hexValue" ]; then
|
|
echo "0x$hexValue"
|
|
fi
|
|
}
|
|
|
|
|
|
if [ ! -z "$1" ]; then
|
|
nethandle="$1"
|
|
fi
|
|
echo "$PREFIX Using nethandle $nethandle ($(toHex $nethandle))"
|
|
echo ""
|
|
|
|
readonly IPADDRESSES=$(
|
|
adb shell /system/bin/dnschk --nethandle $nethandle $TEST_HOST |
|
|
sed -e 's/#.*//' -e '/^$/d')
|
|
|
|
|
|
for host in $TEST_HOST $IPADDRESSES; do
|
|
urls=$(getUrls $host)
|
|
for url in $urls; do
|
|
echo "$PREFIX Checking $url" >&2
|
|
adb shell /system/bin/httpurl --nethandle $nethandle "$url"
|
|
done
|
|
done
|