1.概况 最近经常需要分析WEB访问日志,从中发现非法请求,然后做相应安全检查,为了方便,所以写了一个日志分析平台,支持提交iis,apapche,tomcat,ngnix等日志格式,代码使用python...s %b web访问日志的格式,类似于 1.1.1.1 - - [28/Oct/2017:01:58:11 +0800] "POST /admin/ HTTP/1.1" 200 14657 这里需要注意的是...下图是我定义的日志格式,包含了常用的参数 ? 常规的WEB访问日志是没有POST日志的,所以能分析的内容都是基于GET参数、请求路径等,但是有些WAF日志是记录了所有的请求内容,可以用来丰富。...3.2正则匹配 正则匹配可能是WAF经常使用的规则,分析WEB访问日志时,也经常会用到,例如可执行脚本在上传目录下(例如/images/cmd.aspx),那么这个文件就很有可能是webshell,常规的还有...我从两个方面找了异常日志: 1.使用扫描器的模块扫描网站,比如使用SQLMAP扫描注入页面,那么WEB日志大多数都是SQL注入;或者使用WVS的XSS模块扫描页面,那日志里就有很多XSS的日志。
本人在Linux运维中收集的一些通用的统计,Apache/Nginx服务器日志的命令组合。...Apache日志统计: # 列出当天访问次数最多的IP命令 [root@lyshark.cnblogs.com httpd]# cut -d- -f 1 access_log | uniq -c | sort...print $4,$1}' access_log | grep "21/Nov/2019:03:40:26" | awk '{print $2}'| sort | uniq | wc -l Nginx 日志统计...lyshark.cnblogs.com httpd]# awk '{print $4}' access_log | cut -c14-15 | sort | uniq -c | sort -nr | head -n 100 统计Web...lyshark.cnblogs.com httpd]# grep -v 0$ /www/logs/access.2019-02-23.log | awk -F '" ' '{print $4" " $1}' web.log
前言 nginx是比较常用的web服务器器,网站架设成功后,某天访问量激增。将日志文件下载下来,分析访问来源等情况。记录分析过程。...61.151.164.63; set_real_ip_from 127.0.0.1; real_ip_header X-Forwarded-For; real_ip_recursive on; 手动分析 提取日志...goaccess.conf log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" date-format %d/%b/%Y time-format %H:%M:%S 分析日志...goaccess -f /tmp/n.log -p /etc/goaccess/goaccess.conf 分析日志并生成html文件 goaccess -f /tmp/n.log -p /etc.../goaccess/goaccess.conf -o /opt/project/myblog/app/typecho/log.html 通过浏览器访问查看 https://itbunan.xyz/
本文介绍Nginx使用GoAccess查看Nginx访问日志。 最近在看极客时间-《Nginx核心知识一百讲》的视频,了解到GoAccess监控工具,所以最近对这个工具研究了一下,故写此文章。...1.GoAccess简介 GoAccess是一个开源的实时网络日志分析器和交互式查看器,可以在Linux系统或通过浏览器的终端中运行。...time-format='%H:%M:%S' --date-format='%d/%b/%Y' --log-format=COMBINED 其中/opt/nginx/logs/access.log为Nginx日志位置...Nginx中对应server内加入如下配置: location /report.html { alias /opt/nginx/goaccess/report.html; } 重启Nginx,访问
擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。...使用步骤(3 + 3):http://echarts.baidu.com/echarts2/doc/start.html 常用图形 -饼状图 -曲线图 -柱状图 -仪表盘 -地图 -K 线图 -… Web...访问日志 Web 访问日志是 web 服务器记录的网站被访问的过程日志 日志属性 -什么时候 -什么人 -通过什么工具 -以什么方式 -访问了什么资源 -结果是什么(状态/返回数据大小) 每天的点击量...、总点击数量 -每天的日志行数、日志的总行数(每天的日志行数之和) 每天的浏览者数量、总浏览者数量 -每天的不重复的 IP 的数量 -总的不重复的 IP 数量(每天不重复的 IP 数量之和???)...发生错误的请求有多少次,状态码分布情况 -每种状态码出现的次数 每天流量大小 -每天的日志中每行流量之和 -总的流量之和(每天流量之和) 访问地域分布 -根据 IP 获取地理位置 发生访问次数最多 TOP
内容目录 Python 基础 使用模块介绍 可视化组件 echarts 介绍 Web 访问日志 代码解读 讲师:KK 多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技...擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。...访问日志 Web 访问日志是 web 服务器记录的网站被访问的过程日志 日志属性 -什么时候 -什么人 -通过什么工具 -以什么方式 -访问了什么资源 -结果是什么(状态/返回数据大小) 每天的点击量...、总点击数量 -每天的日志行数、日志的总行数(每天的日志行数之和) 每天的浏览者数量、总浏览者数量 -每天的不重复的 IP 的数量 -总的不重复的 IP 数量(每天不重复的 IP 数量之和???)...发生错误的请求有多少次,状态码分布情况 -每种状态码出现的次数 每天流量大小 -每天的日志中每行流量之和 -总的流量之和(每天流量之和) 访问地域分布 -根据 IP 获取地理位置 发生访问次数最多 TOP
报错404,NOT FOUND可能是因为nginx.conf配置文件的俩处地方配置有误,按照下面,检查你的配置之后99.9999%是可以在浏览器访问Linux的静态文件的 1.检查nginx是否打开允许访问本地文件的配置...vim nginx.conf 2.查找如下图的配置项,没有的话添加即可,注意是在http这个服务中 proxy_intercept_errors on; 3.检查需要访问文件的路径是否配置正确,例如我要访问的静态文件名称为...Bapi.html,文件存放路径为root/cccc/Bapi.html,配置如下 4.访问静态文件 可以访问,我是有域名的,所以我的访问直接就是域名+Bapi.html 其他格式的文件同理。
tcp_max_tw_buckets =5000 #表示操作系统允许TIME_WAIT套接字数量的较大值,如超过此值,TIME_WAIT套接字将立刻被清除并打印警告信息,默认为8000,过多的TIME_WAIT套接字会使Web
访问日志不记录静态文件 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 。...:80 -I 111.com/123.jpg 查看访问日志,会发现访问的jpg图片不会记录在日志中: tail /usr/local/apache2.4/logs/123.com-access_log...img去掉,再去访问jpg图片,日志就会再次记录。...访问日志切割 日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除老的日志文件 把虚拟主机配置文件修改CustomLog如下: DocumentRoot...静态元素过期时间 浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了。304状态码表示不会再去服务器下载静态元素,如果有更改就会重新下载。
访问日志切割目录概要 日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除老的日志文件 把虚拟主机配置文件改成如下: DocumentRoot...img 重新加载配置文件 -t, graceful ls /usr/local/apache2.4/logs 访问日志切割 当日志一直往一个文件中写入,总会有一天把磁盘写满...-t Syntax OK [root@hf-01 ~]# /usr/local/apache2.4/bin/apachectl graceful [root@hf-01 ~]# 这时候还需要去做一些访问...access_log httpd.pid 111.com-error_log abc.com-error_log error_log [root@hf-01 ~]# 用curl命令访问...,会看到就是刚刚curl命令访问的 [root@hf-01 ~]# cat /usr/local/apache2.4/logs/123.com-access_20171222.log 127.0.0.1
Nginx访问日志目录概要 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format $remote_addr 客户端IP(公网IP) $http_x_forwarded_for...代理服务器的IP $time_local 服务器本地时间 $host 访问主机名(域名) $request_uri 访问的url地址 $status 状态码 $http_referer referer...1.log Nginx访问日志 日志的文件也是在主配置文件中 打开主配置文件vim /usr/local/nginx/conf/nginx.conf [root@hanfeng vhost]# vim...访问的url地址 $status 状态码 $http_referer referer(跳转页) $http_user_agent user_agent(标识) 若想自己的公网IP,可以直接百度IP,...就会出来自己上网的IP地址 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件去定义access_log /tmp/1.log combined_realip; 来定义访问日志路径
访问日志目录概要 访问日志记录用户的每一个请求 vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat LogFormat "%h %l %u %t...重新加载配置文件 -t,graceful curl -x127.0.0.1:80 -I 123.com tail /usr/local/apache2.4/logs/123.com-access_log 访问日志...访问日志,就是在浏览器中输入网址,每一次访问,每一次请求,都会生成一个日志 查看apache2.4的日志 [root@hf-01 ~]# ls /usr/local/apache2.4/logs/ 111...access_log httpd.pid 111.com-error_log abc.com-error_log error_log [root@hf-01 ~]# 查看111.com访问日志...日志里面的HEAD都是curl命令导致的 日志里面的GET就是不加 -I参数的,在加上-I只会输出状态码,并不会把内容GET下来 日志里面包含 来源的IP,时间 , 行为 ,访问的域名 , HTTP
只不过对于空白行不编号 -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 –show-nonprinting 2、more命令: 以百分比的形式查看日志...注意: 最后一条命令非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。
WEB日志格式 日志格式类型: 常见日志格式: 参考: ---- WEB日志格式 Custom Log Formats:普通日志格式 日志格式类型: 目前常见的WEB日志格式主要由两类 Apache的...NCSA日志格式,NCSA格式分为 NCSA普通日志格式(CLF) NCSA扩展日志格式(ECLF) IIS的W3C日志格式 目前最常用的是NCSA扩展日志格式(ECLF)及基于自定义类型的Apache...日志格式,而W3C扩展日志格式(ExLF)具备了更为丰富的输出信息,但目前的应用并不广泛,所以这里主要介绍的是NCSA扩展日志格式(ECLF)。...---- 常见日志格式: Common Log Format (CLF) "%h %l %u %t \"%r\" %>s %b" Common Log Format with Virtual Host...Referer}i -> %U" Agent (Browser) log format "%{User-agent}i" ---- 参考: Apache Module mod_log_config 日志格式规范
在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。...[$time_local]:访问的时间与时区,比如18/Jul/2012:17:00:01 +0800,时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。...$http_referer:记录从哪个页面链接访问过来的。...$http_user_agent:客户端浏览器信息 $http_x_forwarded_for:客户端的真实ip,通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add...var/run/nginx.pid kill -USR1 `cat /var/run/nginx.pid` 然后创建定时器 关于定时器详细的讲解在 https://www.linuxidc.com/Linux
前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击。...日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数),状态码 123.125.72.61 - - [05/Dec/2018:00:00:02 +0000...可以使用 awk 对日志内容格式化输出,根据空格格式化输出,第一列是ip,也就是'{print $1}',其它列依次类推 awk '{print $1,$4,$6,$7,$9}' log.txt [root...142.22.12.132 05/Dec/2018:00:00:02 POST /blog 200 142.22.12.132 05/Dec/2018:00:00:02 POST /blog 200 统计ip次数 统计IP访问次数排序前
笔记内容: 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 笔记日期:2017.10.10 11.22 访问日志不记录静态文件 ?...使用浏览器打开一个网站时,我们可以按F12打开控制台,在Network中可以看到许多在访问时下载的静态文件,这些对静态文件的请求都会记录到访问日志里面的: ?...因为静态的图片太多了,如果每一个请求全都要记录在访问日志里的话,就会导致访问日志一天下来可能得记录几个G甚至十几个G的内容,但是这种静态图片的请求是没必要去记录在访问日志里的,所以我们要让访问日志不记录指定类型的文件...11.23 访问日志切割 ? 日志都是需要进行自动切割的,因为无论什么日志日积月累地追加记录数据,都会导致文件大小越来越大直至占满整个磁盘,所以有必要让它自动切割,并删除旧的日志文件。...修改完后重新加载配配置文件,并使用curl命令访问这个主机: ? 然后查看日志目录就会发现生成了一个新的日志文件: ?
访问日志不记录静态文件: 配置文件:(红色img后缀的拷贝到服务器里面) DocumentRoot "/data/wwwroot/www.123.com"...wwwroot/www.123.com/images //创建目录,并在这目录下上传一个图片 curl -x127.0.0.1:80 -I 123.com/images/123.jpg = 访问端口... tail /usr/local/apache2.4/logs/123.com-access_log =查看日志 访问日志切割: 修改完配置文件后,需要重新访问下网址才能生动生成日志文件,以后每到...这时候的状态码是200,还有一项过期时间是86400秒Cache-Control:max-age=86400 然后再按f5刷新,这时候状态码就变304了,因为这个图片已下载了,在缓存里有了 用curl访问测试查看到的开始时间与结束时间刚好是...960 apache只记录指定URI的日志 http://ask.apelearn.com/question/981 apache日志记录客户端请求的域名 http://ask.apelearn.com
Web服务器的各种系统管理工作包括了多Nginx/Apache 日志的统计,python使这个任务变得极其简单,下面分享两个小脚本。...下面是在服务器的日志中统计这种现象的代码: #!...此脚本的代码能帮你从服务器日志中获取这种信息。 此脚本的代码利用循环,每次读取日志文件中的一行,这也是读取文件的常用方式。...二、检查Nginx的访问日志,统计基于每个独立IP地址的点击率 检查Nginx的日志文件,统计基于每个独立IP地址的点击率,代码如下: #!...182.118.25.232': 1, '182.118.25.231': 2, '182.118.20.186': 1, '174.129.228.67': 20} 此脚本返回的是一个字典,其中包含了访问
说明 nginx日志按天分片是运维的基本要求,不仅可以减小文件大小,方便检索关键数据,也可以定时删除过期的日志。可是nginx和tengine默认并不支持文件分片,因此需要额外处理。...另外,日志分片需要借助 ngx_http_log_module 模块,默认通过yum安装的nginx并不携带此模块,需要额外编译。...原理 日志分片的原理是利用命名管道。linux下一切皆文件,因此创建命名管道作为linux的访问日志,由第三方程序连接命名管道,获取数据后按时间进行分片。...下文采用cronolog实现日志分片。
领取专属 10元无门槛券
手把手带您无忧上云