find local computers

Marty Landman MLandman at face2interface.com
Mon Mar 1 09:52:16 UTC 2004


I'm reposting my previous msg with the exec included as this might make 
things clearer./Marty

I recently wrote a bash script to find the active ip addr's on my lan by 
pinging every possibility on my class C network. This works nicely, only 
taking about 15 seconds of wall time to complete.

The code is:

#!/bin/bash

pingEm()
{
         echo "preparing pings"
         for((i=1;i<255;i++))
         do
                 echo "ping -c1 192.168.0.$i > $$/$i &" >> pingEmAll.$$
         done
         echo "start pinging"
         chmod +x pingEmAll.$$ && `./pingEmAll.$$`
}

findEm()
{
         for((i=1;i<255;i++))
         do
                 awk '/64 bytes from /' $$/$i > ans
                 awk '{ print length($0) }' ans > len
                 if [ `more len` ]
                 then
                         echo "$i is on the network"
                 fi
         done
}

mkdir $$ && pingEm
findEm
rm -r $$ & rm pingEmAll.$$ ans len

echo End of story


The output looks like this:

$ ./findIps
preparing pings
start pinging
1 is on the network
3 is on the network
7 is on the network
160 is on the network
240 is on the network
End of story
$

Is there any way that I could also discover the names of each of these 
active network locations?


Marty Landman   Face 2 Interface Inc.   845-679-9387
FormATable  DB: http://face2interface.com/Products/FormATable.shtml
Make a Website: http://face2interface.com/Home/Demo.shtml
Free Formmailer: http://face2interface.com/Products/Formal.shtml  





More information about the redhat-list mailing list