shell脚本实现批量端口扫描

旧巷老猫 提交于 2019-11-27 20:31:38
#!/bin/bash
# Telnet Batach
readonly TMOUT=3

ip_prefix="192.168"
ip_network_range="80-80"
ip_network_host_range="1-254"
port_range="445-445"
ports="135 445 3389 3306"
execute_num=3000


function telnet_batch()
{
  ip="$1"
  port="$2"
  script_ping='echo ""|telnet '$ip' '$port' 2> /dev/null|grep "Escape character is"&>/dev/null;[[ $? -eq 0 ]] && echo -e "\033[32m'$ip' '$port' yes\033[0m" || echo -e "\033[36m'$ip' '$port' no\033[0m">/dev/null'
  eval $script_ping &
}
function sleep_wait()
{
  sleep 2
  [[ $(ps -ef|wc -l) -ge $execute_num ]] && sleep_wait;
}

for port in $ports;do for i in `seq $(echo $ip_network_range|awk -F '-' '{print $1}') $(echo $ip_network_range|awk -F '-' '{print $2}')`;do [[ $(ps -ef|wc -l) -ge $execute_num ]] && sleep_wait;for j in `seq $(echo $ip_network_host_range|awk -F '-' '{print $1}') $(echo $ip_network_host_range|awk -F '-' '{print $2}')`;do telnet_batch "${ip_prefix}.${i}.${j}" "$port";done;done;done

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!