新闻中心

了解最新公司动态及行业资讯

当前位置:首页>新闻中心
全部 1755 公司动态 599 行业动态 608

太疯狂了(网站流量统计与分析工具)网站流量分析报告,网站日志流量分析,流量分析,

时间:2025-05-21   访问量:1007

1.网站日志格式类型网站日志记录了服务器接收到的请求以及服务器的响应信息,是分析网站性能、用户行为、安全状况等的重要数据来源。常见的网站日志格式类型主要包括以下几种:

1.1通用日志格式(Common Log Format,CLF)简介:这是最基础、最常用的日志格式,由 W3C 提出,被大多数 Web 服务器软件支持。字段组成远程主机(Remote Host):发起请求的客户端主机名或 IP 地址。远程用户名(Remote Logname):如果服务器启用了身份验证,这里会记录用户名;否则显示为“-”。认证用户名(Auth User):与远程用户名类似,在认证过程中记录用户名。请求日期和时间(Date and Time of Request)

:记录请求发生的日期和时间,格式通常为 [

day/month/year:hour:minute:second zone]。 请求方法(Request):客户端使用的 HTTP 请求方法,如 GET、POST 等。请求的资源(Requested Resource):客户端请求的网页或文件路径。协议版本(Protocol Version):客户端使用的 HTTP 协议版本,如 HTTP/1.1。状态码(Status Code):服务器返回给客户端的 HTTP 状态码,如 200 表示成功,404 表示未找到页面。发送的字节数(Bytes Sent):服务器发送给客户端的字节数。示例192.168.1.1 - - [10/Oct/2023:13:55:36 +0800] "GET /index.html HTTP/1.1" 200 2326

1.2. 组合日志格式(Combined Log Format)简介:在通用日志格式的基础上进行了扩展,增加了更多有用的信息,是目前最常用的日志格式之一。字段组成:在通用日志格式的基础上增加了以下两个字段:引用页(Referrer):记录用户是从哪个页面链接到当前请求的页面的。如果用户直接输入网址访问,则该字段为“-”。用户代理(User Agent):记录客户端使用的浏览器、操作系统等信息。示例192.168.1.1 - - [10/Oct/2023:13:55:36 +0800] "GET /index.html HTTP/1.1" 200 2326 "https://www.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"

1.3. W3C 扩展日志格式(W3C Extended Log File Format)简介:由 W3C 制定的一种可扩展的日志格式,用户可以根据需要自定义日志字段。特点灵活性高:用户可以自由选择要记录的字段,以满足不同的分析需求。结构化:采用键值对的形式记录日志信息,便于计算机处理和分析。常见字段date:请求的日期。time:请求的时间。c-ip:客户端 IP 地址。cs-username:客户端用户名。cs-method:HTTP 请求方法。cs-uri-stem:请求的资源路径。cs-uri-query:请求中的查询字符串。sc-status:HTTP 状态码。sc-bytes:服务器发送的字节数。cs(User-Agent):用户代理信息。cs(Referer):引用页。示例

#Software: Microsoft Internet Information Services 10.0

#Version: 1.0

#Date: 2023-10-10 13:55:36

#Fields: date time c-ip cs-method cs-uri-stem sc-status sc-bytes cs(User-Agent) cs(Referer)

2023-10-10 13:55:36 192.168.1.1 GET /index.html 200 2326 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 https://www.example.com/

1.4. NCSA 扩展日志格式(NCSA Extended/Combined Log Format)简介:NCSA(National Center for Supercomputing Applications)提出的扩展日志格式,是组合日志格式的前身。字段组成:与组合日志格式类似,但在字段的表示和顺序上可能略有不同,不同的服务器软件实现可能会有一些差异。示例192.168.1.1 - - [10/Oct/2023:13:55:36 +0800] "GET /index.html HTTP/1.1" 200 2326 "https://www.example.com/" "Mozilla/5.0"

1.5. 自定义日志格式简介:许多 Web 服务器软件(如 Apache、Nginx)允许用户自定义日志格式,以满足特定的业务需求。实现方式:用户可以通过配置文件指定要记录的字段以及字段的顺序和格式。示例(Apache 自定义日志格式): 在 Apache 的配置文件中,可以使用 LogFormat 指令定义自定义日志格式,然后使用 CustomLog 指令指定日志文件的路径和使用的日志格式。

上述配置定义了一个名为 my_custom_format 的自定义日志格式,其中 %D 是 Apache 特有的字段,表示处理请求所花费的时间(以微秒为单位)。

2.网站日志文件网站日志文件的位置取决于所使用的Web服务器软件以及服务器配置。以下是一些常见的Web服务器及其默认日志文件位置:

2.1.Apache HTTP Server

访问日志:通常位于

/var/log/apache2/access.log 或 /var/log/httpd/access_log

错误日志:通常位于

/var/log/apache2/error.log 或 /var/log/httpd/error_log
请注意,根据不同的Linux发行版或Apache的安装方式,路径可能会有所不同。可以通过查看Apache的配置文件(通常是httpd.conf或者在/etc/apache2/目录下的相关配置文件)来确认具体的日志文件位置。

2.2Nginx访问日志:默认情况下,Nginx的访问日志位于/var/log/nginx/access.log错误日志:错误日志一般位于/var/log/nginx/error.log同样地,这些路径也可能因为不同的安装和配置而有所变化。可以在Nginx的主配置文件(通常是nginx.conf)中找到确切的日志文件路径设置。

2.3Microsoft IIS (Internet Information Services)IIS的日志文件存储位置可以通过IIS管理器进行配置,默认情况下它们可能被存放在如下路径:C:\inetpub\logs\LogFiles

3.常用日志分析方法

3.1网站访问频率分析获取access_log文件并将其重命名为a.txt文件。

3.1.1查看访问服务器的IP

1.使用 cut 命令提取 IP

cat a.txt | cut -d " " -f 1 | sort -u

2.使用 awk 命令提取 IP(更简洁)

cat a.txt | awk {print $1} | sort -u

说明:

cat a.txt:查看日志文件 a.txt 的内容。

cut -d " " -f 1:以空格为分隔符,提取每行的第一个字段(假设第一个字段是 IP 地址)。

awk {print $1}:默认以空格为分隔符,提取每行的第一个字段。

sort -u:对提取出的 IP 地址进行排序并去重,得到所有唯一的访问者 IP。

3.1.2筛选出攻击者 IP(高频率访问 IP)

1.统计每个 IP 的访问次数

cat a.txt | awk {print $1} | sort | uniq -c | sort -nr

cat a.txt | awk {print $1} | sort | uniq -c

说明:

●awk {print $1}:提取 IP 地址。

●sort:对 IP 地址进行排序,以便 uniq -c 能够正确统计相邻的相同 IP 的数量。

●uniq -c:统计每个 IP 出现的次数。

●sort -nr:按照访问次数从高到低进行排序,方便快速发现高频率访问的 IP。

2.通过阈值进行筛选

可以设置一个阈值,比如访问次数超过 100 次的 IP 才被认为是可疑的攻击者 IP。

cat a.txt | awk {print $1} | sort | uniq -c | awk $1 > 100 {print $1, $2}

3.1.3筛选攻击者行为

1.查看攻击者所有请求

cat a.txt | grep 111.200.195.77

使用 grep 命令筛选出包含指定 IP 地址(111.200.195.77)的所有日志行。

2.提取攻击者请求的响应信息cat a.txt | grep 111.200.195.77 | awk -F "] " {print $2}

说明:以 "] " 为分隔符,提取每行中 "] " 后面的内容,即请求的响应信息

3.查看攻击者是否成功(检查 HTTP 状态码)

说明:在提取出的响应信息中,进一步筛选出包含 HTTP 状态码 200 的行,判断攻击者的请求是否成功。

cat a.txt | grep 111.200.195.77 | awk -F "] " {print $2} | grep 200

3.2特征字符分析根据攻击者利用的漏洞特征,进行判断攻击者使用的是哪一种攻击。

3.2.1SQL 注入攻击1.攻击原理攻击者通过在应用程序的输入字段中插入恶意的 SQL 代码,试图欺骗数据库服务器执行非授权的 SQL 语句,从而获取、修改或删除数据库中的数据。2.日志特征(1)异常的输入参数:日志中会出现包含特殊字符(如单引号、分号等)和 SQL 关键字(如 SELECT、INSERT、UPDATE、DELETE 等)的请求参数。例如:sql1.php?name=admin(字符型注入测试)sql2.php?id=1 and 1=1(数字型注入测试)sql2.php?id=1 and sleep(5)(时间盲注测试)(2)请求频率异常:攻击者可能会对同一个页面进行多次请求,尝试不同的注入参数。(3)数据库错误信息:如果应用程序没有正确处理数据库错误,日志中可能会记录数据库返回的错误信息,如 SQL 语法错误、权限错误等。3.特征字符分析(1)报错注入特征字符:、and、or、sleep()、floor()、extractvalue()、updatexml() 等。例如,请求中包含 sql1.php?name=admin and 1=1 可能是布尔盲注的尝试。(2)联合查询注入特征字符:union select、order by。例如,请求中包含 union select 1,2,3 from users 可能是联合查询注入。(3)数据库类型判断特征字符:不同数据库有特定的判断语句,如 and (select count (*) from sysobjects)>0 用于判断 SQLSERVER 数据库。4.提取包含sql注入特征的access_log日志

grep -iE "|(and|or|select|insert|update|delete|drop|union|order by)[[:space:]/]|sleep\(|benchmark\(|floor\(.*rand|updatexml|extractvalue" access_log >

sql_injection_candidates.txt

3.2.2XSS 跨站脚本攻击

1.攻击原理

跨站脚本(XSS)攻击是指攻击者在网页中注入恶意脚本代码,当其他用户访问该网页时,恶意脚本会在用户的浏览器中执行,从而窃取用户的敏感信息或控制用户的浏览器。

2.日志特征

异常的输入内容:日志中会出现包含 JavaScript 代码、HTML 标签等特殊内容的请求参数。例如:

请求来源可疑:攻击者可能会通过一些特定的网站或工具发起 XSS 攻击请求,日志中可能会记录这些可疑的来源。

用户行为异常:如果攻击成功,可能会导致用户的浏览器出现异常行为,如频繁的页面跳转、弹出窗口等,这些行为可能会在日志中有所体现。

3.特征字符分析

(1)标签特征字符: 是明显的 XSS 攻击代码。

(2)触发事件特征字符:oninput、onload、oncut、onclick、onerror、onmouseover 等。例如, 利用了 onerror 事件触发 XSS 攻击。

(3)恶意代码特征字符:prompt、confirm、alert、javascript、eval、expression、window.location 等。例如,javascript:alert(XSS) 是常见的 XSS 攻击代码

4.分析命令

grep -iE (<(script|img|svg|body|input|a|iframe)[^>]*>|on(error|load|click|mouseover|input|cut)|prompt\(|confirm\(|eval\(|expression\(|window\.location|javascript:|data:) access.log/access_log

3.3.3恶意文件上传1.攻击原理攻击者通过上传恶意文件到网站服务器,从而获取服务器的控制权限或执行恶意代码。2.日志特征(1)上传请求特征日志中会出现包含 upload、file 等字样的请求,且请求方法通常为 POST。例如:POST /upload.php HTTP/1.1POST /file.php HTTP/1.1(2)文件类型异常:攻击者可能会上传一些非法的文件类型,如 .php、.asp、.jsp 等可执行文件。(3)后续操作可疑:在文件上传后,日志中可能会出现一些可疑的访问请求,如访问上传的文件路径、执行文件中的代码等。3.特征字符分析(1)上传页面特征字符:请求中包含 upload、file 等字样,如 upload.php、file.php。(2)文件参数特征字符:请求参数中包含 file、filename 等字样,如 file=test.php。(3)文件内容特征字符:如果日志中记录了文件内容,可能会出现一些恶意代码,如 <?php eval($_POST@[cmd]);?>(一句话木马)。4.分析命令

grep -iE POST /.*(upload|file)|\.(php|asp|jsp)(\W|$)|(eval\(|system\(|exec\(|base64_decode).*\$\w+\\]\) access.log >

upload_attack_candidates.txt 参数说明:-i:忽略大小写(如 .PHP、Upload 也能匹配)合并三类核心特征检测:上传请求特征:匹配包含 POST /upload.php、POST /file 等路径的请求POST /.*(upload|file)非法文件类型:检测 .php、.asp、.jsp 等可执行文件扩展名(支持参数中的 filename=test.php 或路径中的 /uploads/test.php)\.(php|asp|jsp)(\W|$) # \W 匹配非单词字符(如空格、引号),$ 匹配字符串结束恶意代码特征:匹配 eval($_POST@[...])、system()、exec()、base64_decode() 等危险函数(eval\(|system\(|exec\(|base64_decode).*\$\w+[\]]\) # 匹配动态变量如 $_POST@[cmd]

3.3.4一句话木马1.攻击原理一句话木马是一种简短的恶意代码,通常只有一行,攻击者通过将其上传到网站服务器,从而获取服务器的控制权限。2.日志特征

(1)可疑文件名:日志中可能会出现一些名字可疑的文件,如带日期字样的页面(20250429.php)、一串随机值的页面(a3b2c1.php)等,且文件扩展名通常为 .php、.asp、.aspx、.jsp 等。

(2)POST 请求特征:一句话木马通常通过 POST 请求进行操作,日志中可能会出现大量的 POST 请求记录。

(3)返回数据特征:攻击者在使用一句话木马时,服务器可能会返回一些特定的数据,如执行系统命令的结果、文件内容等。

3.特征字符分析(1)木马代码特征字符:一句话木马的代码通常比较简短,如 <?php eval($_POST@[cmd]);?>,其中 eval、$_POST 是关键特征字符。(2)请求参数特征字符:在使用一句话木马时,攻击者通常会通过 POST 请求传递参数,如 cmd=system(dir),其中 cmd 是常见的参数名。

(3)一句话木马是一种精简的恶意代码(通常只有一行),通过远程执行任意命令或脚本,使攻击者获得服务器控制权限。

典型代码示例:

PHP:

ASP:<%eval request("cmd")%>

JSP:<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>

4.分析命令(1)日志特征检测grep -iE POST /.*\.(php|asp|jsp)\?.*(&cmd=|&pass=|\b(eval|assert|system|exec|passthru|base64_decode)\() access_log > webshell_candidates.txt

-i:忽略大小写(如 .PHP、CMD=、EVAL( 也能匹配)

合并四类特征:

可疑文件路径:匹配 .php、.asp、.jsp 文件路径(如 /uploads/shell.php)

POST /.*\.(php|asp|jsp)

危险参数名:检测 cmd、pass 等敏感参数(如 ?cmd=whoami)

(&cmd=|&pass=)

危险函数调用:匹配 eval()、assert()、system()、exec()、passthru()、base64_decode() 等函数

\b(eval|assert|system|exec|passthru|base64_decode)\(

(2)文件内容静态检测(危险函数扫描)

grep -rliE "(eval|assert|system|exec|passthru|base64_decode)\s*\(.*(\$_POST|\$_GET|\$_REQUEST)" /var/www/html/ > webshell_files.txt

-rli:递归搜索文件内容,忽略大小写,仅输出文件名

匹配动态参数:检测 eval($_POST@[...])、system($_GET@[...]) 等典型 WebShell 代码

5.扩展命令分析

(1)高频访问 IP 分析

# 统计访问可疑文件的 IP 频率(如 shell.php)

awk /\.(php|asp|jsp)\?/ {print $1} access_log | sort | uniq -c | sort -nr | head -10

(2)动态行为监控

# 监控 PHP 进程执行系统命令(需 auditd 或进程跟踪)

ps aux | grep -E php-cgi|apache2 | grep -vE grep|status

(3)编码绕过检测

# 检测 URL 编码的 WebShell 特征(如 %63%6d%64= 对应 cmd=)

grep -iE %63%6d%64=|%65%76%61%6c access_log

(4) 响应内容分析

# 查找响应中包含系统命令结果(如 uid=0(root))

awk $9 == 200 {print $0} access_log | grep -E "uid=|root|Permission denied"

6.误报过滤

(1) 排除白名单路径

grep -iE webshell_pattern access.log | grep -vE /admin/|/cms/

(2) 排除合法参数名

grep -iE &cmd= access.log | grep -v &cmd=backup # 忽略业务合法的 cmd=backup

7.防御与响应

(1)自动封禁高危 IP

grep -iE

webshell_candidate_pattern access.log | awk {print $1} | xargs -I{} iptables -A INPUT -s {} -j DROP

(2)增强日志记录

# Nginx 配置示例(记录 POST 请求体)

log_format enhanced $remote_addr - $remote_user [$time_local] "$request"

$status $body_bytes_sent "$http_referer"

"$http_user_agent" "$request_body";

access_log /var/log/nginx/access.log enhanced;

8.综合案例

场景:攻击者上传 20250429.php,通过 ?cmd=id 执行命令。

(1)检测可疑请求

grep -iE POST /.*\.php\?.*&cmd= access.log

(2)定位文件并静态扫描

grep -rli "eval($_POST" /var/www/html/uploads/

(3)封禁攻击者 IP

iptables -A INPUT -s 192.168.1.100 -j DROP

3.3.5Web扫描

一般来说,访问的目标比较离散,并且来源地址相对固定,同时访问的结果大多数也都是失败的,并且在参数中有比较明显的扫描器特征字段

1.常见扫描器在url上的特征

● AWVS 10.5或11

acunetix-wvs-test-for-some-inexistent-file

by_wvs

acunetix_wvs_security_test

acunetix

acunetix_wvs

acunetix_test

wvs_test

● Netsparker

netsparker

Netsparker

ns: netsparker

●Appscan

Appscan

● Webinspect

HP404

● Rsas

nsfocus

● Nessus

nessus

Nessus

● Sqlmap

sqlmap

2.分析命令

(1)直接匹配已知扫描器标识

grep -iE (acunetix|by_wvs|netsparker|appscan|HP404|nsfocus|nessus|sqlmap|wvs_test) access.log > scanner_candidates.txt

(2)检测通用扫描器特征

# 匹配自动化工具特征(如 "Scanner"、"Spider"、"Crawler")

grep -iE (scanner|spider|crawler|bot|checker|security|scan) access.log | grep -vE (google|bing|yandex) > generic_scanners.txt

3.扩展分析命令

(1)统计来源 IP 的失败请求(4xx/5xx)频率

awk $9 ~ /^[45]/ {print $1} access.log | sort | uniq -c | sort -nr | head -10

(2)精准定位 URL 路径或参数

# 仅匹配 URL 路径或参数中的扫描器特征(排除 User-Agent)

awk $7 ~ /(acunetix|sqlmap)/ {print} access.log

(3) 检测 URL 编码特征

# 匹配编码后的扫描器关键字(如 %61%63%75%6e%65%74%69%78 对应 acunetix)

grep -iE %61%63%75%6e%65%74%69%78|%73%71%6c%6d%61%70 access.log

(4)关联时间窗口分析

# 检测短时间内大量请求的 IP(时间窗口 1 分钟)

awk -v window=60 {ip=$1; timestamp=$4; next}

$1 == ip && $4 <= timestamp + window {count[ip]++}

END {for (ip in count) print ip, count[ip]} access.log | sort -k2 -nr

(5)误报过滤

排除业务白名单路径:

grep -iE 扫描器特征 access.log | grep -vE /api/healthcheck|/security-test/

排除合法安全扫描 IP:

grep -iE 扫描器特征 access.log | grep -v 192.168.1.200 # 公司内部扫描器 IP

(6)敏感文件或目录探测

# 检测对敏感路径的探测(如 .git、.env、备份文件)

grep -iE /(\.git/|\.env|\.bak|\.old|/phpinfo\.php|/admin/|/wp-admin/) access.log >

sensitive_path_requests.txt

(7)路径遍历攻击特征

# 检测路径遍历字符(../ 或 URL 编码的 %2e%2e%2f)

grep -iE (\.\./|%2e%2e%2f|%252e%252e/) access.log >

path_traversal_attempts.txt

4.其他

4.1日志格式处理

确保日志文件的格式是已知且固定的,如果日志格式不统一,可能需要先对日志进行预处理,使其符合分析的要求。

可以使用 sed 或 awk 等命令对日志进行格式转换和清洗,例如去除多余的空格、统一时间格式等。

4.2. 结合其他特征分析

除了访问频率,还可以结合其他特征来识别攻击者,例如:

请求方法:攻击者可能会使用一些不常见的请求方法,如 HEAD、OPTIONS 等进行探测。

请求的资源路径:攻击者可能会尝试访问一些不存在的页面或敏感的目录。

用户代理(User Agent):一些攻击工具可能会使用特定的用户代理字符串。

5.网站可视化分析工具

1. Graylog

官网: https://www.graylog.org/

GitHub:

https://github.com/Graylog2/graylog2-server

安装指南: 可以在官方网站上找到详细的安装指南,支持多种操作系统包括Linux、Windows等。

2. Logstash (ELK Stack)

官网:

https://www.elastic.co/logstash

下载页面:

https://www.elastic.co/downloads/logstash

GitHub:

https://github.com/elastic/logstash

3. Elasticsearch

官网:

https://www.elastic.co/elasticsearch/

下载页面:

https://www.elastic.co/downloads/elasticsearch

GitHub:

https://github.com/elastic/elasticsearch

4. Kibana

官网:

https://www.elastic.co/kibana/

下载页面:

https://www.elastic.co/downloads/kibana

GitHub:

https://github.com/elastic/kibana

5. Fluentd

官网: https://www.fluentd.org/

下载页面:

https://docs.fluentd.org/installation

GitHub:

https://github.com/fluent/fluentd

6. GoAccess

官网: https://goaccess.io/

下载页面:

https://goaccess.io/download

GitHub:

https://github.com/allinurl/goaccess

7. AWStats

官网:

https://awstats.sourceforge.io/

SourceForge 下载页:

https://sourceforge.net/projects/awstats/files/awstats/

8. Webalizer

官网: http://www.webalizer.org/

SourceForge 下载页:

https://sourceforge.net/projects/webalizer/files/webalizer/

9. Analog

官网: https://www.analog.cx/

下载页面:

https://www.analog.cx/downloads.html

5.1.WebLog ExpertAlentum Software 公司的WebLog Expert 是一款快速强大的访问日志分析器。它将为您提供有关您网站访问者的信息:活动统计、访问的文件、通过网站的路径、有关引用页面、搜索引擎、浏览器、操作系统等的信息。该程序生成易于阅读的可互动报告,其中包括文本信息(表格)和图表。https://www.weblogexpert.com/5.2逆火日志分析工具

参考文章:https://blog.csdn.net/shhhhw/article/details/139656506https://mp.weixin.qq.com/s/w-O8jL7Gue4XHx6VHUEyYghttps://mp.weixin.qq.com/s/dEkUra3QuhLeNa-iA1DXrQ

上一篇:速看(博易公司)博易创为宋海龙,武汉博易讯取得基于多层次流量分析的 DDoS 攻击检测专利,流量分析,

下一篇:不要告诉别人(药企流向数据)药企流向是什么意思,药企品牌发展:流量分析是进阶密码,流量分析,

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部