2020-01-13 21:44:14 +00:00
|
|
|
|
#!/bin/bash
|
2019-03-20 10:09:07 +00:00
|
|
|
|
|
|
|
|
|
# Run as root only.
|
|
|
|
|
myWHOAMI=$(whoami)
|
|
|
|
|
if [ "$myWHOAMI" != "root" ]
|
|
|
|
|
then
|
|
|
|
|
echo "Need to run as root ..."
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
|
2017-09-26 15:15:17 +00:00
|
|
|
|
myPARAM="$1"
|
2022-02-11 10:32:31 +00:00
|
|
|
|
if [[ $myPARAM =~ ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$ ]];
|
|
|
|
|
then
|
|
|
|
|
watch --color -n $myPARAM "dps.sh"
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Show current status of T-Pot containers
|
2018-06-14 11:59:07 +00:00
|
|
|
|
myCONTAINERS="$(cat /opt/tpot/etc/tpot.yml | grep -v '#' | grep container_name | cut -d: -f2 | sort | tr -d " ")"
|
|
|
|
|
myRED="[1;31m"
|
|
|
|
|
myGREEN="[1;32m"
|
|
|
|
|
myBLUE="[1;34m"
|
|
|
|
|
myWHITE="[0;0m"
|
|
|
|
|
myMAGENTA="[1;35m"
|
|
|
|
|
|
2022-02-07 15:57:09 +00:00
|
|
|
|
# Blackhole Status
|
|
|
|
|
myBLACKHOLE_STATUS=$(ip r | grep "blackhole" -c)
|
|
|
|
|
if [ "$myBLACKHOLE_STATUS" -gt "500" ];
|
|
|
|
|
then
|
|
|
|
|
myBLACKHOLE_STATUS="${myGREEN}ENABLED"
|
|
|
|
|
else
|
|
|
|
|
myBLACKHOLE_STATUS="${myRED}DISABLED"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
function fuGETTPOT_STATUS {
|
|
|
|
|
# T-Pot Status
|
|
|
|
|
myTPOT_STATUS=$(systemctl status tpot | grep "Active" | awk '{ print $2 }')
|
2022-02-07 17:07:17 +00:00
|
|
|
|
if [ "$myTPOT_STATUS" == "active" ];
|
2022-02-07 15:57:09 +00:00
|
|
|
|
then
|
|
|
|
|
echo "${myGREEN}ACTIVE"
|
|
|
|
|
else
|
|
|
|
|
echo "${myRED}INACTIVE"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2018-06-14 11:59:07 +00:00
|
|
|
|
function fuGETSTATUS {
|
2019-02-04 16:24:21 +00:00
|
|
|
|
grc --colour=on docker ps -f status=running -f status=exited --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -v "NAME" | sort
|
2018-06-14 11:59:07 +00:00
|
|
|
|
}
|
2017-09-26 15:15:17 +00:00
|
|
|
|
|
|
|
|
|
function fuGETSYS {
|
2022-02-07 15:57:09 +00:00
|
|
|
|
printf "[ ========| System |======== ]\n"
|
|
|
|
|
printf "${myBLUE}%+11s ${myWHITE}%-20s\n" "DATE: " "$(date)"
|
2022-02-09 19:13:18 +00:00
|
|
|
|
printf "${myBLUE}%+11s ${myWHITE}%-20s\n" "UPTIME: " "$(grc --colour=on uptime)"
|
2022-02-07 15:57:09 +00:00
|
|
|
|
printf "${myMAGENTA}%+11s %-20s\n" "T-POT: " "$(fuGETTPOT_STATUS)"
|
|
|
|
|
printf "${myMAGENTA}%+11s %-20s\n" "BLACKHOLE: " "$myBLACKHOLE_STATUS${myWHITE}"
|
2017-09-26 15:15:17 +00:00
|
|
|
|
echo
|
|
|
|
|
}
|
|
|
|
|
|
2018-06-14 11:59:07 +00:00
|
|
|
|
myDPS=$(fuGETSTATUS)
|
|
|
|
|
myDPSNAMES=$(echo "$myDPS" | awk '{ print $1 }' | sort)
|
2017-09-26 15:15:17 +00:00
|
|
|
|
fuGETSYS
|
2018-06-14 11:59:07 +00:00
|
|
|
|
printf "%-21s %-28s %s\n" "NAME" "STATUS" "PORTS"
|
|
|
|
|
if [ "$myDPS" != "" ];
|
|
|
|
|
then
|
|
|
|
|
echo "$myDPS"
|
|
|
|
|
fi
|
|
|
|
|
for i in $myCONTAINERS; do
|
|
|
|
|
myAVAIL=$(echo "$myDPSNAMES" | grep -o "$i" | uniq | wc -l)
|
|
|
|
|
if [ "$myAVAIL" = "0" ];
|
|
|
|
|
then
|
|
|
|
|
printf "%-28s %-28s\n" "$myRED$i" "DOWN$myWHITE"
|
|
|
|
|
fi
|
|
|
|
|
done
|