File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / arping / extra / arping-scan-net.sh
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 18 13:16:10 2016 UTC (7 years, 8 months ago) by misho
Branches: arping, MAIN
CVS tags: v2_21, v2_15_cross, v2_15, HEAD
arping v2.15

    1: #!/bin/sh
    2: # arping-scan-net.sh
    3: #
    4: #  Copyright (C) 2002 Thomas Habets <thomas@habets.se>
    5: #
    6: #  This program is free software; you can redistribute it and/or modify
    7: #  it under the terms of the GNU General Public License as published by
    8: #  the Free Software Foundation; either version 2 of the License, or
    9: #  (at your option) any later version.
   10: #
   11: #  This program is distributed in the hope that it will be useful,
   12: #  but WITHOUT ANY WARRANTY; without even the implied warranty of
   13: #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   14: #  GNU General Public License for more details.
   15: #
   16: #  You should have received a copy of the GNU General Public License along
   17: #  with this program; if not, write to the Free Software Foundation, Inc.,
   18: #  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   19: #
   20: 
   21: trap "exit 0" INT
   22: 
   23: if [ "$1" = "" ]; then
   24: 	echo
   25: 	echo "Usage: $0 <mac address>"
   26: 	echo ""
   27: 	echo "   Sorry, it's not more configurable than that, edit the source"
   28: 	echo
   29: 	exit 1
   30: fi
   31: TARGET_MAC="$1"
   32: 
   33: # seq doesnt exist on some retarded boxen, comment out if your box is too
   34: # stupid to have bc and/or tr
   35: seq() { echo "for (i=$1; i<=$2; i++) i;" | bc | tr "\012" " "; }
   36: 
   37: #
   38: # first number after 'seq' is range start, second is range end
   39: #
   40: # default is [192-192].[168-168].[0-0].[0-255]
   41: #
   42: #
   43: # I may put this functionality into ARPing one day if people seem to like it.
   44: #
   45: for a in $(seq 192 192); do
   46:     for b in $(seq 168 168); do
   47: 	for c in $(seq 0 0); do
   48: 	    for d in $(seq 0 255); do
   49: 		sh -c "arping -A -q -c 1 -T $a.$b.$c.$d $TARGET_MAC
   50: 		if [ \$? = 0 ]; then
   51: 		    echo Got answer with address: $a.$b.$c.$d
   52: 		fi" &
   53: 	    done
   54: 	    wait
   55: 	done
   56:     done
   57: done
   58: #exit 1
   59: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>