#!/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