【linux】apache的访问日志详解及演练

举报
互联网老辛 发表于 2021/06/08 22:57:42 2021/06/08
【摘要】 文章目录 前言一. apache日志分类二. apache的日志格式详解1. 输出最近的一段访问日志2. 日志的字段所代表的内容如下:3. apache访问日志配置文件参数详解 三. 配置修改实战总结 前言 遇到问题我们一般需要看日志,服务日志和系统日志,但是apache有个访问日志,这个日志是用来做啥的,我们今天一起来探讨下。 一. ap...

前言

遇到问题我们一般需要看日志,服务日志和系统日志,但是apache有个访问日志,这个日志是用来做啥的,我们今天一起来探讨下。

一. apache日志分类

apache的配置文件httpd.conf里定义了访问日志的路径,以及错误日志的路径。 如果是SSL服务的话也可能存在ssl_acess_log日志,当然还有ssl_error_log 和 ssl_request_log都是与SSL相关的。
在这里插入图片描述

[root@xinsz08 logs]# ls
access_log  error_log  httpd.pid  ssl_request_log

  
 
  • 1
  • 2

二. apache的日志格式详解

1. 输出最近的一段访问日志
[root@xinsz08 logs]# tail access_log 
203.208.60.97 - - [28/Jul/2020:16:23:04 +0800] "GET / HTTP/1.1" 200 8818
46.229.168.141 - - [28/Jul/2020:16:24:28 +0800] "GET /home.php?ac=favorite&formhash=5dc27e6e&handlekey=favoriteforum&id=51&mod=spacecp&type=forum HTTP/1.1" 200 1215
216.244.66.249 - - [28/Jul/2020:16:24:33 +0800] "GET /home.php?mod=space&uid=815&do=share&view=me&from=space&type=link HTTP/1.1" 200 12752
154.211.129.218 - - [28/Jul/2020:16:25:38 +0800] "POST /uc_server/index.php HTTP/1.1" 200 2
47.92.7.83 - - [28/Jul/2020:16:25:58 +0800] "GET / HTTP/1.1" 200 9228
46.229.168.154 - - [28/Jul/2020:16:26:17 +0800] "GET /home.php?ac=pm&daterange=2&handlekey=showmsg_5&mod=spacecp&op=showmsg&pid=2036&pmid=0&tid=1745&touid=5 HTTP/1.1" 200 4476
46.229.168.144 - - [28/Jul/2020:16:26:25 +0800] "GET /forum.php?goto=lastpost&mod=redirect&tid=145 HTTP/1.1" 302 20
46.229.168.143 - - [28/Jul/2020:16:26:30 +0800] "GET /forum.php?mod=viewthread&tid=145 HTTP/1.1" 200 9617
47.106.201.78 - - [28/Jul/2020:16:26:46 +0800] "GET / HTTP/1.1" 200 9229
47.103.47.81 - - [28/Jul/2020:16:26:59 +0800] "GET / HTTP/1.1" 200 9227

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

访问日志记录了所有对web服务器的访问活动:
47.103.47.81 - - [28/Jul/2020:16:26:59 +0800] “GET / HTTP/1.1” 200 9227

2. 日志的字段所代表的内容如下:
  1. 远程主机IP:表明访问网站的是谁 (47.103.47.81)

  2. 空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了

  3. 空白(登录名):用于记录浏览者进行身份验证时提供的名字。

下图是上节课我们做的基于域名认证的截图,可以看到IP后面- - 的第二个-是gaosh:
在这里插入图片描述

  1. 时间:用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。
  2. 方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。 METHOD: GET、POST、HEAD、…… RESOURCE: /、index.html、/default/index.php、……(请求的文件) PROTOCOL: HTTP+版本号
  3. 状态代码:请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。
  4. 发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据
3. apache访问日志配置文件参数详解

apache中的日志格式分为:普通型和复合型,默认是普通型

apache访问日志格式主要有两个参数:

  • logFormat
    在这里插入图片描述
    CustomLog
    在这里插入图片描述
    两者的意思是:
    LogFormat指令:定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。
    CustomLog指令:设置日志文件,并指明日志文件所用的格式

详细的参数

参数 含义
%h 远程主机
%l(小写的L) 远端登录名
%u 远程用户名
%t 登录时间或者请求时间
%r 请求的第一行
%>s 状态
%b 传送字节数数
%{Referer}i 请求来源
%{User-agent}i 客户端浏览器提供的浏览器识别信息

apache文档中给出的日志格式串变量及其含义:

 %a: 远程IP地址 %A: 本地IP地址 %B: 已发送的字节数,不包含HTTP头 %b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0 %{FOOBAR}e: 环境变量FOOBAR的内容 %f: 文件名字 %h: 远程主机 %H 请求的协议 %Foobar}i: Foobar的内容,发送给服务器的请求的标头行。 %l: 远程登录名字(来自identd,如提供的话) %m: 请求的方法 %{Foobar}n: 来自另外一个模块的注解“Foobar”的内容 %{Foobar}o: Foobar的内容,应答的标头行 %p: 服务器响应请求时使用的端口 %P: 响应请求的子进程ID。 %q: 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。) %r: 请求的第一行 %s: 状态。对于进行内部重定向的请求,这是指*原来*请求的状态。如果用%...>s,则是指后来的请求。 %t: 以公共日志时间格式表示的时间(或称为标准英文格式) %{format}t: 以指定格式format表示的时间 %T: 为响应请求而耗费的时间,以秒计 %u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的) %U: 用户所请求的URL路径 %v: 响应请求的服务器的ServerName %V: 依照UseCanonicalName设置得到的服务器名字

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

三. 配置修改实战

配置文件中修改:只保留时间,请求第一行,状态,请求来源
在这里插入图片描述
修改完后,重启apache
[root@gaosh-1 ~]# service httpd restart

查看日志的后十行:
在这里插入图片描述
我们再把请求来源改成高胜寒的日志格式几个字:
在这里插入图片描述

重启,访问测试,查看输出:

在这里插入图片描述

总结

我们很少去修改日志格式,但是有时候如果想要相应的参数,比如在渗透测试或者一些安全领域想要获取更详细的信息,这个时候是可以修改日志格式来达到自己想要的结果。

我是高胜寒,要给在教培行业不忘初心的人,我们下篇文章再见。

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/107638752

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。