多语言企业网站,网站建设百度百科,提供设计网站效果图,企业信息公示信息点击蓝字关注我们因公众号更改推送规则#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络#xff0c;侵删收集#xff0c;整理一些服务器日志分析命令#xff0c;可以用来分析自己网站服务器日志#xff0c;
看看网站的访问量。看看有没有黑阔搞破坏…点击蓝字关注我们因公众号更改推送规则请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络侵删收集整理一些服务器日志分析命令可以用来分析自己网站服务器日志
看看网站的访问量。看看有没有黑阔搞破坏大家可以试试1、查看有多少个IP访问awk {print $1} log_file|sort|uniq|wc -l2、查看某一个页面被访问的次数grep /index.php log_file | wc -l3、查看每一个IP访问了多少个页面awk {S[$1]} END {for (a in S) print a,S[a]} log_file log.txtsort -n -t -k 2 log.txt # 配合sort进一步排序4、将每个IP访问的页面数进行从小到大排序awk {S[$1]} END {for (a in S) print S[a],a} log_file | sort -n5、查看某一个IP访问了哪些页面grep ^111.111.111.111 log_file| awk {print $1,$7}6、去掉搜索引擎统计的页面awk {print $12,$1} log_file | grep ^\Mozilla | awk {print $2} |sort | uniq | wc -l7、查看2015年8月16日14时这一个小时内有多少IP访问:awk {print $4,$1} log_file | grep 16/Aug/2015:14 | awk {print $2}| sort | uniq | wc -l8、查看访问前十个ip地址awk {print $1} |sort|uniq -c|sort -nr |head -10 access_loguniq -c 相当于分组统计并把统计数放在最前面cat access.log|awk {print $1}|sort|uniq -c|sort -nr|head -10cat access.log|awk {counts[$(11)]1}; END {for(url in counts) print counts[url], url}9、访问次数最多的10个文件或页面cat log_file|awk {print $11}|sort|uniq -c|sort -nr | head -10访问量最大的前20个ipcat log_file|awk {print $11}|sort|uniq -c|sort -nr|head -20awk {print $1} log_file |sort -n -r |uniq -c | sort -n -r | head -2010、通过子域名访问次数依据referer来计算稍有不准cat access.log | awk {print $11} | sed -e s/http:\/\/// -e s/\/.*// | sort | uniq -c | sort -rn | head -2011、列出传输大小最大的几个文件cat www.access.log |awk ($7~/\.php/){print $10 $1 $4 $7}|sort -nr|head -10012、列出输出大于200000byte(约200kb)的页面以及对应页面发生次数cat www.access.log |awk ($10 200000 $7~/\.php/){print $7}|sort -n|uniq -c|sort -nr|head -10013、如果日志最后一列记录的是页面文件传输时间则有列出到客户端最耗时的页面cat www.access.log |awk ($7~/\.php/){print $NF $1 $4 $7}|sort -nr|head -10014、列出最最耗时的页面(超过60秒的)的以及对应页面发生次数cat www.access.log |awk ($NF 60 $7~/\.php/){print $7}|sort -n|uniq -c|sort -nr|head -10015、列出传输时间超过 30 秒的文件cat www.access.log |awk ($NF 30){print $7}|sort -n|uniq -c|sort -nr|head -2016、列出当前服务器每一进程运行的数量倒序排列ps -ef | awk -F {print $8 $9} |sort | uniq -c |sort -nr |head -2017、查看apache当前并发访问数对比 httpd.conf 中 MaxClients 的数字差距多少netstat -an | grep ESTABLISHED | wc -l18、可以使用如下参数查看数据ps -ef|grep httpd|wc -l
1388统计 httpd 进程数连个请求会启动一个进程使用于 Apache 服务器。表示 Apache 能够处理 1388 个并发请求这个值 Apache 可根据负载情况自动调整netstat -nat|grep -i 80|wc -l
4341netstat -an 会打印系统当前网络链接状态而 grep -i 80 是用来提取与 80 端口有关的连接的wc -l 进行连接数统计。最终返回的数字就是当前所有 80 端口的请求总数netstat -na|grep ESTABLISHED|wc -l
376netstat -an 会打印系统当前网络链接状态而 grep ESTABLISHED 提取出已建立连接的信息。然后 wc -l 统计最终返回的数字就是当前所有 80 端口的已建立连接的总数。netstat -nat||grep ESTABLISHED|wc可查看所有建立连接的详细记录19、输出每个ip的连接数以及总的各个状态的连接数netstat -n | awk /^tcp/ {nsplit($(NF-1),array,:);if(n2)S[array[(1)]];elseS[array[(4)]];s[$NF];N} END {for(a in S){printf(%-20s %s\n, a, S[a]);I}printf(%-20s %s\n,TOTAL_IP,I);for(a in s) printf(%-20s %s\n,a, s[a]);printf(%-20s %s\n,TOTAL_LINK,N);}20、其他的收集分析日志文件下 2012-05-04 访问页面最高 的前20个 URL 并排序cat access.log |grep 04/May/2012| awk {print $11}|sort|uniq -c|sort -nr|head -20查询受访问页面的URL地址中 含有 www.abc.com 网址的 IP 地址cat access_log | awk ($11~/\www.abc.com/){print $1}|sort|uniq -c|sort -nr获取访问最高的10个IP地址 同时也可以按时间来查询cat linewow-access.log|awk {print $1}|sort|uniq -c|sort -nr|head -10时间段查询日志时间段的情况cat log_file | egrep 15/Aug/2015|16/Aug/2015 |awk {print $1}|sort|uniq -c|sort -nr|head -10分析2015/8/15 到 2015/8/16 访问 /index.php?gMembermPublicasendValidCode 的IP倒序排列cat log_file | egrep 15/Aug/2015|16/Aug/2015 | awk {if($7 /index.php?gMembermPublicasendValidCode) print $1,$7}|sort|uniq -c|sort -nr($7~/.php/) $7里面包含.php的就输出,本句的意思是最耗时的一百个PHP页面cat log_file |awk ($7~/\.php/){print $NF $1 $4 $7}|sort -nr|head -100列出最最耗时的页面(超过60秒的)的以及对应页面发生次数cat access.log |awk ($NF 60 $7~/\.php/){print $7}|sort -n|uniq -c|sort -nr|head -100统计网站流量G)cat access.log |awk {sum$10} END {print sum/1024/1024/1024}统计404的连接awk ($9 ~/404/) access.log | awk {print $9,$7} | sort统计http statuscat access.log |awk {counts[$(9)]1}; END {for(code in counts) print code, counts[code]}
cat access.log |awk {print $9}|sort|uniq -c|sort -rn每秒并发watch awk {if($9~/200|30|404/)COUNT[$4]}END{for( a in COUNT) print a,COUNT[a]} log_file|sort -k 2 -nr|head -n10带宽统计cat apache.log |awk {if($7~/GET/) count}END{print client_requestcount}
cat apache.log |awk {BYTE$11}END{print client_kbyte_outBYTE/1024KB}找出某天访问次数最多的10个IPcat /tmp/access.log | grep 20/Mar/2011 |awk {print $3}|sort |uniq -c|sort -nr|head当天ip连接数最高的ip都在干些什么cat access.log | grep 10.0.21.17 | awk {print $8} | sort | uniq -c | sort -nr | head -n 10小时单位里ip连接数最多的10个时段awk -vFS[:] {gsub(-.*,,$1);num[$2 $1]}END{for(i in num)print i,num[i]} log_file | sort -n -k 3 -r | head -10找出访问次数最多的几个分钟awk {print $1} access.log | grep 20/Mar/2011 |cut -c 14-18|sort|uniq -c|sort -nr|head取5分钟日志if [ $DATE_MINUTE ! $DATE_END_MINUTE ] ;then #则判断开始时间戳与结束时间戳是否相等START_LINEsed -n /$DATE_MINUTE/ $APACHE_LOG|head -n1
#如果不相等则取出开始时间戳的行号与结束时间戳的行号查看tcp的链接状态netstat -nat |awk {print $6}|sort|uniq -c|sort -rn netstat -n | awk /^tcp/ {S[$NF]};END {for(a in S) print a, S[a]} netstat -n | awk /^tcp/ {state[$NF]}; END {for(key in state) print key,\t,state[key]} netstat -n | awk /^tcp/ {arr[$NF]};END {for(k in arr) print k,\t,arr[k]} netstat -n |awk /^tcp/ {print $NF}|sort|uniq -c|sort -rn netstat -ant | awk {print $NF} | grep -v [a-z] | sort | uniq -cnetstat -ant|awk /ip:80/{split($5,ip,:);S[ip[1]]}END{for (a in S) print S[a],a} |sort -n netstat -ant|awk /:80/{split($5,ip,:);S[ip[1]]}END{for (a in S) print S[a],a} |sort -rn|head -n 10 awk BEGIN{printf (http_code\tcount_num\n)}{COUNT[$10]}END{for (a in COUNT) printf a\t\tCOUNT[a]\n}查找请求数前20个IP常用于查找攻来源 netstat -anlp|grep 80|grep tcp|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk /:80/{split($5,ip,:);A[ip[1]]}END{for(i in A) print A[i],i} |sort -rn|head -n20用tcpdump嗅探80端口的访问看看谁最高tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F. {print $1.$2.$3.$4} | sort | uniq -c | sort -nr |head -20查找较多time_wait连接netstat -n|grep TIME_WAIT|awk {print $5}|sort|uniq -c|sort -rn|head -n20找查较多的SYN连接netstat -an | grep SYN | awk {print $5} | awk -F: {print $1} | sort | uniq -c | sort -nr | more根据端口列进程 netstat -ntlp | grep 80 | awk {print $7} | cut -d/ -f1查看了连接数和当前的连接数netstat -ant | grep $ip:80 | wc -l
netstat -ant | grep $ip:80 | grep EST | wc -l查看IP访问次数 netstat -nat|grep :80|awk {print $5} |awk -F: {print $1} | sort| uniq -c|sort -nLinux命令分析当前的链接状况netstat -n | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}watch netstat -n | awk /^tcp/ {S[\$NF]} END {for(a in S) print a, S[a]}
# 通过watch可以一直监控LAST_ACK 5 #关闭一个TCP连接需要从两个方向上分别进行关闭双方都是通过发送FIN来表示单方向数据的关闭当通信双方发送了最后一个FIN的时候发送方此时处于LAST_ACK状态当发送方收到对方的确认Fin的Ack确认后才真正关闭整个TCP连接
SYN_RECV 30 # 表示正在等待处理的请求数
ESTABLISHED 1597 # 表示正常数据传输状态
FIN_WAIT1 51 # 表示server端主动要求关闭tcp连接
FIN_WAIT2 504 # 表示客户端中断连接
TIME_WAIT 1057 # 表示处理完毕等待超时结束的请求数如果你年满18周岁以上又觉得学【C语言】太难想尝试其他编程语言那么我推荐你学Python现有价值499元Python零基础课程限时免费领取限10个名额▲扫描二维码-免费领取戳“阅读原文”我们一起进步