Linux服务器管理Shell命令
2012-06-09 13:36:26 来源:WEB开发网 1.站点根目录下查找是否被放置webshell木马根据语句判断是不是PHP木马脚本
# find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decode|spider_bc”>/tmp/php.txt
# grep -r –include=*.php ‘[^a-z]eval($_POST’ > /tmp/eval.txt
#grep -r –include=*.php ‘file_put_contents(.*$_POST\[.*\]);’ > tmp/file_put_contents.txt
2.统计服务器访问日志中所有不同ip出现的次数
# cat access.log |awk ‘{print $4}’| sort | uniq -c |sort -rn
或者
#cat access.log | awk ‘{print $4}’ | sort -n | awk ‘{S[$NF]++} END {for(a in S) {print a”\t” S[a]}}’ | sort +1 -2nr
awk ‘{print $4}’ : 通过管道将第四个字段也就是ip地址筛选出来。
sort -n :将ip地址进行排序
awk ‘{S[$NF]++} END{for(a in S) {print a”\t” S[a]}}:
$NF是awk里的一个变量,代表最后一个字段的内容,由于这晨只有一个字段, 即:IP地址,所以$NF代表IP地址。
S[$NF]++里的S代表一个数组,然后统计IP地址出现的次数. 后面是一个for in 循环语句,将这个数组里的值和键打印出来。
sort +1 -2nr:以第二个字段,也就是每个IP的访问次数进行排序
3.分析出现次数最多的ip对网站的具体数据访问情况
# grep -e IP access.log > filename
# cat filename |awk ‘{print $8}’|sort|uniq -c|sort -rn
4.访问次数最多的文件或页面,取前20
# cat access.log|awk ‘{print $11}’|sort|uniq -c|sort -nr|head -20
5.列出传输最大的几个exe文件(分析下载站的时候常用)
# cat access.log |awk ‘($7~/\.exe/){print $10 ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -20
6.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数
# cat access.log |awk ‘($10 > 200000 && $7~/\.exe/){print $7}’|sort -n|uniq -c|sort -nr|head -100
7.如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面
# cat access.log |awk ‘($7~/\.php/){print $NF ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -100
8.列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
# cat access.log |awk ‘($NF > 60 && $7~/\.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100
9.列出传输时间超过 30 秒的文件
# cat access.log |awk ‘($NF > 30){print $7}’|sort -n|uniq -c|sort -nr|head -20
10.统计网站流量(G)
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
- ››Linux远程访问windows时,出现"连接被对端重...
- ››linux中使用head命令和tail命令查看文件中的指定行...
- ››linux swap 分区调控(swap分区 lvm管理)
更多精彩
赞助商链接