the previous implementation was a bit sluggish
This commit is contained in:
+2
-2
@@ -113,7 +113,7 @@ ms(){
|
|||||||
local colour="olbg"
|
local colour="olbg"
|
||||||
if [[ ${bytes[3]} == 255 ]]; then
|
if [[ ${bytes[3]} == 255 ]]; then
|
||||||
wait; [[ -f /tmp/ips ]] && { live=($(</tmp/ips)); live_count["total"]=$((live_count["total"]+${#live[@]})); } || live=()
|
wait; [[ -f /tmp/ips ]] && { live=($(</tmp/ips)); live_count["total"]=$((live_count["total"]+${#live[@]})); } || live=()
|
||||||
for ip in ${live[@]}; do for port in $(nc -zn -w2 $ip ${!keyports[@]} 2>&1 -vv | grep -i "open" | cut -d " " -f3 | tr "\n" " "); do keyports[$port]=$((${keyports[$port]}+1)); done; done
|
for ip in ${live[@]}; do for c in ${!keyports[@]}; do { ret=$(nc -zn -w2 $ip $c >/dev/null 2>&1; echo $?); [[ $ret == 0 ]] && echo $c >> /tmp/tcp_ports; } & done; done; wait; [[ -f /tmp/tcp_ports ]] && { disc_ports=($(</tmp/tcp_ports)); for port in ${disc_ports[@]}; do keyports[$port]=$((${keyports[$port]}+1)); done; rm -rf /tmp/tcp_ports; };
|
||||||
out=$(for port in ${!keyports[@]}; do [[ ${keyports[$port]} -ne 0 ]] && echo -n "${port}(${keyports[$port]}) "; done)
|
out=$(for port in ${!keyports[@]}; do [[ ${keyports[$port]} -ne 0 ]] && echo -n "${port}(${keyports[$port]}) "; done)
|
||||||
ir "Subnet" "Number of Hosts" "Open Ports" "${bytes[0]}.${bytes[1]}.${bytes[2]}.1/24" "${#live[@]}" "$out"
|
ir "Subnet" "Number of Hosts" "Open Ports" "${bytes[0]}.${bytes[1]}.${bytes[2]}.1/24" "${#live[@]}" "$out"
|
||||||
for port in ${!keyports[@]}; do keyports[$port]=0; done
|
for port in ${!keyports[@]}; do keyports[$port]=0; done
|
||||||
@@ -258,4 +258,4 @@ elif [[ $cidr ]]; then
|
|||||||
[[ ($RUN_NMAP == true) && -f /tmp/tcp_ports ]] && echo
|
[[ ($RUN_NMAP == true) && -f /tmp/tcp_ports ]] && echo
|
||||||
cl
|
cl
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
Reference in New Issue
Block a user