首页 > 其他分享 >通过网站日志做网络爬虫和恶意访问分析

通过网站日志做网络爬虫和恶意访问分析

时间:2023-05-17 14:47:40浏览次数:32  
标签:sort www 20 IP 爬虫 恶意 访问 地址 日志

普通爬虫

  • 分别查看有爬虫标志的访问次数和合计的总页面访问次数
cat www.access.log | grep spider -c
cat www.access.log | wc
  • 查看爬虫来ip地址来源
cat www.access.log | grep spider | awk '{print $1}' | sort -n | uniq -c | sort -nr
  • 在防火墙上对其地址做限制
    /etc/sysconfig/iptables 中添加规则
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 124.115.0.1/24 -j REJECT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -s 124.115.4.1/24 -j REJECT

service iptables restart 使限制生效

恶意爬虫与访问

一般可以对网站访问日志做分析,通过分析单位时间里面某个ip访问服务器的次数等信息来找出爬虫的来源地址和恶意访问的来源地址

  • 初步筛选
    列出在一分钟内访问网站次数最多的前20位ip地址
cat www.access.log | awk '{print $1 " " substr($4,14,5)}' | sort -n | uniq -c | sort -nr | head -20

这是一个 Linux 命令行脚本,用于统计 Apache 访问日志中最频繁的前 20 个 IP 地址和时间。解释如下:
cat www.access.log:读取 Apache 访问日志文件。
awk '{print $1 " " substr($4,14,5)}':使用 awk 对读取的信息进行处理,提取出访问者的 IP 地址和访问时间。其中,$1 表示文件中每一行的第一个字段(即 IP 地址),$4 表示每一行的第四个字段(即时间戳),substr($4,14,5) 表示截取时间戳的第 14 个字符开始的 5 个字符,即小时:分钟。将提取出来的 IP 地址和时间以空格符号分隔开。
sort -n:对处理后得到的结果按照IP地址进行排序。
uniq -c:对排好序的结果进行去重和统计,并输出对应 IP 地址出现的次数。
sort -nr:对上一步中统计出来的结果按照出现次数进行逆序排序。
head -20:只输出排序后的前 20 个结果,即出现次数最多的前 20 个 IP 地址及其访问时间。
综上,这段命令用于统计 Apache 访问日志中的访问量数据,并显示出访问量排名前 20 的 IP 地址和时间。

  • 单个IP访问时间段
    查看一天中某个ip地址对网站服务器的访问时间分段情况。
cat www.access.log | grep 60.190 .128 .6 | awk '{print $1 " " substr($4,14,5)}' | sort -n | uniq -c | sort -nr | head -20
  • 单个IP访问详情
    对这些命令中表现出的数量比较突出的一些ip地址,一般来说就是有问题的ip了,在配合
cat www.access.log | grep ip地址

可以看看这些高强度的地址访问都在干些什么。是不是正常访问,如果不是就要考虑是否要做限制了。

标签:sort,www,20,IP,爬虫,恶意,访问,地址,日志
From: https://www.cnblogs.com/xiaobingch/p/17408662.html

相关文章

  • nginx 日志配置
    示例log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded......
  • 日志文件管理
    目录1.分类2.内核日志消息优先级别3.设施facility4.保存位置5.日志内容格式6.日志文件保留时间7.内核及系统日志统一管理工具8.自定义服务的日志文件位置9.集中管理日志记录系统、程序运行中发生的各种事件阅读日志,有助于诊断和解决系统故障1.分类内核及系统日志......
  • selenium爬虫被检测到如何破?
    Selenium爬虫在爬取数据时可能会被网站检测到,这是因为Selenium模拟了浏览器行为,而相对于真实用户的浏览器,Selenium模拟无法识别JavaScript代码和CSS文件。此外,网站也可能通过检测请求头、IP地址、Cookie等信息来判断是否是爬虫。以下是一些可能导致Selenium爬虫被检测到的原因:1......
  • 程序员怎么学爬虫JS逆向
    爬虫JS逆向(也称为前端逆向、JS破解等)是指通过分析JavaScript代码,破解前端加密算法或构造相应的模拟请求,从而有效地模拟人类用户完整的操作行为实现数据爬取。  以下是一些常见的爬虫JS逆向技术:1、自动识别Javascript解码器如果前端使用了Javascript编码来隐藏有价值的数据......
  • 记一次数据误删操作通过闪回以及日志挖掘恢复
    由于开发人员不小心删除业务表然后想通过我来恢复数据,我第一时间发现由于undo_retention参数只保留15分钟,通过闪回这种方法并不能恢复数据,然后通过日志挖掘来截取该时间段数据,然后通过创建记录表来保存到记录表里方便查询。通过记录表里的数据来恢复数据。以下命令是一些操作的命......
  • 爬虫爬取在线小说阅读网站详解
    前言环境:python安装、requests安装、BeautifulSoup安装爬取目标:笔趣看网站的《校花之贴身高手》,以下是第一章链接https://www.biqukan.com/11_11499/4260511.html开始爬取1.打开链接,打开检查窗口通过审查Elements,能定位到小说的文本内容在<divid="content"class="showtxt">......
  • 爬虫之IP代理
        在爬虫,爬数据的时候,很容易出现IP锁定,403,验证码等情况,一般出现此类情况的时候,就会用IP代理,来实现,大量的频繁更换IP来实现数据的频繁爬取和并发爬取。   现在的方式是增加一个这个的一个服务,一直跑几个免费的IP平台,大致也是这个流程以上图片来源于网络.其中代理的......
  • Android Studio学习日志二,Toast用法
    首先,创建一个util,在ToastUtil里面调用方法在里面编写Toast类的代码,方便以后调用packagecom.example.appdemo.util;importandroid.content.Context;importandroid.widget.Toast;publicclassToastUtil{publicstaticToastmToast;publicstaticvoidsh......
  • Android Studio学习日志一,直接跳转和密码正确跳转
    记录一下我跟着手把手教你用AndroidStudio写一个APP_UP主Superior-Leo进行app开发小项目UP主的笔记首先,在资源文件创建一个文件夹,用来放APP背景图片,按钮图片一、直接跳转第一步、声明控件第二步,找到控件第三步骤,实现跳转代码packagecom.example.appdemo;importa......
  • MySQL日志及分类
    日志是数据库的重要组成部分,主要用来记录数据库的运行情况、日常操作和错误信息。在MySQL中,日志可以分为二进制日志、错误日志、通用查询日志和慢查询日志。对于MySQL的管理工作而言,这些日志文件是不可缺少的。分析这些日志,可以帮助我们了解MySQL数据库的运行情况、日常操......