当前位置: 首页 > news >正文

linux查看ip访问日志文件,Nginx 日志文件 访问IP统计

Nginx访问日志文件内容如下:

10.9.40.134 - - [01/Aug/2016:06:29:42 +0800] "POST / HTTP/1.1" 302 0 "-" "python-requests/2.4.3 CPython/2.7.9 Linux/3.16.0-4-amd64"

10.9.40.134 - - [01/Aug/2016:06:29:42 +0800] "GET /monitor.html?id=d00 HTTP/1.1" 200 8472 "-" "python-requests/2.4.3 CPython/2.7.9 Linux/3.16.0-4-amd64"

1

2

参考

如何通过命令行统计和排列访问日志里的ip数

Python

解决方案

awk sort

$1表示以空格为分割符的第一个匹配项,也就是文件中的ip地址。使用sort对结果排序,uniq -c进行技术,最后sort -n是以“数字”来排序,针对统计后的访问次数来排序

awk '{print $1}' access.log.1 |sort|uniq -c|sort -n

1

awk for

默认变量为0,对每一行的$1作为key,cnt数组++,实现ip的计数。计数结束后END。然后把结果打印出来,最后sort -n以“数字”排序。

awk '{cnt[$1]++;}END{for(i in cnt){printf("%s\t%s\n", cnt[i], i);}}' access.log.1|sort -n

1

Python

使用re匹配ip地址的正则表达式,同样用字典来存储ip出现的次数。

import re

mydict = {}

with open('/var/log/nginx/access.log.1') as f:

for line in f:

match = re.match(r'([0-9]{1,3}.){3}[0-9]{1,3}', line)

if match:

ip = match.group()

if ip in mydict.keys():

mydict[ip] += 1

else:

mydict[ip] = 1

print mydict

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JAVA内存泄漏问题
  • Linux tcpip命令,TCP IP协议Linux系统下地址查询命令
  • 揭秘网络规则——是什么限制了你的网速
  • linux权限641,linux之权限管理_1
  • 电脑维修指导手册(联想)
  • kali linux 虚拟机iso 下载,Kali Linux 2016.2发布提供虚拟机以及系统镜像下载
  • linux宝塔打开目录慢,Linux系统宝塔面板系统盘爆满解决方案 _ 厦门SEO
  • 微软发布SQL Server 2008测试版 明年上市
  • mysql linux udf提权,mysql udf提权原理和提权案例分析 udf提权木马下载
  • 与西安协同销售总监赵建春先生避风塘聊天记
  • Linux网络虚拟化之macvlan,linux 网络虚拟化: macvlan
  • OpenSER安装配置指南
  • linux下spark开发环境,Ubuntu下Spark开发环境搭建
  • linux arduino 串口,树莓派与arduino串口通信实践
  • 未定义partnerLinkType问题的解决方案
  • @jsonView过滤属性
  • Docker入门(二) - Dockerfile
  • javascript 总结(常用工具类的封装)
  • Joomla 2.x, 3.x useful code cheatsheet
  • Nacos系列:Nacos的Java SDK使用
  • Ruby 2.x 源代码分析:扩展 概述
  • TypeScript迭代器
  • XForms - 更强大的Form
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 设计模式走一遍---观察者模式
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 以太坊客户端Geth命令参数详解
  • 怎么把视频里的音乐提取出来
  • 数据库巡检项
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (152)时序收敛--->(02)时序收敛二
  • (初研) Sentence-embedding fine-tune notebook
  • (二)JAVA使用POI操作excel
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (十六)串口UART
  • (十三)Flask之特殊装饰器详解
  • (未解决)macOS matplotlib 中文是方框
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • . NET自动找可写目录
  • .describe() python_Python-Win32com-Excel
  • .Net CF下精确的计时器
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET Standard 的管理策略
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .NET成年了,然后呢?
  • .Net中的设计模式——Factory Method模式
  • @Async 异步注解使用
  • @Async注解的坑,小心