Slightly modified and expanded version of this work: https://linuxconfig.org/bash-scripts-to-scan-and-monitor-network
PORTS="{80,443,22}" ./scan_ports.sh 192.168.{1..4}.{1..255}
./scan_ips.sh 192.168.{1..4}.{1..255}
Slightly modified and expanded version of this work: https://linuxconfig.org/bash-scripts-to-scan-and-monitor-network
PORTS="{80,443,22}" ./scan_ports.sh 192.168.{1..4}.{1..255}
./scan_ips.sh 192.168.{1..4}.{1..255}
#!/bin/bash | |
is_alive_ping() | |
{ | |
ping -c 1 $1 > /dev/null | |
local result=$? | |
local prefix="%s: " | |
local suffix="\n\x1b[0m" | |
[ $result -eq 0 ] && printf "$prefix \x1b[32mup$suffix" $1 | |
[ $result -gt 0 ] && printf "$prefix \x1b[31mdown$suffix" $1 | |
} | |
declare -a ips=( $@ ) | |
for ip in ${ips[@]} | |
do | |
is_alive_ping $ip & | |
done |
#!/bin/bash | |
is_open_nc() | |
{ | |
local prefix="%s:%s " | |
local suffix="\n\x1b[0m" | |
local result="$(echo "\n\n\n" | nc $1 $2)" | |
[ ${#result} -gt 0 ] && printf "$prefix\x1b[32m open$suffix" $1 $2 | |
[ ${#result} -eq 0 ] && printf "$prefix\x1b[31m closed$suffix" $1 $2 | |
} | |
declare -a ips=( $@ ) | |
declare -a ports="( $PORTS )" | |
for ip in ${ips[@]}; do | |
for port in ${ports[@]}; do | |
is_open_nc $ip $port & | |
done | |
done |