<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></title> 
<link>https://www.cnmysql.com/index.php</link> 
<description><![CDATA[关注服务器运维技术、DB优化、Docker虚拟化、自动化运维、工作积累]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></copyright>
<item>
<link>https://www.cnmysql.com/post//</link>
<title><![CDATA[网站日志统计分析shell]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[WEB技术]]></category>
<pubDate>Mon, 05 Jan 2015 07:27:57 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//</guid> 
<description>
<![CDATA[ 
	<span style="font-family: 宋体;"><span style="font-size: 12px;"><br/>状态码统计<br/>cat access.log &#124; cut -d '"' -f3 &#124; cut -d ' ' -f2 &#124; sort &#124; uniq -c &#124; sort -r<br/><br/>1、查看独立IP访问<br/>cat&nbsp;&nbsp;access.log &#124; awk -F'-' '&#123; print $1 &#125;'&#124; uniq -c &#124; wc -l<br/>netstat -nat &#124;awk '&#123;print $6&#125;'&#124;sort&#124;uniq -c&#124;sort -rn <br/>netstat -anlp&#124;grep 80&#124;grep tcp&#124;awk '&#123;print $5&#125;'&#124;awk -F: '&#123;print $1&#125;'&#124;sort&#124;uniq -c&#124;sort -nr&#124;head -n20<br/><br/>4.查找较多time_wait连接<br/>netstat -n&#124;grep TIME_WAIT&#124;awk '&#123;print $5&#125;'&#124;sort&#124;uniq -c&#124;sort -rn&#124;head -n20<br/><br/>5.找查较多的SYN连接<br/>netstat -an &#124; grep SYN &#124; awk '&#123;print $5&#125;' &#124; awk -F: '&#123;print $1&#125;' &#124; sort &#124; uniq -c &#124; sort -nr &#124; more<br/><br/>查看当前ip 0点时段访问最高的页面<br/>cat access_log &#124; grep "19/Dec/2014:00" &#124; grep "119.5.89.181" &#124; awk '&#123;print $13&#125;' &#124; sort &#124; uniq -c &#124; sort -nr &#124; head -n 10<br/><br/>网站日志分析篇1（Apache）：<br/><br/>1.获得访问前10位的ip地址<br/>cat access.log&#124;awk '&#123;print $1&#125;'&#124;sort&#124;uniq -c&#124;sort -nr&#124;head -10<br/>cat access.log&#124;awk '&#123;counts[$(11)]+=1&#125;; END &#123;for(url in counts) print counts[url], url&#125;'<br/><br/>2.访问次数最多的文件或页面,取前20<br/>cat access.log&#124;awk '&#123;print $11&#125;'&#124;sort&#124;uniq -c&#124;sort -nr&#124;head -20<br/><br/>3.列出传输最大的几个exe文件（分析下载站的时候常用）<br/>cat access.log &#124;awk '($7~/&#92;.exe/)&#123;print $10 " " $1 " " $4 " " $7&#125;'&#124;sort -nr&#124;head -20<br/><br/>4.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数<br/>cat access.log &#124;awk '($10 > 200000 && $7~/&#92;.exe/)&#123;print $7&#125;'&#124;sort -n&#124;uniq -c&#124;sort -nr&#124;head -100<br/><br/>5.如果日志最后一列记录的是页面文件传输时间，则有列出到客户端最耗时的页面<br/>cat access.log &#124;awk&nbsp;&nbsp;'($7~/&#92;.php/)&#123;print $NF " " $1 " " $4 " " $7&#125;'&#124;sort -nr&#124;head -100<br/><br/>6.列出最最耗时的页面(超过60秒的)的以及对应页面发生次数<br/>cat access.log &#124;awk '($NF > 60 && $7~/&#92;.php/)&#123;print $7&#125;'&#124;sort -n&#124;uniq -c&#124;sort -nr&#124;head -100<br/><br/>7.列出传输时间超过 30 秒的文件<br/>cat access.log &#124;awk '($NF > 30)&#123;print $7&#125;'&#124;sort -n&#124;uniq -c&#124;sort -nr&#124;head -20<br/><br/>8.统计网站流量（G)<br/>cat access.log &#124;awk '&#123;sum+=$10&#125; END &#123;print sum/1024/1024/1024&#125;'<br/><br/>9.统计404的连接<br/>awk '($9 ~/404/)' access.log &#124; awk '&#123;print $9,$7&#125;' &#124; sort<br/><br/>10. 统计http status.<br/>cat access.log &#124;awk '&#123;counts[$(9)]+=1&#125;; END &#123;for(code in counts) print code, counts[code]&#125;'<br/>cat access.log &#124;awk '&#123;print $9&#125;'&#124;sort&#124;uniq -c&#124;sort -rn<br/><br/>10.蜘蛛分析<br/>查看是哪些蜘蛛在抓取内容。<br/>/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 &#124; strings &#124; grep -i user-agent &#124; grep -i -E 'bot&#124;crawler&#124;slurp&#124;spider'<br/><br/>SHELL短语<br/>1、查看当天有多少个IP访问：<br/>awk '&#123;print $1&#125;' log_file&#124;sort&#124;uniq&#124;wc -l<br/><br/>2、查看某一个页面被访问的次数：<br/>grep "/index.php" log_file &#124; wc -l<br/><br/>3、查看每一个IP访问了多少个页面：<br/>awk '&#123;++S[$1]&#125; END &#123;for (a in S) print a,S[a]&#125;' log_file<br/><br/>4、将每个IP访问的页面数进行从小到大排序：<br/>awk '&#123;++S[$1]&#125; END &#123;for (a in S) print S[a],a&#125;' log_file &#124; sort -n<br/><br/>5、查看某一个IP访问了哪些页面：<br/>grep ^111.111.111.111 log_file&#124; awk '&#123;print $1,$7&#125;'<br/><br/>6、去掉搜索引擎统计当天的页面：<br/>awk '&#123;print $12,$1&#125;' log_file &#124; grep ^&#92;"Mozilla &#124; awk '&#123;print $2&#125;' &#124;sort &#124; uniq &#124; wc -l<br/><br/>7、查看2009年6月21日14时这一个小时内有多少IP访问:<br/>awk '&#123;print $4,$1&#125;' log_file &#124; grep 21/Jun/2009:14 &#124; awk '&#123;print $2&#125;'&#124; sort &#124; uniq &#124; wc -l<br/><br/>8,查看apache进程:<br/>ps aux &#124; grep httpd &#124; grep -v grep &#124; wc -l<br/><br/>9,查看80端口的tcp连接:<br/>netstat -tan &#124; grep "ESTABLISHED" &#124; grep ":80" &#124; wc -l<br/><br/>10,通过日志查看当天ip连接数，过滤重复:<br/>cat access_log &#124; grep "20/Oct/2008" &#124; awk '&#123;print $2&#125;' &#124; sort &#124; uniq -c &#124; sort -nr<br/><br/>11,当天ip连接数最高的ip都在干些什么(原来是蜘蛛):<br/>cat access_log &#124; grep "20/Oct/2008:00" &#124; grep "122.102.7.212" &#124; awk '&#123;print $8&#125;' &#124; sort &#124; uniq -c &#124; sort -nr &#124; head -n 10<br/><br/>12,当天访问页面排前10的url:<br/>cat access_log &#124; grep "20/Oct/2008:00" &#124; awk '&#123;print $8&#125;' &#124; sort &#124; uniq -c &#124; sort -nr &#124; head -n 10<br/><br/>13,用tcpdump嗅探80端口的访问看看谁最高<br/>tcpdump -i eth0 -tnn dst port 80 -c 1000 &#124; awk -F"." '&#123;print $1"."$2"."$3"."$4&#125;' &#124; sort &#124; uniq -c &#124; sort -nr<br/><br/>接着从日志里查看该ip在干嘛:<br/>cat access_log &#124; grep 122.102.7.212&#124; awk '&#123;print $1"&#92;t"$8&#125;' &#124; sort &#124; uniq -c &#124; sort -nr &#124; less<br/><br/>14,查看某一时间段的ip连接数:<br/>grep "2006:0[7-8]" www20060723.log &#124; awk '&#123;print $2&#125;' &#124; sort &#124; uniq -c&#124; sort -nr &#124; wc -l<br/><br/></span><br/></span>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post//#blogcomment</link>
<title><![CDATA[[评论] 网站日志统计分析shell]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>