Annotation of embedaddon/arping/extra/arping-scan-net.sh, revision 1.1.1.1

1.1       misho       1: #!/bin/sh
                      2: # arping-scan-net.sh
                      3: #
                      4: #  Copyright (C) 2002 Thomas Habets <thomas@habets.pp.se>
                      5: #
                      6: #  This library is free software; you can redistribute it and/or
                      7: #  modify it under the terms of the GNU General Public
                      8: #  License as published by the Free Software Foundation; either
                      9: #  version 2 of the License, or (at your option) any later version.
                     10: #
                     11: #  This library 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 GNU
                     14: #  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

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