< 自用文儿 > 下载 MaxMind GeoIP Databases 对攻击的 IP 做 地理分析

起因

两个 VPM/VPS,安装了 fail2ban 去拦截密码穷举攻击。每天的记录都在增长,以前复制屏幕输出就行,一屏的内容还容易粘贴出来的。昨天已经过 500 条,好奇 fail2ban 是如何存储这些内容的?就发现它在使用 SQLite3 数据库,有数据库就方便多了。

IP 地理分析实践

1. 从哪里下载? 地理位置 IP 数据

我用这个链接: https://www.maxmind.com/en/accounts/1121608/geoip/downloads

介绍:

每个连接到互联网的设备都会被分配一个独一无二的 IP 地址,Geo IP 数据库通过收集这些而成,建立起 IP 地址与地理位置之间的对应关系。

Geo IP 数据的应用:

  • 根据用户的地理位置,实现本地化内容。
  • 分析用户的 IP 地址位置,可以识别出欺骗行为。
  • 根据用户的地理位置,精准广告投放。像百度、美团这些大公司,它们都在干这个,特擅长。
  • 分析用户地理位置,可以推算出地域特征,可做为市场调研的数据,向政府、商业提供决策提数据支持。
  • 识别标注出恶意 IP 地址,可以采取相应的安全措施。比如 fail2ban 
  • 中华的伟大防火墙也使用 IP 来过滤
  • 应用有很多,不编了。

免费的地理IP数据库

对个人使用而言,国外有几家公司或机构提供 Lite 版的数据库下载。

  • MaxMind GeoLite2
  • P2Location LITE
  • DB-IP Lite

有的需要注册,才能下载使用。我找时, MaxMind 在第一个,顺利注册并下载,就没再看其它的。

2. Fail2Ban

应用介绍 :

1)fail2ban 数据库

安装并配置后,数据库文件在: /var/lib/fail2ban/fail2ban.sqlite3

如果在 Ubuntu 中使用数据库,需要安装 sqlite3

apt update
apt install sqlite3

打开 fail2ban 数据库:

sqlite3 /var/lib/fail2ban/fail2ban.sqlite3

数据库的中结构查看:

a. 哪些表:
sqlite> SELECT name FROM sqlite_master WHERE type='table';
fail2banDb
jails
logs
bans
bips
sqlite> 
b. 各个表的,记录个数:
SELECT 'jails' AS table_name, COUNT(*) AS row_count FROM jails
UNION ALL
SELECT 'logs' AS table_name, COUNT(*) AS row_count FROM logs
UNION ALL
SELECT 'bans' AS table_name, COUNT(*) AS row_count FROM bans
UNION ALL
SELECT 'bips' AS table_name, COUNT(*) AS row_count FROM bips;
结果:
jails|3
logs|5
bans|80
bips|592
c. 看来 f2bstate 输出用的 bips 表

我最早用的 bans 表内容,在 DashBoard 中显示。

2)MM GeoLite2 数据库

注册后就可以到下载界面:

分类:

三种精度: ASN ,City,Counrty

数据调用方式: APIs ,数据库,CSV
 

我用的版本是 GeoLite2-City_20250131 ,数据库不大,文件不到 56MB。中国区的数据是含糊的,你知道的原因,只有国家名。

使用:

GeoLite2-City.mmdb 可以在 Pyhone 用 geoip2 

pip install geoip2

例,打开数据库:

reader = geoip2.database.Reader('GeoLite2-City.mmdb')

具体看:

Geolocate an IP address using Databases | MaxMind Developer Portal

或者问 AI 

3. 应用 Dashboard 

工作原理:

从服务器上用 scp 下载 fail2ban 数据库,用 sqlite 找出 fail2ban.bips 表中的 ip 列内容,在 GeIP 数据库中找到对应的地理位置,分析并统计,最后显示在页面上。

附带功能是,显示安装 fail2ban 后的记录天数 “ Uptime (Days)”,因为要统计 2 台主机,设计在主页右上角有2个按键来切换主机。

如下:

很好奇:伊朗排第五

AI 时代,还用密码攻击?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/964250.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过IP地址查看终端具体位置

最近关于deepseek的热度不断,无论是deepseek的优秀性价比和能力,以及deepseek遭受到海外攻击然后国内反击的AI上甘岭,随之而来的是铺天盖地的营销号,要擦亮自己的眼睛,要勇于质疑和证实网络言论的真实性。 其中一点&am…

【Linux探索学习】第二十八弹——信号(下):信号在内核中的处理及信号捕捉详解

Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在前面我们已经学习了有关信号的一些基本的知识点,包括:信号的概念、信号产生和信号处理等,今天我们重…

【Redis】主从模式,哨兵,集群

主从复制 单点问题: 在分布式系统中,如果某个服务器程序,只有一个节点(也就是一个物理服务器)来部署这个服务器程序的话,那么可能会出现以下问题: 1.可用性问题:如果这个机器挂了…

1.PPT:天河二号介绍【12】

目录 NO1 NO2.3.4.5 NO6.7.8.9​ NO1 PPT:新建一个空白演示文档→保存到考生文件夹下:天河二号超级计算机.pptx幻灯片必须选择一种设计主题:设计→主题(随便选中一种)幻灯片的版式:开始→版式&#x…

基于python的体育新闻数据可视化及分析

项目 :北京冬奥会体育新闻数据可视化及分析 摘 要 随着社会的不断进步与发展,新时代下的网络媒体获取的信息也更加庞大和繁杂,相比于传统信息来源更加难以分析和辨别,造成了新时代媒体从业者撰写新闻的难度。在此背景下&#xff…

WPS计算机二级•幻灯片的配色、美化与动画

听说这是目录哦 配色基础颜色语言❤️使用配色方案🩷更改PPT的颜色🧡PPT动画添加的原则💛PPT绘图工具💚自定义设置动画💙使用动画刷复制动画效果🩵制作文字打字机效果💜能量站😚 配色…

数据结构实战之线性表(三)

目录 1.顺序表释放 2.顺序表增加空间 3.合并顺序表 4.线性表之链表实现 1.项目结构以及初始代码 2.初始化链表(不带头结点) 3.链表尾部插入数据并显示 4.链表头部插入数据 5.初始化链表(带头结点) 6.带头结点的链表头部插入数据并显示 7.带头结…

SwiftUI 在 Xcode 预览修改视图 FetchedResults 对象的属性时为什么会崩溃?

概览 从 SwiftUI 诞生那天起,让秃头码农们又爱又恨的 Xcode 预览就在界面调试中扮演了及其重要的角色。不过,就是这位撸码中的绝对主角却尝尝在关键时刻“掉链子”。 比如当修改 SwiftUI 视图中 FetchedResults 对象的属性时,Xcode 预览可能…

【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)

本文目录 一、Kitex概述二、第一个Kitex应用三、IDL四、服务注册与发现 一、Kitex概述 长话短说,就是字节跳动内部的 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点,在字节内部已广泛使用。 如果对微服务性能有要求,又希望…

51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时;while循环;unsigned char 可以表示的数字是0~255)

本篇介绍编程实现LED灯闪烁,需要学到一些新的C语言知识。由于单片机执行的速度是非常快的,如果不进行延时的话,人眼是无法识别(停留时间要大于20ms)出LED灯是否在闪烁所以需要学习如何实现软件延时。另外IO口与一个字节位的数据对应关系。 文…

JVM的GC详解

获取GC日志方式大抵有两种 第一种就是设定JVM参数在程序启动时查看,具体的命令参数为: -XX:PrintGCDetails # 打印GC日志 -XX:PrintGCTimeStamps # 打印每一次触发GC时发生的时间第二种则是在服务器上监控:使用jstat查看,如下所示,命令格式为jstat -gc…

基于python去除知乎图片水印

基于python去除知乎图片水印 背景:看到知乎技术文章里面的图片非常好,但是下载下来都是带有水印的,并不是不尊重别人的版权和劳动成果,纯粹的是洁癖,总感觉水印打上去很难受~~~ 实在想去掉水印,但是又不会P…

Android学习20 -- 手搓App2(Gradle)

1 前言 昨天写了一个完全手搓的:Android学习19 -- 手搓App-CSDN博客 后面谷歌说不要用aapt,d8这些来搞。其实不想弄Gradle的,不过想着既然开始了,就多看一些。之前写过一篇Gradle,不过是最简单的编译,不涉…

【愚公系列】《循序渐进Vue.js 3.x前端开发实践》051-案例:教务系统学生列表页面

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…

毕业设计:基于深度学习的高压线周边障碍物自动识别与监测系统

目录 前言 课题背景和意义 实现技术思路 一、算法理论基础 1.1 卷积神经网络 1.2 目标检测算法 1.3 注意力机制 二、 数据集 2.1 数据采集 2.2 数据标注 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 3.2 结果分析 最后 前言 📅大四是整个大学…

2025.2.1——八、Web_php_wrong_nginx_config

题目来源:攻防世界 Web_php_wrong_nginx_config 目录 一、打开靶机,整理信息 二、解题思路 step 1:找找解题入口 step 2:抓包修改信息,得到配置文件 step 3:找到突破口,进行文件遍历 st…

Netty中用了哪些设计模式?

大家好,我是锋哥。今天分享关于【Netty中用了哪些设计模式?】面试题。希望对大家有帮助; Netty中用了哪些设计模式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty 是一个基于 Java 的高性能网络应用框架&#…

【办公类-99-01】20250201学具PDF打印会缩小一圈——解决办法:换一个PDF阅读器

背景需求: 2024年1月13日,快要放寒假了,组长拿着我们班的打印好的一叠教案来调整。 “前面周计划下面的家园共育有调整,你自己看批注。” “还有你这个教案部分的模版有问题,太小(窄)了。考虑…

【BUUCTF杂项题】FLAG

一.FLAG 一张图片扔进随波逐流 发现RGB似乎隐藏压缩包 优先考虑RBG中的LSB隐写,用Stegsolve打开文件 1.查看每个颜色通道下的图片,未发现异常 2.LSB最低位提取,用Stegsolve的Data Extrace功能,确实存在一个压缩包,sa…

ros 创建Node

1、使用catkin_create_pkg创建一个软件包 catkin_create_pkg ssr_pkg roscpp rospy std_msgs 2、在软件包的src文件夹下创建一个节点的cpp源码文件 3、在CMakeLists.txt中设置节点源码的编译规则 4.编译运行 编译:shiftctrlB 运行: rosrun ssr_pkg …