Shell脚本实现非法IP登陆自动报警
服务器的安全稳定是每个运维都希望达到的目标,毕竟网站一旦流量大了,访问高了,就会有一些无聊人来攻击,帮忙检测漏洞是好,但纯ddos的性质就很恶劣了.说远了,这篇文章只是检测有非法ip登录到服务器上就自动给运维报警,当然也可以改成短信报警,前提是你有短信网关.
#!/bin/bash
#该脚本作用是检测是否有恶意IP登陆服务器并邮件报警
#可以结合139邮箱以达到短信及时通知到手机的功能
#适用系统centos5
Ldate=`which date`
Lawk=`which awk`
Llast=`which last`
Lgrep=`which grep`
Lsendmail=`which sendmail`
Lifconfig=`which ifconfig`
serverip=`$Lifconfig eth0|$Lgrep inet|$Lawk -F : '{print $2}'|$Lawk '{print $1}'`
cutdate=`$Ldate |$Lawk '{print $1" "$2" "$3}'`
hackerip=`$Llast|$Lgrep "$cutdate"|$Lawk '{print $3}'|$Lgrep -v 192.168.1x.xx`
if [ -z $hackerip ]
then
exit
else
for logip in $hackerip
do
echo "hacker ip is $logip already login $serverip"|mail -s "SOS" rocdk890@139.com
done
fi
相关推荐
-
Shell脚本实现非法IP登陆自动报警
服务器的安全稳定是每个运维都希望达到的目标,毕竟网站一旦流量大了,访问高了,就会有一些无聊人来攻击,帮忙检测漏洞是好,但纯ddos的性质就很恶劣了.说远了,这篇文章只是检测有非法ip登录到服务器上就自动给运维报警,当然也可以改成短信报警,前提是你有短信网关. 复制代码 代码如下: #!/bin/bash #该脚本作用是检测是否有恶意IP登陆服务器并邮件报警 #可以结合139邮箱以达到短信及时通知到手机的功能 #适用系统centos5 Ldate=`which date` Lawk=`whic
-
Shell脚本实现判断IP地址是否在一个ip段内代码分享
cat ipcalc.sh #!/bin/bash IP=$1 if [ -z $IP ] then echo -e "\e[31;42m sh ipcalc.sh IP \e[0m" exit fi while read MASK do min=`/usr/bin/ipcalc $MASK|awk '/HostMin:/{print $2}'` max=`/usr/bin/ipcalc $MASK|awk '/HostMax:/{print $2}'` MIN=`echo $min|
-
Shell脚本中通过正则表达式匹配IP地址
在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址. shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现): 复制代码 代码如下: #!/bin/bash ip="1
-
使用shell脚本实现ping对应IP所对应的人名(推荐)
#!/bin/bash a=(张三 李四 王五 赵六) for i in {0..3} do if ping -c 1 192.168.1. $((${i}+1)) >dev/null 2>&1;then echo $((${i}+1))"号"${a[${i}]}"在线" else echo $((${i}+1))"号"${a[${i}]}"离线" fi done 这串shell代码实现了ping 某个IP
-
Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.Shell代码 #
-
Linux Shell脚本中获取本机ip地址方法
方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解析 ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息 grep inet 截取包含ip的行 grep -v 127.0.0.1 去掉本地指向的那行 grep -v inet6 去掉
-
Shell调用curl实现IP归属地查询的脚本
可用于shell环境进行IP归属地查询 #!/bin/bash #传入IP参数 IP=$1 #使用百度开放地址库 url="http://opendata.baidu.com/api.php?query=${IP}&co=&resource_id=6006&t=1412300361645&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery1
-
检测网段IP使用情况的shell脚本
复制代码 代码如下: #!/bin/bash#main---network=192.168.1ping_count=3IP=1:>IP_use:>IP_idle:>ping_actionecho "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......"while [ $IP -lt 255 ]dohost=$network.$IPecho "-------->开始检测$host服务器通迅是否正
-
Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
环境: ssh server: 192.168.100.29 server.example.com ssh client: 192.168.100.30 client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.
-
linux shell 脚本实现tcp/upd协议通讯(重定向应用)
前几天发了重定向以及管道相关使用方法,今天这里发些很有趣的例子.通过重定向实现基于tcp/udp协议的软件通讯. linux 设备里面有个比较特殊的文件: /dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口.如果主机以及端口存在,就建立一个socket 连接.将在,/proc/self/fd目录下面,有对应的文件出现. 一.测试下:/dev/tcp/host/post文件 [chengmo@centos5 sh
随机推荐
- asp dictionary对象的用法
- go语言简单网络程序实例分析
- jQuery实现伪分页的方法分享
- js QQ客服悬浮效果实现代码
- Dom 是什么的详细说明
- AngularJS ngModel实现指令与输入直接的数据通信
- 批处理 API实现文件下载的代码第1/2页
- ORACLE数据库空间整理心得
- iOS实现点击微信头像(放大、缩放、保存)效果
- php字符串过滤与替换小结
- SQL Server2008中删除重复记录的方法分享
- MSSQL存储过程学习笔记一 关于存储过程
- jquery tagname 取得方法
- Linux移动文件与目录-mv命令的10个实用例子
- Android用RecyclerView实现动态添加本地图片
- Struts2学习笔记(4)-通配符的使用
- 使用GetInvalidFileNameChars生成文件名
- 用Python写王者荣耀刷金币脚本
- 实例分析Java单线程与多线程
- jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例