Bash program to find active ips

I am learning Ethical hacking and penetration testing these days, and thought to write something in blog so that it can be helpful for others.

So today i learned how to write a bash program to find active ips on your network.

here is the program, i will explain it below.

#!/bin/bash
if [ "$1" == "" ]
then
echo "Usage: ./ping.sh [network]"
echo "Example: ./ping.sh 192.168.1"
else
for x in {1..254} ; do
ping -c 1 $1.$x |grep "64 bytes"|cut -d" " -f4|sed 's/.$//'
done
fi

I won't go into the complete details , instead i am writing out only the problems i faced.

  1. first is the if command syntax , there is a space after if [ , it will give error if you write without space if[ 
  2. The seq command somehow didn't worked for me, (i am using ubuntu 17), so i used {1..254}, this command will let the variable take one value at a time from 1 to 254
  3. semi colon after the range is defined.
  4. must use a space after sed command i.e. sed 's/....'

That is all , it worked fine for me in ubuntu. striping the text that is not important to me and only showing me the ip addresses that are active in a given network.




CYB3RTR0N

No comments:

🚀 GRC in Action: Connecting Theory to Reality 🚀

  As part of my GRC studies with Inegben Academy, I'm applying the OCEG Red Book framework to real-world challenges. 1. Third Party Risk...