#!/bin/bash export RED='\033[0;31m' export GREEN='\033[0;32m' export GREY='\033[0;37m' export NC='\033[0m' # No Color fullpingtest(){ host=" ($(dig +short -x $1 | tail -n 1 | grep -Po '.*(?=\.)'))" if [[ $? -ne 0 ]]; then host="" fi timeout 1 ping -c 1 $1 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$1$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$1$host${GREY} is ${RED}down${NC}" fi host=" ($(dig +short -x $2 | tail -n 1 | grep -Po '.*(?=\.)'))" if [[ $? -ne 0 ]]; then host="" fi timeout 1 ping -6 -c 1 $2 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$2$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$2$host${GREY} is ${RED}down${NC}" fi host=" (v4)" timeout 1 ping -c 1 $3 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$3$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$3$host${GREY} is ${RED}down${NC}" fi host=" (v6)" timeout 1 ping -6 -c 1 $3 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$3$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$3$host${GREY} is ${RED}down${NC}" fi } pingtest(){ host=" ($(dig +short -x $1 | tail -n 1 | grep -Po '.*(?=\.)'))" if [[ $? -ne 0 ]]; then host="" fi timeout 1 ping -c 1 $1 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$1$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$1$host${GREY} is ${RED}down${NC}" fi host=" ($(dig +short -x $2 | tail -n 1 | grep -Po '.*(?=\.)'))" if [[ $? -ne 0 ]]; then host="" fi timeout 1 ping -6 -c 1 $2 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$2$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$2$host${GREY} is ${RED}down${NC}" fi } pingtest6(){ host=" ($(dig +short -x $1 | tail -n 1 | grep -Po '.*(?=\.)')" if [[ $? -ne 0 ]]; then host="" fi timeout 1 ping -6 -c 1 $1 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$1$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$1$host${GREY} is ${RED}down${NC}" fi } dnspingtest(){ host=" (v4)" timeout 1 ping -c 1 $1 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$1$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$1$host${GREY} is ${RED}down${NC}" fi host=" (v6)" timeout 1 ping -6 -c 1 $1 &>/dev/null if [[ $? -eq 0 ]]; then echo -e "[${GREEN}PASS${NC}]${GREY} Host ${NC}$1$host${GREY} is ${GREEN}up${NC}" else echo -e "[${RED}FAIL${NC}]${GREY} Host ${NC}$1$host${GREY} is ${RED}down${NC}" fi } webtest4(){ ip4=$(curl -s -4 --connect-timeout 1 $1) if [[ $? -eq 0 ]]; then echo -e "[${GREEN}INFO${NC}]${GREY} Your Source IPv4 to ${NC}$1${GREY} is ${GREEN}$ip4${NC}" else echo -e "[${GREEN}INFO${NC}]${GREY} Your Source IPv4 to ${NC}$1${GREY} is ${RED}unknown${NC}" fi } webtest6(){ ip6=$(curl -s -6 --connect-timeout 1 $1) if [[ $? -eq 0 ]]; then echo -e "[${GREEN}INFO${NC}]${GREY} Your Source IPv6 to ${NC}$1${GREY} is ${GREEN}$ip6${NC}" else echo -e "[${GREEN}INFO${NC}]${GREY} Your Source IPv6 to ${NC}$1${GREY} is ${RED}unknown${NC}" fi } webtest(){ webtest4 $1 webtest6 $1 } echo -e "[${GREEN}INFO${NC}]${GREY} Scan started on $(date "+%Y-%m-%d %H:%M:%S")${NC}" pingtest6 "fe80::42:2341:2%dn42p1" pingtest "172.20.53.97" "fe80::ade0%dn42p2" pingtest "172.20.175.193" "fe80::42%dn42p3" pingtest "172.20.177.33" "fdff:b02d:2ef7::2" pingtest "172.20.177.35" "fdff:b02d:2ef7::4" pingtest "172.20.177.36" "fdff:b02d:2ef7::5" webtest fsn1.dn42.zotan.network webtest4 ip4.dn42 webtest6 ip6.dn42 dnspingtest "burble.dn42"