From 67c181b213519205fe0e7bac4646349652835dbb Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Thu, 27 Aug 2020 09:16:27 +0200 Subject: Update to p10k, and do some small updates --- bin/ping_subnet | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 bin/ping_subnet (limited to 'bin/ping_subnet') diff --git a/bin/ping_subnet b/bin/ping_subnet new file mode 100755 index 0000000..760d63b --- /dev/null +++ b/bin/ping_subnet @@ -0,0 +1,33 @@ +#!/bin/bash +first_ip=${1:-192.168.1.1} +last_ip=${2:-192.168.1.254} + +alternate_dotted_quad_to_integer() +{ + IFS="." read a b c d <<< `echo $1` + echo "($a * 256 * 256 * 256) + ($b * 256 * 256) + ($c * 256) + $d" | bc +} + +dotted_quad_to_integer() +{ + IFS="." read a b c d <<< `echo $1` + expr $(( (a<<24) + (b<<16) + (c<<8) + d)) +} + +integer_to_dotted_quad() +{ + local ip=$1 + let a=$((ip>>24&255)) + let b=$((ip>>16&255)) + let c=$((ip>>8&255)) + let d=$((ip&255)) + echo "${a}.${b}.${c}.${d}" +} + +start=$(dotted_quad_to_integer $first_ip) +end=$(dotted_quad_to_integer $last_ip) +for ip in `seq $start $end` +do + ( ping -c1 -w1 ${ip} > /dev/null 2>&1 && integer_to_dotted_quad ${ip} ) & +done +wait -- cgit v1.2.3