常用的小脚本
2015-07-29 14:08
260 查看
1、检查主机存活
2 、笨方法改密码
2.1命令行
根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。防火墙命令为:iptables-AINPUT -s 10.0.1.10 -j DROP。
netstat -an|grep EST|awk -F '[: ]+' '{print $6}'|sort|uniq -c
4、记录用户操作命令
/etc/profile 添加
本文出自 “jasperhsu” 博客,请务必保留此出处http://jasperhsu.blog.51cto.com/8953767/1679583
#!/bin/bash IP_RANGE="192.168.64." IP=$(seq 1 254) for i in $IP do (ping -c2 -w1 -i0.5 ${IP_RANGE}${i} >/dev/null 2>&1 if [ $? -eq 0 ] then echo "Host ${IP_RANGE}${i} is online" >> ./online.txt fi)& done
for i in `seq 255` ;do ping -c 1 192.168.64.$i >/dev/null 2>&1 && [[ $? = 0 ]]&&echo "ip:64.$i is up"||echo "ip:64.$i is down";done
nmap -sn 192.168.64.0/24|awk '/192/ {print $NF}'针对物理机:命令行
a="192.168.64.170 192.168.64.92 192.168.64.93 192.168.64.99 192.168.64.100 192.168.64.101 192.168.64.124 192.168.64.125 192.168.64.142 192.168.64.163 192.168.64.171 192.168.64.201 192.168.64.206 192.168.64.230 192.168.64.231 192.168.64.232 192.168.64.122 192.168.64.158 192.168.64.159 192.168.64.160 192.168.64.168 192.168.64.169 192.168.64.97 192.168.64.112 192.168.64.113 192.168.64.180" for i in $a ;do ping -c 1 $i >/dev/null 2>&1 && [[ $? = 0 ]]&&echo "ip:$i is up"||echo "ip:$i is down";done
2 、笨方法改密码
2.1命令行
echo 'passwd1'|passwd --stdin root;echo 'passwd2'|passwd --stdin user;echo 'passwd3'|passwd --stdin usersudo3、监控网络连接数
根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。防火墙命令为:iptables-AINPUT -s 10.0.1.10 -j DROP。
netstat -an|grep EST|awk -F '[: ]+' '{print $6}'|sort|uniq -c
#!/bin/bash log=/tmp/tmp.log [ -f $log ] || touch $log function add_iptables(){ whileread line do ip=`echo $line|awk '{print $2}'` count=`echo $line|awk '{print $1}'` if [ $count -gt 100 ] && [`iptables -L -n|grep "$ip"|wc -l` -lt 1 ] then iptables -I INPUT -s $ip -jDROP echo "$line isdropped" >>/tmp/droplist.log fi done<$log } function main(){ whiletrue do #awk '{print $1}' access.log|grep-v "^$"|sort|uniq -c >$log netstat -an|grep EST|awk -F '[:]+' '{print $6}'|sort|uniq -c >$log add_iptables sleep 180 done } main
4、记录用户操作命令
/etc/profile 添加
HISTSIZE=100 HISTTIMEFORMAT="%Y/%m/%d %T ";export HISTTIMEFORMA export HISTORY_FILE=/var/log/audit.log export PROMPT_COMMAND='{ thisHistID=`history 1|awk "{print \\$1}"`;lastCommand=`history 1| awk "{\\$1=\"\" ;print}"`;user=`id -un`;whoStr=(`who -u am i`);realUser=${whoStr[0]};logMonth=${whoStr[2]};logDay=${whoStr[3]};logTime=${whoStr[4]};pid=${whoStr[6]};ip=${whoStr[7]};if [ ${thisHistID}x != ${lastHistID}x ];then echo -E `date "+%Y/%m/%d %H:%M:%S"` $user\($realUser\)@$ip[PID:$pid][LOGIN:$logMonth $logDay $logTime] --- $lastCommand ;lastHistID=$thisHistID;fi; } >> $HISTORY_FILE'
本文出自 “jasperhsu” 博客,请务必保留此出处http://jasperhsu.blog.51cto.com/8953767/1679583
相关文章推荐
- 嵌入式C编程经验 之 全局变量
- eclipse或myEclipse修改jdk版本
- RRDTool(二)--update,graph
- OC特有语法—多态
- ElasticSearch 分页检索
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)
- 结构体struct sockaddr sockaddr_in
- Linux学习4_shell脚本学习
- 判断鼠标左键,右键点击
- 构建最小的docker registry镜像
- svn 使用(一个)
- 人见人爱A+B
- 生成二维码
- 关于RAID
- iOS实用代码片段
- Java程序设计之扑克牌
- 169.Majority Element (数组中出现次数超过一半的数)
- C#如何对多线程、多任务管理(demo)
- 详解C++中的指针、数组指针与函数指针
- android签名问题