作为系统管理员,您需要密切关注访问您网站的 IP 地址。服务器日志是此类信息的有用来源。它们包含您的服务器收到的每个请求的 IP 地址、日期时间、请求类型、URL、服务器响应等。在本文中,我们将了解如何从 Apache 和 NGINX 服务器的日志文件中提取 IP 地址。

如何从日志文件中提取 IP 地址

Apache 服务器文件的默认位置是

/var/log/http/access_log      [For RedHat based systems]
/var/log/apache2/access.log   [For Debian based systems]
/var/log/http-access.log      [For FreeBSD]

NGINX 日志文件的默认位置是

/var/log/nginx/access_log   [For RedHat based systems]
/var/log/nginx/access.log   [For Debian based systems]
/var/log/http-access.log    [For FreeBSD]

我们将研究不同的用例来提取 IP 地址。在以下每个命令中,将日志文件路径替换为您的服务器的路径。

如何为每个请求获取 IP

您可以通过以下命令轻松使用 awk 命令打印每个请求的 IP 地址。

$ awk '{ print $1 }' /var/log/http/access_log

日志文件的第一列包含 IP 地址。所以我们告诉 awk 为我们简单地打印第一列。

如何获得唯一 IP

上面的命令将列出每个包含重复值的请求的 IP 地址。您可以将此输出传递给 uniq 命令,以获取访问您网站的唯一 IP 地址列表。

$ awk '{ print $1 }' /var/log/http/access_log | uniq

如何获取特定的 IP 地址

如果您要在日志文件中查找特定 IP 地址(例如 192.34.45.46),请改用 grep 命令,如图所示。

$ sudo grep "192.34.45.46" /var/log/http/access_log

如何获取最常用的 IP 地址

如果您需要查找访问您网站的前 10 个最频繁的 IP 地址,请使用以下 awk 命令。它基本上将所有 IP 地址的列表传递给 sort & uniq,他们计算每个 IP 的点击量,并按点击量的降序对它们进行排序。

$ sudo awk '{ print $1}' /var/log/http/access_log | sort | uniq -c | sort -nr | head -n 10

如果您想定期运行这些命令,建议为它创建一个 shell 脚本。使用以下命令创建一个空白 shell 脚本。

$ sudo vi /home/extract_ip.sh

将以下行添加到它。

#!/bin/shecho "Unique IP Addresses accessing your site"
sudo awk '{ print $1 }' /var/log/http/access_log | uniqecho "10 Most Frequent IP addresses accessing your site"
sudo awk '{ print $1}' /var/log/http/access_log | sort | uniq -c | sort -nr | head -n 10

保存并关闭文件。

使 Shell 脚本可执行。

$ sudo chmod +x extract_ip.sh

使用以下命令运行 shell 脚本,如下所示。

$ sudo /home/extract_ip.sh

您还可以创建 cronjob 以定期运行上述脚本。使用以下命令打开 crontab。

$ sudo crontab -e

添加以下行以在每天上午 10 点运行上述 shell 脚本并将输出发送到 /home/ip_log.txt

0 10 * * * sudo /home/extract_ip.sh >>/home/log.txt 2>&1

保存并关闭文件。

因此,您只需打开 /home/log.txt 文件即可轻松访问所有这些信息

$ sudo cat /home/log.txt

在本文中,我们学习了几种从 Apache 和 NGINX 服务器的日志文件中提取 IP 地址的方法。我们还将这些命令保存到一个 shell 脚本中,并创建了一个 cronjob 来每天自动运行这个脚本。您可以根据您的要求自定义它们。

如何从 Apache 和 NGINX 服务器的日志文件中提取 IP 地址相关推荐

  1. 运用awk提取日志文件中的IP地址

    在我们的日常工作中,可能会遇到各种不同的问题,有来自内部,有的来自外部. 以Nginx服务为例,服务上线之后可能会遭受非法的流量攻击,我们在配置Nginx服务时可以通过Nginx.conf配置文件中的 ...

  2. python读取日志统计ip_使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  3. klg日志文件中提取RGBD图像数据

    main函数 本程序用于从klg日志文件中提取RGB图像和Depth图像信息,klg文件在ElasticFusion中被用于保存数据集. 涉及的相关开源代码如下: LogView mp3guy/Log ...

  4. nginx服务器查看日志文件,nginx服务器中access_log日志分析与配置详解

    前言 nginx的log日志分为:access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务 ...

  5. windows服务器网站日志,windows服务器网站日志文件

    windows服务器网站日志文件 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  6. 服务器怎么清除日志文件,如何清理服务器数据库日志文件

    如何清理服务器数据库日志文件 内容精选 换一换 在本容灾方案中,线下的生产数据中心有两台MySQL,需要配置为主备关系,以确保线下仅MySQL故障时,可直接在线下切换到备节点,因此,需要先配置业务端内 ...

  7. 缓存nginx服务器的静态文件

    ------26--张立-- 目的: 缓存nginx服务器的静态文件.如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新.便于缓存以减轻服务器的压力. 实 ...

  8. 服务器如何关闭登录日志文件,linux云服务器登录日志文件

    linux云服务器登录日志文件 内容精选 换一换 Cloud-Init工具安装完成后,请参考本节操作配置Cloud-Init工具.已安装Cloud-Init工具.已为云服务器绑定弹性公网IP.已登录云 ...

  9. 数据库服务器备份日志文件,数据库服务器备份日志文件

    数据库服务器备份日志文件 内容精选 换一换 使用自定义脚本实现数据库备份完成后,可以通过如下操作验证数据库备份结果是否成功.本章节以SQL_SERVER数据库为例进行验证. 业界对备份一致性的定义包括 ...

最新文章

  1. C++ Stack Queue priority_queue
  2. python之路6-迭代器、生成器、装饰器
  3. Python中的元类(metaclass)
  4. Spring动态注入泛型集合Bean
  5. 小波说雨燕 第三季 构建 swift UI 之 度假清单 学习笔记
  6. :传递给 left 或 substring 函数的长度参数无效。_Excel中LEFT函数和RIGHT函数的用法。...
  7. 从零基础入门Tensorflow2.0 ----四、14. tf.io.decode_csv的使用
  8. talib python文档_talib 中文文档
  9. 代码审计工具-Fortify详细介绍和使用
  10. 中国钢铁行业十四五形势展望与发展战略研究报告2022版
  11. Lightbox JS(图片显示控件)
  12. 网站CNZZ数据统计的实现方式
  13. Godaddy域名与腾讯云服务器ip绑定,使用域名访问
  14. 第一章:计算机的软硬件基本结构_3
  15. 【数据机构】最短路径之Dijkstra算法(迪克斯特拉算法)
  16. 世界药王再遭“无间道”,药企如何保护自己的数据
  17. 穷人思维和富人思维,决定你一生的财富
  18. 自动化面试问题及答案_普遍的基本收入是自动化的答案
  19. Python 第三方包的使用指南
  20. MVPArch - Android MVP 快速开发框架

热门文章

  1. mac查找jdk安装位置
  2. 网络基础知识(CCNA)
  3. Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统介绍
  4. WLAN的基础知识和AC与AP上线实验
  5. 蓝眼睛和红眼睛的数学问题_在设计眼睛数学时
  6. 2012.12.21
  7. [附源码]JSP+ssm计算机毕业设计高校干部任期考核系统kd364【源码、数据库、LW、部署】
  8. 中国饮食酒吧行业市场供需与战略研究报告
  9. docker容器内部署prometheus
  10. 第三章 需求挖掘与分析,电子商务与大数据