如果你们觉得graylog只是负责日志收集的一个管理工具,那就too young too naive .日志收集只是graylog的最最基础的用法,graylog有很多实用的数据清洗和处理的进阶用法. 从这期开始我将陆续向大家介绍一些关于graylog的进阶用法,这次讲一下如何通过Geoip库莱获取nginx日志中来源IP的地理位置信息 获取来源IP的地理位置信息 (1)在导航栏System/Configurations -> Geo-Location Processor ,点击update按钮…
之前分享的 [日志分析]Graylog2采集Nginx日志 主动方式 这篇文章介绍了Graylog如何通过Graylog Collector Sidecar来采集nginx日志. 由于日志是未经处理的,所以类似$remote_addr $request_time $upstream_addr $upstream_response_time的字段并没有解析出来,而是都显示在默认的message中,很不利于我们今后的分析工作. 为了解决这个问题,就引入了graylog另一个非常强大的功能 Extra…
挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息 https://www.freebuf.com/vuls/202820.html 知识就是力量 5000刀的一个漏洞. 本文分享的writeup是与Facebook Marketplace销售系统相关的用户信息泄露漏洞,通过该漏洞可以获取到发布商品卖家的精确到经纬度和邮编等具体地理位置信息.漏洞上报一波三折,经历拒绝后再次被Facebook接收,最终Facebook给予的奖励为$5,000美金.以下是作者的漏洞发现分…
在Android应用程序中,可以使用LocationManager来获取移动设备所在的地理位置信息.看如下实例:新建android应用程序TestLocation. 1.activity_main.xml布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_he…
对于大多数互联网公司,基于日志分析的WEB入侵检测分析是不可或缺的. 那么今天我就给大家讲一讲如何用graylog的extractor来实现这一功能. 首先要找一些能够识别的带有攻击行为的关键字作为匹配的规则. 由于我不是专门搞安全的,所以在网上找了一些软waf的规则脚本. 剩下来的工作就可以交给Graylog的extractor实现了. 这次介绍一下extractor的Copy input用法. (1)waf规则脚本如下: \.\./ select.+(from|limit) (?:(unio…
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <appender name="STDOUT" class="…
PHP语言.浏览器.操作系统.IP.地理位置.ISP,本PHP类里面有以下几种方法,同时也是用法说明: <?php class class_guest_info{ function GetLang() { $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //使用substr()截取字符串,从 0 位开始,截取4个字符 if (preg_match('/zh-c/i',$Lang)) { //preg_match()正则表达式匹配函数…
这次聊一下Graylog如何主动采集Nginx日志,分成两部分: 介绍一下 Graylog Collector Sidecar 是什么 如何配置 Graylog Collector Sidecar 采集nginx日志 一.首先介绍一下Graylog Collector Sidecar Graylog Collector Sidecar 是一个轻量级的日志采集器,通过访问graylog进行集中式管理,支持linux和windows系统. Sidecar 守护进程会定期访问graylog的REST…
graylog可以通过两种方式采集nginx日志,一种是通过Graylog Collector Sidecar进行采集(主动方式),另外是通过修改nginx配置文件的方式进行收集(被动方式). 这次说一下修改nginx配置文件(被动方式). 被动方式的好处就是nginx将定义好的日志字段以json格式直接发送到graylog的自定义端口中,graylog通过json解析直接将字段提取出来. 优势在于不用配置复杂的正则进行日志字段的解析,极大减少graylog对于cpu的资源占用.如果使用正则解析…
之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解. 从日志收集这个角度,graylog提供了多样性和灵活性,大家可以根据自身场景选择适合自己的一种. 这次要跟大家聊的是如何通过graylog采集mysql慢日志.mysql慢日志的特点就是多行输出,不是那种一行就是一条日志的那种打印方式. 除了采集,我这边还要介绍一下如何通过graylog把慢日志相应的字段提取出来,方便我们进行分析,进而用grafana做成…
一.nginx日志结构 nginx中access.log 的日志结构: $remote_addr 客户端地址 211.28.65.253 $remote_user 客户端用户名称 -- $time_local 访问时间和时区 18/Jul/2012:17:00:01 +0800 $request 请求的URI和HTTP协议 "GET /article-10000.html HTTP/1.1" $http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.co…
nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 解决方案: 在 http 模块 加 set_real_ip_from 172.17.10.125;   #上一层代理IP地址 real_ip_header X-Forwarded-For;    real_ip_recursive on; 添加之后启动nginx报错: nginx: [emerg] unknown direct…
一.环境准备: ELK stack 环境一套 geolite数据库文件 二.下载geolite数据库(logstash机器上解压,logstash需调用): geolite官网:https://dev.maxmind.com [root@localhost local]# tar xf GeoLite2-City_20181211.tar.gz [root@localhost local]# ll GeoLite2-City_20181211 total 60604 -rw-r--r-- 1 e…
我们先看两个文件 /etc/ppp/ip-up /etc/ppp/ip-down 这两个文件为shell脚本,当PPTP用户连接或者断开时分别执行这两个文件,并且会带相应的参数 这些参数有 $PEERNAME //PPTP用户名 ${1} //网卡名称,例如ppp0 $4 //网关IP,例如192.168.2.1 $5 //用户静态IP,例如192.168.2.10 $6 //用户真实IP地址,118.13.24.189 $BYTES_SENT //发送的总流量 $BYTES_RCVD //接收…
获取访客操作系统以及浏览器语言 <?php function GetBrowser(){ if(!empty($_SERVER['HTTP_USER_AGENT'])){ $br = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/MSIE/i',$br)) { $br = 'MSIE'; }elseif (preg_match('/Firefox/i',$br)) { $br = 'Firefox'; }elseif (preg_match('/Ch…
有时我们需要知道收到的邮件是从哪台服务器发送过来的,或者想知道该邮件的报文头是怎样的.以下以网易邮箱为例介绍如果抓取这些信息. 首先我们需要知道网易邮箱的访问服务器(拉协议),由于SMTP是推的协议,所以用SMTP是不行的:一般拉的协议用POP3.IMAP和HTTP. 这里我们用POP3来试一下. 首先用telnet连接pop3.163.com端口为110 ~ telnet pop3..com Trying 220.181.12.110... Connected to pop3..idns.ye…
难易程度:★★★ 阅读点:linux;python;web安全;日志分析; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 linux下的日志分析对企业来说非常重要,对我们分析pv或者入侵事件溯源都有很大的价值,今天来简单谈一谈日志分析方向的利器splunk,splunk应该是站在日志分析应用的顶端了,应用广泛功能强大,本文只能简单说说其安装以及应用.p.s:本文环境是自己虚拟机搭建的,不是生产环境,仅仅做演示. 一.Nginx + uWSGI + Python + Dja…
(贴一篇之前工作期间整理的elk学习笔记) ELK官网 https://www.elastic.co   ELK日志分析系统 学习笔记 概念:ELK = elasticsearch + logstash + kibana 编程语言分别是 Java.JRuby.Ruby 概括的说,logstash 采集和结构化日志,输入elasticsearch创建索引,kibana查询elasticsearch这个搜索引擎 来完成数据的分析展示. ELK 介绍:https://yq.aliyun.com/art…
grok-patterns内置了很多基础变量的正则表达式的log解析规则,其中包括apache的log解析(同样可以用于nginx的log解析).   基于nginx日志分析配置: 1.配置nginx日志格式如下: log_format main '$remote_addr [$time_local]' ' "$request" $status $body_bytes_sent' ' "$http_referer"' ' "$request_time&qu…
Linux文件系统与日志分析一.inode与block概述① 文件数据包括元信息(类似文件属性)与实际数据② 文件存储在硬盘上,硬盘最小存储单位是"扇区"(sector),每个扇区存储512字节③ block(块)④ inode(索引节点)二.inode的内容① inode包含文件的元信息② 查看某个文件的inode信息③ Linux系统文件三个主要的时间属性④ 目录文件的结构⑤ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件⑥ Linux系统内部不使用文件名,而…
引言 在一些电商类或者引流类的网站中经常会有获取用户地理位置信息的需求,下面我分享一个用纯真IP库获取用户地理位置信息的方案. 正文 第一步:本文的方案是基于纯真IP库的,所以首先要去下载最新的纯真IP数据库:名称一般是QQWry.Dat   第二步:通过Http请求拿到访问者的IP /// <summary> /// 静态构造 设置IP位置 /// </summary> static IPAgent() { if (HttpContext.Current != null) fil…
import javax.servlet.http.HttpServletRequest; /** * 自定义访问对象工具类 * * 获取对象的IP地址等信息 * @author X-rapido * */ public class CusAccessObjectUtil { /** * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, * * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并…
微信小程序中,我们可以通过调用wx.getLocation()获取到设备当前的地理位置信息,这个信息是当前位置的经纬度.如果我们想获取当前位置是处于哪个国家,哪个城市等信息,该如何实现呢? 微信小程序中并没有提供这样的API,但是没关系,有wx.getLocation()得到的经纬度作为基础就够了,其他的,我们可以使用其他第三方地图服务可以来实现,比如腾讯地图或百度地图的API. 以腾讯地图为例,我们可以去腾讯地图开放平台注册一个账号,然后在它的管理后台创建一个密钥(key). 然后在顶部菜单里…
Java代码 import javax.servlet.http.HttpServletRequest; /** * 获取对象的IP地址等信息 */ public class IPUtil { /** * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢? * 答案是取X-For…
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维的原因吧,废话不多说,直接上脚本. 实现功能: 1.分析访问排名前N的ip地址 2.分析访问排名前N的url 3.分析访问排名前N的目标url 4.分析访问排名前N的终端类型 5.自动匹配排名前N的ip的归属地 注意:日志文件和分析脚本放在一个目录即可:日志文件输入绝对路径. 二.脚本 log_an…
Nginx 日志分析及性能排查 2017-03-04 Linux爱好者 (点击上方公众号,可快速关注) 作者:-外星人- my.oschina.net/362228416/blog/844713 如有好文章投稿,请点击 → 这里了解详情 最近一直在做性能排查,思路就是根据分析Nginx日志,得到响应耗时的url.以及请求时间,再得到这段时间的请求量,并发量,分析是并发的原因,还是本身就比较慢,如果是应用本身的原因,只需要找到对应的代码,然后进行优化就好了 我找到的几个原因,基本就是后端sql运行…
1. 前言 先上一张整体的效果图: 上面这张图就是通过 ELK 分析 nginx 日志所得到的数据,通过 kibana 的功能展示出来的效果图.是不是这样对日志做了解析,想要知道的数据一目了然.接下来就是实现过程实录. 2. 实现过程 通过上一篇:ELK 部署文档 已经对 ELK + filebeat 获取 nginx 做了详细的配置介绍,这里重点就不在安装 ELK 上面了. 下面这边的内容,主要是针对 logstash 配置文件的编写和 kibana web界面的配置. 主机信息在申明下,和上…
nginx日志默认不会记录post数据 在nginx配置文件的http节 log_format 日志格式标识 [escape=json] 日志格式 比如:日志格式标识设置为main,添加escape=json以便中文正确显示(注意,escape=json 需要 nginx 1.11.8 以上版本才支持),记录post和cookie的请求的相信信息 log_format main escape=json '$remote_addr [$time_local] "$request" $st…
ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析:redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据.然后…
前一阵子,搭建了ELK日志分析平台,用着挺爽的,再也不用给开发拉各种日志,节省了很多时间. 这篇博文是介绍用python代码实现日志分析的,用MRJob实现hadoop上的mapreduce,可以直接放到hadoop集群上运行. mrjob可以让我们使用Python编写MapReduce运算,并在多个不同平台运行,你可以: 使用纯python编写multi-step MapReduce 本机测试 在hadoop集群上运行 安装mrjob pip install mrjob nginx访问日志格式…