#!/bin/bash
#AUTHOR:minimal
#DATE: 20190402
#port detect version 2
#请提前自行安装nmap以及注册server酱
for ip in `cat /root/shellscripts/ip.txt` #自己写一个ip list文件/root/shellscripts/ip.txt,每行放一个你要监控的公网ip
do
nmap -sT -p 80,443 -Pn ${ip} >/tmp/port_scan.log #80,443也可以替换成其他端口,如果公网禁ping需要使用-Pn参数
if [ `grep -E "filtered|closed" /tmp/port_scan.log | wc -l` -ge 1 ]; then
c_port=`cat /tmp/port_scan.log | grep -E "filtered|closed" |awk '{print "port:",$1,"port status:",$2}'`
curl -d "text=某些公网ip关键端口被封啦&desp=${ip},${c_port},详细信息请使用nmap -sT -p 80,443 -Pn x.x.x.x来查询" "https://sc.ftqq.com/这里替换成你自己的SCKEY.send" >/dev/null 2>&1
fi
done
效果如下:
然后把脚本加入crontab即可,注意要有运行权限
server酱官网:http://sc.ftqq.com/3.version