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.
48 lines
1007 B
48 lines
1007 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/xbin/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/xbin/httpurl --nethandle $nethandle "$url" |
|
done |
|
done
|
|
|