昨天有个人想要我给他写一个可以 查看ShadowsocksR服务端每个端口的链接IP数 的脚本,我今天就写了个给他了,同时感觉这个脚本也可以发出来,又需要的人可以使用。
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
仅限 ShadowsocksR Python版服务端 使用。
脚本版本
Ver: 1.0.6
这个脚本的作用就是,会检测链接ShadowsocksR服务端的每个端口的链接IP数。
脚本有两种模式:一是检测并列出超过IP阈值的端口和链接IP信息;二是检测并列出所有端口和链接IP信息。
目前很多人还是使用着 兼容原版的协议,但是兼容原版意味着 协议参数的限制设备数无效,所以一些人没办法限制,可以用这个脚本进行查看。
这个脚本只是我帮助他人写的脚本,所以拿出来介绍一下(水一篇文章
这个脚本目前只能手动去执行检测,可以去加入定时任务定时检查,但是我不知道该用哪种方式通知你们,一般做代理的服务器都会封掉邮件端口来避免垃圾邮件,不用邮件的话也不知道该如何通知你们有端口超过IP阈值了,有意见的可以在下面留言~
安装步骤
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssr_ip_check.sh && chmod +x ssr_ip_check.sh
使用说明
脚本有两种模式:
bash ssr_ip_check.sh c # 检测并列出超过IP阈值的端口和链接IP信息(默认为 3) bash ssr_ip_check.sh a # 检测并列出所有端口和链接IP信息(实际是IP阈值为 1) bash ssr_ip_check.sh c y # IP后面显示IP的归属地 bash ssr_ip_check.sh a y # IP后面显示IP的归属地
输出结果如下:
当前时间:2017-04-20 12:12:05 4 CST 端口: 2333 ,IP总数: 3 ,IP: 1.1.1.1(XX归属地) 2.2.2.2(XX归属地) 3.3.3.3(XX归属地) 端口: 6666 ,IP总数: 5 ,IP: 4.4.4.4(XX归属地) 5.5.5.5(XX归属地) 6.6.6.6(XX归属地) 7.7.7.7(XX归属地) 8.8.8.8(XX归属地)
如果没有任何输出,那么说明没有超过阈值的端口信息
修改阈值
脚本一开头的第12行,有个变量是IP阈值,默认为IP_threshold=3
,如果想要修改阈值,可以打开文件手动修改,也可以用下面这个命令修改(注意把代码最后的6
改成你要的IP阈值)。
以下代码是完整的一行,请一起复制粘贴执行。
sed -i 's/'$(sed -n -e "12p" ssr_ip_check.sh)'/IP_threshold=6/g' ssr_ip_check.sh
其他说明
注意:本脚本中的 显示链接信息中的 获取IP归属地功能使用的是 IPIP.NET 的免费API接口,因为限速所以每秒只能检测一次,同时 IPIP.NET 的免费API接口并不会保证稳定性,可能什么时候就突然暂时失效了,这是本人不可控的,有条件可以自建API接口。
定时检测并记录到日志文件
当你需要定时检测IP数并记录到日志的时候,可以用 crontab来定时。
如何快捷的查询IP归属地
你可能需要查询一下正在链接某端口的 IP归属地,那么不需要复制出来再到 IP查询网站去查询,在VPS上用命令就可以操作(ipip.net)。
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
更新日志
2017年08月10日,版本 v1.0.6
1.修复 提示时间中 分钟 显示错误的问题。
转载请超链接注明:月下博客 » 『原创』一个可以检测ShadowsocksR 每个端口链接IP数的脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!