当前位置:网站首页 / FRP教程 / 正文

检测远程frps上的端口是否在线自动发送邮件脚本

时间:2020年04月11日 | 作者 : liuhui | 分类 : FRP教程 | 浏览: 4742次 | 评论 0

阿里云限量代金券 | 此广告位出租25元/月

由于frps经常会出现离线现象,为了及时获取frps状态,用邮件通知的方式最为合适了,下面是脚本代码

新建一个脚本mail.sh将下面的代码复制进去

#!/bin/bash
export LD_LIBRARY_PATH=./
host="frpzj.kskxs.com"
port="2333"

let status=2
while true; do
pos_num=`nmap -Pn $host -p $port|grep "/tcp open"|wc -l`

echo status=$status, pos_num=$pos_num

if [ $status -ne $pos_num ] && [ $pos_num -eq 0 ]
then    
{

	echo host:$host port:$port 'offline' | mail -s 'frp server offline' test0001@qq.com
	let status=$pos_num
	
} else {

let status=$pos_num

}

fi
sleep 10
done

使用方法

screen -S mail
bash ./mail.sh

这个脚本会监控你设置的服务器端口号,只要端口离线超过15秒,就会马上发邮件到你设置的邮箱里。注意将脚本里的host和port字段改成你自己的服务器地址和端口,并将test0001@qq.com替换为你自己接收报警邮件的邮箱

此脚本依赖nmap命令和mailx,安装方法传送门:nmap安装方法https://diannaobos.com/post/933.html mailx安装方法https://diannaobos.com/post/938.html 

如果想改成检测本地端口可以将nmap命令换成下面的netstat命令即可

netstat -nl |grep 202|grep ":::202"|wc -l

感谢网友☆夢幻煋涳☆提供的帮助让我完成了这个shell脚本!

推荐您阅读更多有关于“”的文章

猜你喜欢

网站分类
关注电脑博士
友情链接

分享:

支付宝

微信