使用php脚本批量封IP
对于网络被攻击,管理员都希望能有简单而又有效的处理方式,使用shell也是个好办法,其他编程语言也都可以做到。今天我写个简单的php脚本来封IP。
在linux杀手锏之无效路由_route-add-or-del-host-ip-reject这篇日志里介绍了无效路由的block方法。
现在简单的介绍一下这个脚本的工作流程,首先他是读取apache2目录下的日志文件,我们可以先对攻击者的特征做出判断,然后把攻击者的IP列出来,放在一个文本文件,至于是awk或是sed的来抽取及如何判断,这个我想应该管理服务器的人会比我清楚。
我的测试文本文件是这样的:
- debian:~/test# cat ip.list
- www.baidu.com
- www.g.cn
- g.cn
- www.163.com
- www.sina.com
- www.qq.com
当然上面的地址只是测试用的,要是真这样做了,在重启之前那台执行脚本的机器就无法与上述的域名或IP通信了。
- #!/usr/bin/php -q
- <?php
- system("tail -n 5000 /var/log/apache2/access_log|awk '{print $1}' > /root/test/ip.list");
- $a = file("/root/test/ip.list");
- foreach ($a as $key=>$value)
- {
- #$cmd = "route del -host $value reject";
- $cmd = "route add -host $value reject";
- $cmd = str_replace("\n",'',$cmd);
- system($cmd);
- }
- echo "\n";
- ?>
如果是删除,当然是把add换成del,换掉注释就可以了。
当然,要完善还得加上log的记录及其他,有时间再补上。
技术文章~不错
技术文章,不错
谢谢来访,常联系哦!
很受用啊
您的友链我也已经做好了,o(∩_∩)o…哈哈
——————————————————————————
随便啊
http://www.SuiBianA.com
用自己的方式走的比别人更远|随便啊,就这样随变
您的友链已经做好了,呵呵…
我的链接也好了,常联系哦!