dn42/nodes/hel1/netcheck.sh
2020-04-04 14:34:41 +02:00

152 lines
3.8 KiB
Bash
Executable file

#!/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}"
pingtest "172.22.159.62" "fdfc:694e:234f::affa"
pingtest "172.20.177.33" "fdff:b02d:2ef7::2"
pingtest "172.20.177.34" "fdff:b02d:2ef7::3"
pingtest "172.20.177.36" "fdff:b02d:2ef7::5"
webtest nbg1.dn42.zotan.network
webtest4 ip4.dn42
webtest6 ip6.dn42
dnspingtest "burble.dn42"