zoukankan      html  css  js  c++  java
  • Apache、Nginx、IIS日志记录分析&详解

    Apache、Nginx、IIS日志记录分析

    一、Apache

    1.1.Windows Server 2008 R2平台

    1.1.1.日志位置及配置

    (1)启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access.log和错误日志error.log。

    (2)我们可以在Apache配置文件httpd.conf中,配置Apache访问日志格式。

    #下面两句定义不同模式下的日志记录格式
    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common
    #下面一句定义日志文件存储位置以及采用的记录格式
    CustomLog "logs/access.log" common
    

    解释:

    apache中日志记录格式主要有两种,普通型(common)和复合型(combined),安装时默认使用普通型(common)类型日志记录访问信息。

    1.1.2.分析

    (1)以下是一段标准的采用common记录格式下的日志记录

    192.168.2.184 - - [20/Apr/2020:17:17:18 +0800] "GET /pikachu-master HTTP/1.1" 301 247
    

    分析如下:

    字段值 字段名称 含义
    192.168.2.184 客户端IP 访问服务端的IP
    -
    - 登录名 客户端访问服务验证时提供的名字(匿名的情况下为-)
    [20/Apr/2020:17:17:18 +0800] 时间 客户段请求的时间(“+0800”表示服务器所处时区位于UTC之后的8小时)
    "GET /pikachu-master HTTP/1.1" 方法+资源+协议 客户端请求方式、请求的资源文件、客户端采用的协议
    301 状态代码 301代表所请求的页面已经转移至新的 URL
    247 字节数 服务端发送给客户端的字节长度

    (2)以下是一段标准的采用combined记录格式下的日志记录

    192.168.2.184 - - [20/Apr/2020:17:36:18 +0800] "GET /pikachu-master/ HTTP/1.1" 200 35392 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
    

    分析如下:

    字段值 字段名称 含义
    ... ... ...
    "-" 引用站点 用户访问的前一个站点。此站点提供到当前站点的链接。
    "Mozilla/5.0
    (Windows NT 10.0; Win64; x64; rv:75.0)
    Gecko/20100101 Firefox/75.0"
    客户端浏览器提供的浏览器识别信息 浏览器内核版本、操作系统版本、浏览器版本

    1.2.CentOS 7 平台

    1.2.1.日志位置

    cat /var/log/httpd/access_log 查看Apache日志
    

    1.2.2.分析

    以下是一段记录

    192.168.2.184 - - [11/Apr/2020:21:51:47 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
    

    通过观察和Windows下的一摸一样,故分析可以参照1.1.2

    二、Nginx

    2.1.Windows Server 2008 R2平台

    2.1.1.日志位置

    我们可以在配置文件中查看或者更改日志的存放位置

    2.1.2.分析

    以下是一段日志。

    192.168.33.254 - - [20/Feb/2020:22:57:27 +0800] "POST /pikachu-master/vul/burteforce/bf_form.php HTTP/1.1" 200 4899 "http://192.168.33.254/pikachu-master/vul/burteforce/bf_form.php" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"
    

    详情请看2.2(与Linux下的一样)

    2.2.CentOS 7 平台

    2.2.1.日志位置及配置

    #日志位置
    /var/log/nginx/access.log
    
    #nginx配置文件位置
    vim /etc/nginx/nginx.conf(可能有所不一样)
    
    #配置文件中关于日志的字段(日志格式+日志存放位置)
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
    access_log  /var/log/nginx/access.log  main;
    

    2.2.2.分析

    以下是一段Nginx日志:

    192.168.2.184 - - [20/Apr/2020:17:59:09 +0800] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0" "-"
    

    分析:

    字段值 字段名称 含义
    192.168.2.184 $remote_addr 客户端(用户)的IP地址
    - - - $remote_user 客户端的用户名,匿名访问为-
    [20/Apr/2020:17:59:09 +0800] [$time_local] 访问时间
    "GET /index.html HTTP/1.1" "$request" 请求方式以及请求的资源URI地址
    200 $status 状态码(200 OK)
    612 $body_bytes_sent 请求的页面大小
    "-" "$http_referer" 来源页面,即从哪个页面转到本页
    "Mozilla/5.0
    (Windows NT 10.0; Win64; x64; rv:75.0)
    Gecko/20100101 Firefox/75.0"
    "$http_user_agent" 浏览器信息,操作系统信息
    "-" "$http_x_forwarded_for" 获取到真实IP,获取不到则显示为 -

    3.2.3.自定义日志记录字段

    如果我们想要获取的信息并没有记录下来,例如:服务器的处理时间等等。那么我们可以在配置文件中添加以下内容,从而获取到我们想要的信息。

    $request_time
    #记录请求处理时间(以秒为单位,携带毫秒的解决方案),从读取客户端第一个字节开始算起,到发送最后一个字节给客户端的时间间隔
    
    $upstream_response_time
    #记录nginx从后端服务器(upstream server)获取响应的时间(以秒为单位,携带毫秒的解决方案),多个请求的时间以逗号分隔
    
    $request_length
    #记录请求长度(包括请求行,请求头,请求体)
    
    $bytes_sent
    #发送给客户端的字节数,不同于$body_bytes_sent(发送给客户端的响应体字节数)
    

    三、IIS

    3.1.IIS 7日志记录所在位置(Windows Server 2008 R2)

    除此之外,我们可以通过Internet信息服务(IIS)管理器设置日志中要记录的字段:

    3.2.分析

    一段完整的日志记录如下:

    #Software: Microsoft Internet Information Services 7.5
    #Version: 1.0
    #Date: 2020-04-20 07:28:44
    #Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
    
    2020-04-20 07:28:44 W3SVC4 FENGWENBO 192.168.2.254 GET /picnews.asp - 8004 - 192.168.2.184 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:75.0)+Gecko/20100101+Firefox/75.0 zh_choose=n;+ASPSESSIONIDAQSBBTTA=FHLLDFKCKALEMJAPACIFLDLL http://192.168.2.254:8004/ 192.168.2.254:8004 200 0 0 731 500 327
    

    各字段含义如下:

    字段值 字段名称 含义
    2020-04-20 日期(date) 活动发生的日期
    07:28:44(+8) 时间(time) 活动发生的时间
    W3SVC4 服务名(s-sitename) 客户端所访问的该站点的 Internet 服务和实例的号码
    FENGWENBO 服务器名(s-computername) 生成日志项的服务器名称。
    192.168.2.254 服务器IP(s-ip) 生成日志项的服务器IP地址
    GET 方法(cs-method) 客户端执行的操作
    /picnews.asp 请求访问的页面(cs-uri-stem) 客户端访问的文件
    访问的查询字符串(cs-uri-query) 客户端正在尝试执行的查询(此时没有,显示为-)
    8004 服务器端口(s-port) 客户端连接服务端的端口
    - 客户端用户名(cs-username) 匿名用户登陆,显示为-
    192.168.2.184 客户端IP(c-ip) 真实的访问服务器的客户端IP地址
    HTTP/1.1 协议版本(cs-version) 客户端使用的协议
    Mozilla/5.0
    +(Windows+NT+10.0;
    +Win64;+x64;+rv:75.0)
    +Gecko/20100101
    +Firefox/75.0
    用户代理(cs(User-Agent)) 在客户端使用的浏览器
    zh_choose=n;
    +ASPSESSION
    IDAQSBBTTA
    =FHLLDFKCK
    ALEMJAPACIFLDLL
    cookie(cs(Cookie)) 发送或接收的 Cookie 的内容
    http://192.168.2.254:8004/ 引用站点(cs(Referer)) 用户访问的前一个站点。此站点提供到当前站点的链接。
    192.168.2.254:8004 主机(cs-host) 显示主机头的内容
    200 协议返回状态(sc-status) 以HTTP或FTP表示的操作的状态(200 OK)
    0 HTTP子协议的状态(sc-substatus)
    0 Win32® 状态(sc-win32-status) 用 Windows® 使用的术语表示的操作的状态
    731 服务器发送的字节数(sc-bytes) 服务器发送的字节数。
    500 服务器接受的字节数(cs-bytes) 服务器接收的字节数。
    327 所用时间(time-taken) 操作花费的时间长短(亳秒)
  • 相关阅读:
    内容可编辑且随内容自增长的div
    05-图1. List Components (25)
    多button事件处理
    NYOJ 496 [巡回赛-拓扑排序]
    Android lollipop 更新问题
    编程算法
    Codeforces Round #337 (Div. 2) 610B Vika and Squares(脑洞)
    java中的ShortBuffer
    Rust hello world 语法解说
    在.Net MVC结构API接口中推断http头信息实现公共的权限验证过滤器演示样例
  • 原文地址:https://www.cnblogs.com/Feng-L/p/12739721.html
Copyright © 2011-2022 走看看