• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #!/bin/bash
2 
3 nethandle=0
4 
5 readonly TEST_HOST="connectivitycheck.gstatic.com"
6 readonly TEST_PATH="/generate_204"
7 readonly PREFIX=">>>"
8 
9 function getUrls() {
10     if [ ! -z $(echo "$1" | sed -e 's/[^:]//g') ]; then
11         echo "http://[$1]$TEST_PATH"
12         echo "http://[$1]:80$TEST_PATH"
13     else
14         echo "http://$1$TEST_PATH"
15         echo "http://$1:80$TEST_PATH"
16     fi
17 }
18 
19 function toHex() {
20     readonly local hexValue=$(bc -q 2>/dev/null << EOT
21 obase=16
22 $1
23 EOT
24 )
25     if [ ! -z "$hexValue" ]; then
26         echo "0x$hexValue"
27     fi
28 }
29 
30 
31 if [ ! -z "$1" ]; then
32     nethandle="$1"
33 fi
34 echo "$PREFIX Using nethandle $nethandle ($(toHex $nethandle))"
35 echo ""
36 
37 readonly IPADDRESSES=$(
38     adb shell /system/xbin/dnschk --nethandle $nethandle $TEST_HOST |
39     sed -e 's/#.*//' -e '/^$/d')
40 
41 
42 for host in $TEST_HOST $IPADDRESSES; do
43     urls=$(getUrls $host)
44     for url in $urls; do
45         echo "$PREFIX Checking $url" >&2
46         adb shell /system/xbin/httpurl --nethandle $nethandle "$url"
47     done
48 done
49