Apache access_log日志分析技巧
本资源主要涉及的是如何对Apache服务器的access_log日志进行分析,以获取网站访问的各种统计信息,包括IP访问量、特定时间段的IP连接数、高频率访问的IP行为、热门URL以及网络流量监控等。 Apache的access_log日志记录了服务器上的每个HTTP请求详情,包括客户端IP、请求时间、请求方法、请求URL、HTTP状态码等信息,这些数据对于网站运营和系统管理员来说是非常有价值的。以下是对日志分析的具体步骤和用途: 1. 查看Apache进程:使用`ps aux | grep httpd | grep -v grep | wc -l`命令可以查看正在运行的Apache进程数量,确保服务正常运行。 2. 检查80端口TCP连接:`netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l`用于统计与80端口建立的活跃连接数量,有助于了解服务器负载情况。 3. 统计特定日期的IP连接数:例如,使用`cat access_log | grep "19/May/2011" | awk '{print $2}' | sort | uniq -c | sort -nr`可以找出2011年5月19日这一天的所有不同IP及其连接次数。 4. 分析高频率访问的IP:`cat access_log | grep "19/May/2011:00" | grep "61.135.166.230" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10`可以展示某个IP(如61.135.166.230)访问的前10个最频繁的URL,帮助识别爬虫或恶意访问。 5. 热门URL排名:`cat access_log | grep "19/May/2010:00" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10`显示2010年5月19日零点后访问量最高的前10个URL,有助于优化网站内容和服务。 6. 使用tcpdump监控网络流量:`tcpdump -i eth0 -tnn dst port 80 -c 1000`可以捕获1000个到达80端口的数据包,分析网络活动,进一步可以结合`awk`命令查看IP访问情况。 7. 特定时间段的IP连接数:`grep "2006:0[7-8]" www20110519.log | awk '{print $2}' | sort | uniq -c | sort -nr | wc -l`可计算2006年7月和8月之间,特定日志文件中的IP连接总数。 8. 当前Web服务器中连接次数最多的IP:`netstat -ntu | awk '{print $5}' | sort | uniq -c | sort -nr -r | head -n 20`列出与服务器建立连接最多的前20个IP地址。 9. 访问次数最多的前10个IP:`cat access_80_log | cut -d '' -f1 | sort | uniq -c | sort -nr | awk '{print $0}' | head -n 10 | less`展示access_80_log日志中访问次数最多的前10个IP。 10. 查找访问次数超过100次的IP:虽然提供的命令未完整,但可以推断出`cat access_log | grep -c "IP地址"`可以统计某个IP在日志中出现的总次数,筛选出访问超过100次的IP。 通过以上分析,我们可以获得关于网站访问者的行为模式、服务器性能以及潜在安全问题等关键信息,从而进行有针对性的优化和调整。
1,查看apache进程:
ps aux | grep httpd | grep -v grep | wc -l // ps aux是显示所有进程和其状态。
2,查看80端口的tcp连接:
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
3,通过日志查看当天ip连接数,过滤重复:
cat access_log | grep "19/May/2011" | awk '{print $2}' | sort | uniq -c | sort -nr
4,当天ip连接数最高的ip都在干些什么(原来是蜘蛛):
cat access_log | grep "19/May/2011:00" | grep "61.135.166.230" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
5,当天访问页面排前10的url:
cat access_log | grep "19/May/2010:00" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
6,用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr
接着从日志里查看该ip在干嘛:
cat access_log | grep 220.181.38.183| awk '{print $1"\t"$8}' | sort | uniq -c | sort -nr | less
7,查看某一时间段的ip连接数:
grep "2006:0[7-8]" www20110519.log | awk '{print $2}' | sort | uniq -c| sort -nr | wc -l
8,当前WEB服务器中联接次数最多的20条ip地址:
netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r | head -n 20
9,查看日志中访问次数最多的前10个IP
cat access_80_log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 1
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展