#!/bin/bash if [ "$2" == "-c" ];then blue="\e[34m" red="\e[31m" norm="\e[0m" else blue="" red="" norm="" fi declare -a hosts=("serverhost" "workhost" "quiethost" "localhost") if [ "$#" -eq 0 ];then printf "Arguments: hosts, netw\n" fi if [ "$1" == "hosts" ];then for host in "${hosts[@]}"; do ping -c 2 -W 1 $host > /dev/null if [ $? -eq 0 ]; then printf "%s\t\t[$blue UP$norm ]\n" "$host" | sed "s/localhost/$(hostname)/g" else printf "%s\t\t[$red DOWN$norm ]\n" "$host" fi done elif [ "$1" == "netw" ];then if [ "$(ifconfig | grep -A2 eth0 | grep inet)" != "" ]; then if="eth0" elif [ "$(ifconfig | grep -A2 wlan0 | grep inet)" != "" ]; then if="wlan0" fi #netw="$(ifconfig $if | grep -m1 -o -P '(?<=inet ).*(?= netmask)' | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.')" netw="$( ifconfig $if | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.' | grep -m1 -v 255)" for i in {1..254}; do ping -c 1 -W 1 $netw$i > /dev/null if [ $? -eq 0 ]; then # hostname="$(ssh 10.0.0.$i hostname)" # if [ ! $? -eq 0 ]; then hostname="$(nbtscan 10.0.0.$i | grep -A1 "\-\-\-\-\-" | sed 's/ */ /g' | cut -d' ' -f2 | grep '[A-Za-z]')" # fi printf "10.0.0.%s\t[$blue UP$norm ]\t%s\n" "$i" "$hostname" fi done fi