# Ping Broadcast # Francesco Latini # www.francescolatini.net IFCONFIG="/sbin/ifconfig" INTERFACE="eth0" IP=`$IFCONFIG $INTERFACE | grep "inet addr:" | awk {'print $2'} | sed {s/addr://g}` PING=`which ping` NUM="2" OPT="-c $NUM -b" BROADCAST=`$IFCONFIG $INTERFACE | grep "inet addr:" | awk '{ print $3}' | sed {s/Bcast://g}` IP2MATCH=`$IFCONFIG $INTERFACE | grep "inet addr:" | awk '{ print $3}' | sed {s/Bcast://g} | sed {s/.255//g}` RES_PING=`$PING $OPT $BROADCAST 2>/dev/null | grep -i 10.253.23 | grep -v PING | grep -v $IP | grep -v statistics | awk {'print $4'} | sed {s/://g}` NUM_RES_PING=`$PING $OPT $BROADCAST 2>/dev/null | grep -i 10.253.23 | grep -v statistics | grep -v PING | wc -l` echo -e "\nHostname: $HOSTNAME" for i in `$IFCONFIG $INTERFACE | grep -v "Local Loopback" | grep "Link encap" | awk {'print $1'}`; do echo -e "|_ $i" echo -e " \\_" echo -e " |_ mac: `/sbin/ifconfig $i | grep "HWaddr" | awk '{ print $5}'`" echo -e " |_ ip: `/sbin/ifconfig $i | grep "inet addr:" | awk '{ print $2}' | sed {s/addr://g}`" echo -e " |_ bcast: $BROADCAST" echo -e " |_ mask: `/sbin/ifconfig $i | grep "inet addr:" | awk '{ print $4}' | sed {s/Mask://g}`\n" done for p in $RES_PING; do ips=( "${ips[@]}" $RES_PING ) done for (( i=0; i<$NUM_RES_PING; i++ )); do for j in ${ips[$i]}; do echo -e "Host $i: ${ips[$i]}" done done