欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务端口快扫shell

程序员文章站 2022-07-14 10:11:03
...
#set -x
var_start=8000
array=()
index=0
while [ 1 ]
do
        array=$(curl -s "http://*.*.*.*:8080/disk_info/storeunit_ip")
        for ip in ${array[@]}
        do
                result=$(sudo nmap -sS -P0 -n -p8001-8036 $ip | grep open| wc -l | grep -v ssh | grep -v Failed |sed 's/\r//');
                if [ "$result" = "0" ] ; then
                        echo curl
                        curl -i 'http://*.*.*.*:8080/alarm?k='$ip'&v=all+store-unit+closed&l=FATAL'
                        continue
                fi
                closemsg=$(sudo nmap -sS -P0 -n -p8001-8036 $ip | grep close | awk -F'/' '{print $1}' | grep -v ssh |  grep -Eo '[0-9]{1,5}' );
                if [ $(expr length "$closemsg") -eq 2 ];then
                        echo $ip" port count $closemsg all closed"
                        curl -i 'http://*.*.*.*:8080/alarm?k='$ip'&v=port+count+'$closemsg'+all+closed&l=FATAL'
                        continue
                fi
                if [ "$closemsg" = "36" ] ; then
                        echo $ip" all 8001-8036 all closed"
                        curl -i 'http://*.*.*.*:8080/alarm?k='$ip'&v=all+8001-8036+all+closed&l=FATAL'
                        continue
                fi
                for close_port in $closemsg
                do
                        curl -i 'http://*.*.*.*:8080/alarm?k='$ip:$close_port'&v=port+closed&l=WARN'
                        echo $ip" port count:"$result" close port:"$close_port
                done
        done
        sleep 60
done